@itwin/core-backend 5.1.0-dev.62 → 5.1.0-dev.65
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/cjs/BisCoreSchema.d.ts.map +1 -1
- package/lib/cjs/BisCoreSchema.js +3 -1
- package/lib/cjs/BisCoreSchema.js.map +1 -1
- package/lib/cjs/Entity.d.ts +2 -0
- package/lib/cjs/Entity.d.ts.map +1 -1
- package/lib/cjs/Entity.js +14 -0
- package/lib/cjs/Entity.js.map +1 -1
- package/lib/cjs/IModelDb.d.ts +6 -2
- package/lib/cjs/IModelDb.d.ts.map +1 -1
- package/lib/cjs/IModelDb.js +12 -5
- package/lib/cjs/IModelDb.js.map +1 -1
- package/lib/cjs/annotations/ElementDrivesTextAnnotation.d.ts +61 -0
- package/lib/cjs/annotations/ElementDrivesTextAnnotation.d.ts.map +1 -0
- package/lib/cjs/annotations/ElementDrivesTextAnnotation.js +110 -0
- package/lib/cjs/annotations/ElementDrivesTextAnnotation.js.map +1 -0
- package/lib/cjs/annotations/TextAnnotationElement.d.ts +18 -1
- package/lib/cjs/annotations/TextAnnotationElement.d.ts.map +1 -1
- package/lib/cjs/annotations/TextAnnotationElement.js +57 -2
- package/lib/cjs/annotations/TextAnnotationElement.js.map +1 -1
- package/lib/cjs/annotations/TextAnnotationGeometry.js +1 -0
- package/lib/cjs/annotations/TextAnnotationGeometry.js.map +1 -1
- package/lib/cjs/annotations/TextBlockGeometry.d.ts.map +1 -1
- package/lib/cjs/annotations/TextBlockGeometry.js +15 -1
- package/lib/cjs/annotations/TextBlockGeometry.js.map +1 -1
- package/lib/cjs/annotations/TextBlockLayout.d.ts +2 -2
- package/lib/cjs/annotations/TextBlockLayout.d.ts.map +1 -1
- package/lib/cjs/annotations/TextBlockLayout.js +14 -2
- package/lib/cjs/annotations/TextBlockLayout.js.map +1 -1
- package/lib/cjs/core-backend.d.ts +1 -0
- package/lib/cjs/core-backend.d.ts.map +1 -1
- package/lib/cjs/core-backend.js +1 -0
- package/lib/cjs/core-backend.js.map +1 -1
- package/lib/cjs/internal/annotations/fields.d.ts +22 -0
- package/lib/cjs/internal/annotations/fields.d.ts.map +1 -0
- package/lib/cjs/internal/annotations/fields.js +237 -0
- package/lib/cjs/internal/annotations/fields.js.map +1 -0
- package/lib/esm/BisCoreSchema.d.ts.map +1 -1
- package/lib/esm/BisCoreSchema.js +3 -1
- package/lib/esm/BisCoreSchema.js.map +1 -1
- package/lib/esm/Entity.d.ts +2 -0
- package/lib/esm/Entity.d.ts.map +1 -1
- package/lib/esm/Entity.js +14 -0
- package/lib/esm/Entity.js.map +1 -1
- package/lib/esm/IModelDb.d.ts +6 -2
- package/lib/esm/IModelDb.d.ts.map +1 -1
- package/lib/esm/IModelDb.js +13 -6
- package/lib/esm/IModelDb.js.map +1 -1
- package/lib/esm/annotations/ElementDrivesTextAnnotation.d.ts +61 -0
- package/lib/esm/annotations/ElementDrivesTextAnnotation.d.ts.map +1 -0
- package/lib/esm/annotations/ElementDrivesTextAnnotation.js +105 -0
- package/lib/esm/annotations/ElementDrivesTextAnnotation.js.map +1 -0
- package/lib/esm/annotations/TextAnnotationElement.d.ts +18 -1
- package/lib/esm/annotations/TextAnnotationElement.d.ts.map +1 -1
- package/lib/esm/annotations/TextAnnotationElement.js +57 -2
- package/lib/esm/annotations/TextAnnotationElement.js.map +1 -1
- package/lib/esm/annotations/TextAnnotationGeometry.js +1 -0
- package/lib/esm/annotations/TextAnnotationGeometry.js.map +1 -1
- package/lib/esm/annotations/TextBlockGeometry.d.ts.map +1 -1
- package/lib/esm/annotations/TextBlockGeometry.js +15 -1
- package/lib/esm/annotations/TextBlockGeometry.js.map +1 -1
- package/lib/esm/annotations/TextBlockLayout.d.ts +2 -2
- package/lib/esm/annotations/TextBlockLayout.d.ts.map +1 -1
- package/lib/esm/annotations/TextBlockLayout.js +14 -2
- package/lib/esm/annotations/TextBlockLayout.js.map +1 -1
- package/lib/esm/core-backend.d.ts +1 -0
- package/lib/esm/core-backend.d.ts.map +1 -1
- package/lib/esm/core-backend.js +1 -0
- package/lib/esm/core-backend.js.map +1 -1
- package/lib/esm/internal/annotations/fields.d.ts +22 -0
- package/lib/esm/internal/annotations/fields.d.ts.map +1 -0
- package/lib/esm/internal/annotations/fields.js +231 -0
- package/lib/esm/internal/annotations/fields.js.map +1 -0
- package/lib/esm/test/IModelTestUtils.d.ts.map +1 -1
- package/lib/esm/test/IModelTestUtils.js +1 -0
- package/lib/esm/test/IModelTestUtils.js.map +1 -1
- package/lib/esm/test/annotations/Fields.test.d.ts +2 -0
- package/lib/esm/test/annotations/Fields.test.d.ts.map +1 -0
- package/lib/esm/test/annotations/Fields.test.js +576 -0
- package/lib/esm/test/annotations/Fields.test.js.map +1 -0
- package/lib/esm/test/annotations/TextAnnotation.test.js.map +1 -1
- package/lib/esm/test/annotations/TextBlock.test.js.map +1 -1
- package/lib/esm/test/hubaccess/ApplyChangeset.test.d.ts +2 -0
- package/lib/esm/test/hubaccess/ApplyChangeset.test.d.ts.map +1 -0
- package/lib/esm/test/hubaccess/ApplyChangeset.test.js +86 -0
- package/lib/esm/test/hubaccess/ApplyChangeset.test.js.map +1 -0
- package/lib/esm/test/standalone/ChangesetReader.test.js +6 -6
- package/lib/esm/test/standalone/ChangesetReader.test.js.map +1 -1
- package/package.json +13 -13
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ApplyChangeset.test.d.ts","sourceRoot":"","sources":["../../../../src/test/hubaccess/ApplyChangeset.test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
/*---------------------------------------------------------------------------------------------
|
|
2
|
+
* Copyright (c) Bentley Systems, Incorporated. All rights reserved.
|
|
3
|
+
* See LICENSE.md in the project root for license terms and full copyright notice.
|
|
4
|
+
*--------------------------------------------------------------------------------------------*/
|
|
5
|
+
import * as chai from "chai";
|
|
6
|
+
import * as chaiAsPromised from "chai-as-promised";
|
|
7
|
+
import { HubWrappers, KnownTestLocations } from "..";
|
|
8
|
+
import { ChannelControl, IModelHost } from "../../core-backend";
|
|
9
|
+
import { HubMock } from "../../internal/HubMock";
|
|
10
|
+
chai.use(chaiAsPromised);
|
|
11
|
+
describe("apply changesets", function () {
|
|
12
|
+
before(async () => {
|
|
13
|
+
await IModelHost.startup();
|
|
14
|
+
});
|
|
15
|
+
it("Apply changeset with no local changes, should not create new local changes", async () => {
|
|
16
|
+
HubMock.startup("PullMergeMethod", KnownTestLocations.outputDir);
|
|
17
|
+
const iModelId = await HubMock.createNewIModel({ accessToken: "user1", iTwinId: HubMock.iTwinId, iModelName: "Test", description: "TestSubject" });
|
|
18
|
+
const b1 = await HubWrappers.downloadAndOpenBriefcase({ accessToken: "user1", iTwinId: HubMock.iTwinId, iModelId, noLock: true });
|
|
19
|
+
b1.channels.addAllowedChannel(ChannelControl.sharedChannelName);
|
|
20
|
+
b1.saveChanges();
|
|
21
|
+
const b2 = await HubWrappers.downloadAndOpenBriefcase({ accessToken: "user2", iTwinId: HubMock.iTwinId, iModelId, noLock: true });
|
|
22
|
+
b2.channels.addAllowedChannel(ChannelControl.sharedChannelName);
|
|
23
|
+
b2.saveChanges();
|
|
24
|
+
const b3 = await HubWrappers.downloadAndOpenBriefcase({ accessToken: "user2", iTwinId: HubMock.iTwinId, iModelId, noLock: true });
|
|
25
|
+
b3.channels.addAllowedChannel(ChannelControl.sharedChannelName);
|
|
26
|
+
b3.saveChanges();
|
|
27
|
+
const schema1 = `<?xml version="1.0" encoding="UTF-8"?>
|
|
28
|
+
<ECSchema schemaName="TestDomain" alias="ts" version="01.00" xmlns="http://www.bentley.com/schemas/Bentley.ECXML.3.1">
|
|
29
|
+
<ECSchemaReference name="BisCore" version="01.00" alias="bis"/>
|
|
30
|
+
<ECEntityClass typeName="a1">
|
|
31
|
+
<BaseClass>bis:GraphicalElement2d</BaseClass>
|
|
32
|
+
</ECEntityClass>
|
|
33
|
+
<ECEntityClass typeName="b1"> <BaseClass>a1</BaseClass> </ECEntityClass>
|
|
34
|
+
<ECEntityClass typeName="b2"> <BaseClass>a1</BaseClass> </ECEntityClass>
|
|
35
|
+
<ECEntityClass typeName="c1"> <BaseClass>b1</BaseClass> </ECEntityClass>
|
|
36
|
+
<ECEntityClass typeName="c2"> <BaseClass>b1</BaseClass> </ECEntityClass>
|
|
37
|
+
<ECEntityClass typeName="d1"> <BaseClass>b2</BaseClass> </ECEntityClass>
|
|
38
|
+
<ECEntityClass typeName="d2"> <BaseClass>b2</BaseClass> </ECEntityClass>
|
|
39
|
+
<ECEntityClass typeName="f1"> <BaseClass>d1</BaseClass> </ECEntityClass>
|
|
40
|
+
<ECEntityClass typeName="f2"> <BaseClass>d1</BaseClass> </ECEntityClass>
|
|
41
|
+
<ECEntityClass typeName="e1"> <BaseClass>d2</BaseClass> </ECEntityClass>
|
|
42
|
+
<ECEntityClass typeName="e2"> <BaseClass>d2</BaseClass> </ECEntityClass>
|
|
43
|
+
</ECSchema>`;
|
|
44
|
+
await b1.importSchemaStrings([schema1]);
|
|
45
|
+
b1.saveChanges("schema1");
|
|
46
|
+
chai.expect(b1.txns.hasPendingTxns).to.be.true;
|
|
47
|
+
await b1.pushChanges({ description: "schema1" });
|
|
48
|
+
chai.expect(b1.txns.hasPendingTxns).to.be.false;
|
|
49
|
+
chai.expect(b2.txns.hasPendingTxns).to.be.false;
|
|
50
|
+
await b2.pullChanges();
|
|
51
|
+
chai.expect(b2.txns.hasPendingTxns).to.be.false;
|
|
52
|
+
const schema2 = `<?xml version="1.0" encoding="UTF-8"?>
|
|
53
|
+
<ECSchema schemaName="TestDomain2" alias="ts1" version="01.00" xmlns="http://www.bentley.com/schemas/Bentley.ECXML.3.1">
|
|
54
|
+
<ECSchemaReference name="BisCore" version="01.00" alias="bis"/>
|
|
55
|
+
<ECEntityClass typeName="a1">
|
|
56
|
+
<BaseClass>bis:GraphicalElement2d</BaseClass>
|
|
57
|
+
</ECEntityClass>
|
|
58
|
+
<ECEntityClass typeName="b1"> <BaseClass>a1</BaseClass> </ECEntityClass>
|
|
59
|
+
<ECEntityClass typeName="b2"> <BaseClass>a1</BaseClass> </ECEntityClass>
|
|
60
|
+
<ECEntityClass typeName="c1"> <BaseClass>b1</BaseClass> </ECEntityClass>
|
|
61
|
+
<ECEntityClass typeName="c2"> <BaseClass>b1</BaseClass> </ECEntityClass>
|
|
62
|
+
<ECEntityClass typeName="d1"> <BaseClass>b2</BaseClass> </ECEntityClass>
|
|
63
|
+
<ECEntityClass typeName="d2"> <BaseClass>b2</BaseClass> </ECEntityClass>
|
|
64
|
+
<ECEntityClass typeName="f1"> <BaseClass>d1</BaseClass> </ECEntityClass>
|
|
65
|
+
<ECEntityClass typeName="f2"> <BaseClass>d1</BaseClass> </ECEntityClass>
|
|
66
|
+
<ECEntityClass typeName="e1"> <BaseClass>d2</BaseClass> </ECEntityClass>
|
|
67
|
+
<ECEntityClass typeName="e2"> <BaseClass>d2</BaseClass> </ECEntityClass>
|
|
68
|
+
</ECSchema>`;
|
|
69
|
+
await b1.importSchemaStrings([schema2]);
|
|
70
|
+
b1.saveChanges("schema2");
|
|
71
|
+
chai.expect(b1.txns.hasPendingTxns).to.be.true;
|
|
72
|
+
await b1.pushChanges({ description: "schema2" });
|
|
73
|
+
chai.expect(b1.txns.hasPendingTxns).to.be.false;
|
|
74
|
+
chai.expect(b2.txns.hasPendingTxns).to.be.false;
|
|
75
|
+
await b2.pullChanges();
|
|
76
|
+
chai.expect(b2.txns.hasPendingTxns).to.be.false;
|
|
77
|
+
chai.expect(b3.txns.hasPendingTxns).to.be.false;
|
|
78
|
+
await b3.pullChanges();
|
|
79
|
+
chai.expect(b3.txns.hasPendingTxns).to.be.false;
|
|
80
|
+
b1.close();
|
|
81
|
+
b2.close();
|
|
82
|
+
b3.close();
|
|
83
|
+
HubMock.shutdown();
|
|
84
|
+
});
|
|
85
|
+
});
|
|
86
|
+
//# sourceMappingURL=ApplyChangeset.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ApplyChangeset.test.js","sourceRoot":"","sources":["../../../../src/test/hubaccess/ApplyChangeset.test.ts"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n* See LICENSE.md in the project root for license terms and full copyright notice.\n*--------------------------------------------------------------------------------------------*/\n\nimport * as chai from \"chai\";\nimport * as chaiAsPromised from \"chai-as-promised\";\nimport { HubWrappers, KnownTestLocations } from \"..\";\nimport { ChannelControl, IModelHost } from \"../../core-backend\";\nimport { HubMock } from \"../../internal/HubMock\";\nimport { Suite } from \"mocha\";\nchai.use(chaiAsPromised);\n\ndescribe(\"apply changesets\", function (this: Suite) {\n before(async () => {\n await IModelHost.startup();\n });\n\n it(\"Apply changeset with no local changes, should not create new local changes\", async () => {\n HubMock.startup(\"PullMergeMethod\", KnownTestLocations.outputDir);\n\n const iModelId = await HubMock.createNewIModel({ accessToken: \"user1\", iTwinId: HubMock.iTwinId, iModelName: \"Test\", description: \"TestSubject\" });\n\n const b1 = await HubWrappers.downloadAndOpenBriefcase({ accessToken: \"user1\", iTwinId: HubMock.iTwinId, iModelId, noLock: true });\n b1.channels.addAllowedChannel(ChannelControl.sharedChannelName);\n b1.saveChanges();\n\n const b2 = await HubWrappers.downloadAndOpenBriefcase({ accessToken: \"user2\", iTwinId: HubMock.iTwinId, iModelId, noLock: true });\n b2.channels.addAllowedChannel(ChannelControl.sharedChannelName);\n b2.saveChanges();\n\n const b3 = await HubWrappers.downloadAndOpenBriefcase({ accessToken: \"user2\", iTwinId: HubMock.iTwinId, iModelId, noLock: true });\n b3.channels.addAllowedChannel(ChannelControl.sharedChannelName);\n b3.saveChanges();\n\n const schema1 = `<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n <ECSchema schemaName=\"TestDomain\" alias=\"ts\" version=\"01.00\" xmlns=\"http://www.bentley.com/schemas/Bentley.ECXML.3.1\">\n <ECSchemaReference name=\"BisCore\" version=\"01.00\" alias=\"bis\"/>\n <ECEntityClass typeName=\"a1\">\n <BaseClass>bis:GraphicalElement2d</BaseClass>\n </ECEntityClass>\n <ECEntityClass typeName=\"b1\"> <BaseClass>a1</BaseClass> </ECEntityClass>\n <ECEntityClass typeName=\"b2\"> <BaseClass>a1</BaseClass> </ECEntityClass>\n <ECEntityClass typeName=\"c1\"> <BaseClass>b1</BaseClass> </ECEntityClass>\n <ECEntityClass typeName=\"c2\"> <BaseClass>b1</BaseClass> </ECEntityClass>\n <ECEntityClass typeName=\"d1\"> <BaseClass>b2</BaseClass> </ECEntityClass>\n <ECEntityClass typeName=\"d2\"> <BaseClass>b2</BaseClass> </ECEntityClass>\n <ECEntityClass typeName=\"f1\"> <BaseClass>d1</BaseClass> </ECEntityClass>\n <ECEntityClass typeName=\"f2\"> <BaseClass>d1</BaseClass> </ECEntityClass>\n <ECEntityClass typeName=\"e1\"> <BaseClass>d2</BaseClass> </ECEntityClass>\n <ECEntityClass typeName=\"e2\"> <BaseClass>d2</BaseClass> </ECEntityClass>\n </ECSchema>`;\n\n await b1.importSchemaStrings([schema1]);\n b1.saveChanges(\"schema1\");\n\n chai.expect(b1.txns.hasPendingTxns).to.be.true\n await b1.pushChanges({ description: \"schema1\" });\n chai.expect(b1.txns.hasPendingTxns).to.be.false\n\n chai.expect(b2.txns.hasPendingTxns).to.be.false\n await b2.pullChanges();\n chai.expect(b2.txns.hasPendingTxns).to.be.false;\n\n const schema2 = `<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n <ECSchema schemaName=\"TestDomain2\" alias=\"ts1\" version=\"01.00\" xmlns=\"http://www.bentley.com/schemas/Bentley.ECXML.3.1\">\n <ECSchemaReference name=\"BisCore\" version=\"01.00\" alias=\"bis\"/>\n <ECEntityClass typeName=\"a1\">\n <BaseClass>bis:GraphicalElement2d</BaseClass>\n </ECEntityClass>\n <ECEntityClass typeName=\"b1\"> <BaseClass>a1</BaseClass> </ECEntityClass>\n <ECEntityClass typeName=\"b2\"> <BaseClass>a1</BaseClass> </ECEntityClass>\n <ECEntityClass typeName=\"c1\"> <BaseClass>b1</BaseClass> </ECEntityClass>\n <ECEntityClass typeName=\"c2\"> <BaseClass>b1</BaseClass> </ECEntityClass>\n <ECEntityClass typeName=\"d1\"> <BaseClass>b2</BaseClass> </ECEntityClass>\n <ECEntityClass typeName=\"d2\"> <BaseClass>b2</BaseClass> </ECEntityClass>\n <ECEntityClass typeName=\"f1\"> <BaseClass>d1</BaseClass> </ECEntityClass>\n <ECEntityClass typeName=\"f2\"> <BaseClass>d1</BaseClass> </ECEntityClass>\n <ECEntityClass typeName=\"e1\"> <BaseClass>d2</BaseClass> </ECEntityClass>\n <ECEntityClass typeName=\"e2\"> <BaseClass>d2</BaseClass> </ECEntityClass>\n </ECSchema>`;\n\n await b1.importSchemaStrings([schema2]);\n b1.saveChanges(\"schema2\");\n\n chai.expect(b1.txns.hasPendingTxns).to.be.true\n await b1.pushChanges({ description: \"schema2\" });\n chai.expect(b1.txns.hasPendingTxns).to.be.false;\n\n\n chai.expect(b2.txns.hasPendingTxns).to.be.false\n await b2.pullChanges();\n chai.expect(b2.txns.hasPendingTxns).to.be.false;\n\n\n chai.expect(b3.txns.hasPendingTxns).to.be.false\n await b3.pullChanges();\n chai.expect(b3.txns.hasPendingTxns).to.be.false;\n\n\n b1.close();\n b2.close();\n b3.close();\n HubMock.shutdown();\n });\n});\n"]}
|
|
@@ -1276,23 +1276,23 @@ describe("Changeset Reader API", async () => {
|
|
|
1276
1276
|
assert.equal(firstBriefcaseChangesets.length, 1);
|
|
1277
1277
|
const firstBriefcaseChangeset = firstBriefcaseChangesets[0];
|
|
1278
1278
|
expect(firstBriefcaseChangeset.uncompressedSizeBytes).to.be.greaterThan(300);
|
|
1279
|
-
expect(firstBriefcaseChangeset.insertedRows).to.be.
|
|
1280
|
-
expect(firstBriefcaseChangeset.updatedRows).to.be.
|
|
1279
|
+
expect(firstBriefcaseChangeset.insertedRows).to.be.greaterThanOrEqual(4);
|
|
1280
|
+
expect(firstBriefcaseChangeset.updatedRows).to.be.greaterThanOrEqual(1);
|
|
1281
1281
|
expect(firstBriefcaseChangeset.deletedRows).to.be.eql(0);
|
|
1282
1282
|
expect(firstBriefcaseChangeset.totalFullTableScans).to.be.eql(0);
|
|
1283
1283
|
expect(firstBriefcaseChangeset.perStatementStats.length).to.be.eql(5);
|
|
1284
1284
|
assert.equal(secondBriefcaseChangesets.length, 2);
|
|
1285
1285
|
const [secondBriefcaseChangeset1, secondBriefcaseChangeset2] = secondBriefcaseChangesets;
|
|
1286
1286
|
expect(secondBriefcaseChangeset1.uncompressedSizeBytes).to.be.greaterThan(40000);
|
|
1287
|
-
expect(secondBriefcaseChangeset1.insertedRows).to.be.
|
|
1288
|
-
expect(secondBriefcaseChangeset1.updatedRows).to.be.
|
|
1287
|
+
expect(secondBriefcaseChangeset1.insertedRows).to.be.greaterThanOrEqual(52);
|
|
1288
|
+
expect(secondBriefcaseChangeset1.updatedRows).to.be.greaterThanOrEqual(921);
|
|
1289
1289
|
expect(secondBriefcaseChangeset1.deletedRows).to.be.eql(0);
|
|
1290
1290
|
expect(secondBriefcaseChangeset1.totalFullTableScans).to.be.eql(0);
|
|
1291
1291
|
expect(secondBriefcaseChangeset1.perStatementStats.length).to.be.eql(11);
|
|
1292
1292
|
expect(secondBriefcaseChangeset2.uncompressedSizeBytes).to.be.greaterThan(40000);
|
|
1293
1293
|
expect(secondBriefcaseChangeset2.insertedRows).to.be.eql(0);
|
|
1294
|
-
expect(secondBriefcaseChangeset2.updatedRows).to.be.
|
|
1295
|
-
expect(secondBriefcaseChangeset2.deletedRows).to.be.
|
|
1294
|
+
expect(secondBriefcaseChangeset2.updatedRows).to.be.greaterThanOrEqual(921);
|
|
1295
|
+
expect(secondBriefcaseChangeset2.deletedRows).to.be.greaterThanOrEqual(52);
|
|
1296
1296
|
expect(secondBriefcaseChangeset2.totalFullTableScans).to.be.eql(0);
|
|
1297
1297
|
expect(secondBriefcaseChangeset2.perStatementStats.length).to.be.eql(11);
|
|
1298
1298
|
// Cleanup
|