feat(foundry): close the operational map data loop
This commit is contained in:
@@ -115,6 +115,30 @@ test("one setup command provisions independent Foundry and Ontology MCP transpor
|
||||
assert.equal(foundryListResponse.status, 200);
|
||||
const foundryList = await json(foundryListResponse);
|
||||
assert.ok(foundryList.result.tools.some((tool) => tool.name === "foundry_create_application"));
|
||||
const removePinTool = foundryList.result.tools.find((tool) => tool.name === "foundry_remove_map_pin_binding");
|
||||
assert.deepEqual(removePinTool.inputSchema.required, ["applicationId", "pageId", "bindingId", "idempotencyKey"]);
|
||||
assert.equal(removePinTool.inputSchema.additionalProperties, false);
|
||||
const presentationTool = foundryList.result.tools.find((tool) => tool.name === "foundry_upsert_map_presentation_profile");
|
||||
assert.equal(presentationTool.inputSchema.properties.profile.additionalProperties, false);
|
||||
assert.ok(presentationTool.inputSchema.properties.profile.required.includes("facets"));
|
||||
assert.ok(presentationTool.inputSchema.properties.profile.required.includes("target"));
|
||||
assert.equal(Object.hasOwn(presentationTool.inputSchema.properties.profile.properties, "pin"), false);
|
||||
assert.equal(presentationTool.inputSchema.properties.profile.properties.label.properties.sizePx.minimum, 8);
|
||||
assert.equal(Object.hasOwn(presentationTool.inputSchema.properties.profile.properties.label.properties, "fontSizePx"), false);
|
||||
assert.deepEqual(presentationTool.inputSchema.properties.profile.properties.label.properties.mode.enum, ["subject_id", "attributes", "none"]);
|
||||
const mapSettingsTool = foundryList.result.tools.find((tool) => tool.name === "foundry_update_map_page_settings");
|
||||
assert.ok(mapSettingsTool);
|
||||
assert.equal(mapSettingsTool.inputSchema.properties.settings.additionalProperties, false);
|
||||
assert.equal(Object.hasOwn(mapSettingsTool.inputSchema.properties.settings.properties, "providerUrl"), false);
|
||||
const mapViewStateTool = foundryList.result.tools.find((tool) => tool.name === "foundry_save_map_page_view_state");
|
||||
assert.ok(mapViewStateTool);
|
||||
const subjectStateSchema = mapViewStateTool.inputSchema.properties.viewState.properties.subjectStates.items;
|
||||
assert.deepEqual(subjectStateSchema.required, ["bindingId", "visible", "filters", "window"]);
|
||||
assert.equal(subjectStateSchema.properties.filters.additionalProperties.items.type, "string");
|
||||
assert.equal(subjectStateSchema.properties.window.properties.rect.additionalProperties, false);
|
||||
const bindingTool = foundryList.result.tools.find((tool) => tool.name === "foundry_upsert_map_data_product_binding");
|
||||
assert.equal(bindingTool.inputSchema.properties.binding.properties.displayName.maxLength, 120);
|
||||
assert.equal(bindingTool.inputSchema.properties.binding.properties.order.maximum, 10000);
|
||||
|
||||
const crossTokenResponse = await fetch(redeemed.ontology.mcpUrl, {
|
||||
method: "POST",
|
||||
|
||||
Reference in New Issue
Block a user