UNPKG

@itwin/insights-client

Version:

Insights client for the iTwin platform

128 lines 6.31 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); /*--------------------------------------------------------------------------------------------- * Copyright (c) Bentley Systems, Incorporated. All rights reserved. * See LICENSE.md in the project root for license terms and full copyright notice. *--------------------------------------------------------------------------------------------*/ const chaiAsPromised = require("chai-as-promised"); const chai_1 = require("chai"); require("reflect-metadata"); const GlobalSetup_1 = require("../utils/GlobalSetup"); (0, chai_1.use)(chaiAsPromised); describe("EC3ConfigurationsClient (extraction schema)", () => { const configurationIds = []; let mappingId; let label; before(async () => { const mappingCreate = { iModelId: GlobalSetup_1.testIModel.id, mappingName: "foo", }; const mapping = await GlobalSetup_1.mappingsClient.createMapping(GlobalSetup_1.accessToken, mappingCreate); mappingId = mapping.id; const material = { nameColumn: "materialName", }; label = { name: "name", mappingId: mapping.id, groupName: "bar", elementNameColumn: "elementName", elementQuantityColumn: "elementQuantity", materials: [material], }; const newConfig = { iTwinId: GlobalSetup_1.iTwinId, iModelId: GlobalSetup_1.testIModel.id, displayName: "Test1", labels: [label], }; let config = await GlobalSetup_1.configurationsClient.createConfiguration(GlobalSetup_1.accessToken, newConfig); configurationIds.push(config.id); newConfig.displayName = "Test2"; config = await GlobalSetup_1.configurationsClient.createConfiguration(GlobalSetup_1.accessToken, newConfig); configurationIds.push(config.id); newConfig.displayName = "Test3"; config = await GlobalSetup_1.configurationsClient.createConfiguration(GlobalSetup_1.accessToken, newConfig); configurationIds.push(config.id); }); after(async () => { while (configurationIds.length > 0) { await GlobalSetup_1.configurationsClient.deleteConfiguration(GlobalSetup_1.accessToken, configurationIds.pop()); } await GlobalSetup_1.mappingsClient.deleteMapping(GlobalSetup_1.accessToken, mappingId); }); it("Configurations - create and delete", async () => { const newConfig = { iTwinId: GlobalSetup_1.iTwinId, iModelId: GlobalSetup_1.testIModel.id, displayName: "TestConfig", labels: [label], }; const config = await GlobalSetup_1.configurationsClient.createConfiguration(GlobalSetup_1.accessToken, newConfig); (0, chai_1.expect)(config).to.not.be.undefined; (0, chai_1.expect)(config.displayName).to.be.eq("TestConfig"); const response = await GlobalSetup_1.configurationsClient.deleteConfiguration(GlobalSetup_1.accessToken, config.id); (0, chai_1.expect)(response.status).to.be.eq(204); }); it("Configurations - Update", async () => { const configUpdate = { displayName: "Test1", description: "Updated description", labels: [label], }; const config = await GlobalSetup_1.configurationsClient.updateConfiguration(GlobalSetup_1.accessToken, configurationIds[0], configUpdate); (0, chai_1.expect)(config).to.not.be.undefined; (0, chai_1.expect)(config.displayName).to.be.eq("Test1"); (0, chai_1.expect)(config.description).to.be.eq("Updated description"); }); it("Configurations - Get", async () => { const config = await GlobalSetup_1.configurationsClient.getConfiguration(GlobalSetup_1.accessToken, configurationIds[0]); (0, chai_1.expect)(config).to.not.be.undefined; (0, chai_1.expect)(config.displayName).to.be.eq("Test1"); }); it("Configurations - Get all", async () => { const configs = await GlobalSetup_1.configurationsClient.getConfigurations(GlobalSetup_1.accessToken, GlobalSetup_1.iTwinId); (0, chai_1.expect)(configs).to.not.be.undefined; (0, chai_1.expect)(configs.length).to.be.above(2); for (const config of configs) { (0, chai_1.expect)(["Test1", "Test2", "Test3"]).to.include(config.displayName); } }); it("Configurations - Get all with top", async () => { const configs = await GlobalSetup_1.configurationsClient.getConfigurations(GlobalSetup_1.accessToken, GlobalSetup_1.iTwinId, 2); (0, chai_1.expect)(configs).to.not.be.undefined; (0, chai_1.expect)(configs.length).to.be.above(2); for (const config of configs) { (0, chai_1.expect)(["Test1", "Test2", "Test3"]).to.include(config.displayName); } }); it("Configurations - Get with iterator", async () => { const confingsIt = GlobalSetup_1.configurationsClient.getConfigurationsIterator(GlobalSetup_1.accessToken, GlobalSetup_1.iTwinId, 2); let flag = false; for await (const config of confingsIt) { flag = true; (0, chai_1.expect)(config).to.not.be.undefined; (0, chai_1.expect)(["Test1", "Test2", "Test3"]).to.include(config.displayName); } (0, chai_1.expect)(flag).to.be.true; }); it("Configurations - Get pages with iterator", async () => { const configsIt = GlobalSetup_1.configurationsClient.getConfigurationsIterator(GlobalSetup_1.accessToken, GlobalSetup_1.iTwinId, 2); let elementCount = 0; let flag = false; for await (const configs of configsIt.byPage()) { flag = true; (0, chai_1.expect)(configs).to.not.be.undefined; if (configs.length) { for (const config of configs) { (0, chai_1.expect)(["Test1", "Test2", "Test3"]).to.include(config.displayName); } elementCount += configs.length; } } (0, chai_1.expect)(flag).to.be.true; (0, chai_1.expect)(elementCount).to.not.be.eq(0); }); }); //# sourceMappingURL=EC3ConfigurationsClientExtraction.test.js.map