@itwin/insights-client
Version:
Insights client for the iTwin platform
128 lines • 6.31 kB
JavaScript
"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