@itwin/core-backend 5.1.2 → 5.1.3-experimental.1
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/CHANGELOG.md +6 -1
- package/lib/cjs/BackendHubAccess.js.map +1 -1
- package/lib/cjs/BackendLoggerCategory.js.map +1 -1
- package/lib/cjs/BisCoreSchema.js.map +1 -1
- package/lib/cjs/BlobContainerService.js.map +1 -1
- package/lib/cjs/BriefcaseManager.d.ts.map +1 -1
- package/lib/cjs/BriefcaseManager.js +19 -5
- package/lib/cjs/BriefcaseManager.js.map +1 -1
- package/lib/cjs/CatalogDb.js.map +1 -1
- package/lib/cjs/Category.js.map +1 -1
- package/lib/cjs/ChangeSummaryManager.js +2 -2
- package/lib/cjs/ChangeSummaryManager.js.map +1 -1
- package/lib/cjs/ChangedElementsDb.js.map +1 -1
- package/lib/cjs/ChangesetECAdaptor.js +248 -248
- package/lib/cjs/ChangesetECAdaptor.js.map +1 -1
- package/lib/cjs/ChannelControl.js.map +1 -1
- package/lib/cjs/CheckpointManager.js.map +1 -1
- package/lib/cjs/ClassRegistry.js +5 -5
- package/lib/cjs/ClassRegistry.js.map +1 -1
- package/lib/cjs/CloudSqlite.js.map +1 -1
- package/lib/cjs/CodeService.js.map +1 -1
- package/lib/cjs/CodeSpecs.js.map +1 -1
- package/lib/cjs/ConcurrentQuery.js.map +1 -1
- package/lib/cjs/CustomViewState3dCreator.js.map +1 -1
- package/lib/cjs/DevTools.js.map +1 -1
- package/lib/cjs/DisplayStyle.js.map +1 -1
- package/lib/cjs/ECDb.js.map +1 -1
- package/lib/cjs/ECSchemaXmlContext.js.map +1 -1
- package/lib/cjs/ECSqlStatement.js.map +1 -1
- package/lib/cjs/Element.js.map +1 -1
- package/lib/cjs/ElementAspect.js.map +1 -1
- package/lib/cjs/ElementGraphics.js.map +1 -1
- package/lib/cjs/ElementTreeWalker.js.map +1 -1
- package/lib/cjs/Entity.js.map +1 -1
- package/lib/cjs/EntityReferences.js.map +1 -1
- package/lib/cjs/ExportGraphics.js.map +1 -1
- package/lib/cjs/ExternalSource.js.map +1 -1
- package/lib/cjs/FontFile.js.map +1 -1
- package/lib/cjs/GeoCoordConfig.js.map +1 -1
- package/lib/cjs/GeographicCRSServices.js.map +1 -1
- package/lib/cjs/GeometrySummary.js +47 -47
- package/lib/cjs/GeometrySummary.js.map +1 -1
- package/lib/cjs/IModelDb.d.ts +22 -2
- package/lib/cjs/IModelDb.d.ts.map +1 -1
- package/lib/cjs/IModelDb.js +31 -11
- package/lib/cjs/IModelDb.js.map +1 -1
- package/lib/cjs/IModelDbFonts.js.map +1 -1
- package/lib/cjs/IModelElementCloneContext.js.map +1 -1
- package/lib/cjs/IModelHost.js.map +1 -1
- package/lib/cjs/IModelIncrementalSchemaLocater.js.map +1 -1
- package/lib/cjs/IModelJsFs.js.map +1 -1
- package/lib/cjs/ImageSourceConversion.js.map +1 -1
- package/lib/cjs/IpcHost.js.map +1 -1
- package/lib/cjs/LineStyle.js.map +1 -1
- package/lib/cjs/LocalHub.js +1 -1
- package/lib/cjs/LocalHub.js.map +1 -1
- package/lib/cjs/LocalhostIpcHost.js.map +1 -1
- package/lib/cjs/LockControl.js.map +1 -1
- package/lib/cjs/Material.js.map +1 -1
- package/lib/cjs/Model.js.map +1 -1
- package/lib/cjs/NativeAppStorage.js.map +1 -1
- package/lib/cjs/NativeHost.js.map +1 -1
- package/lib/cjs/NavigationRelationship.js.map +1 -1
- package/lib/cjs/PromiseMemoizer.js.map +1 -1
- package/lib/cjs/PropertyStore.js.map +1 -1
- package/lib/cjs/Relationship.js.map +1 -1
- package/lib/cjs/RpcBackend.js.map +1 -1
- package/lib/cjs/SQLiteDb.js.map +1 -1
- package/lib/cjs/Schema.js.map +1 -1
- package/lib/cjs/SchemaSync.js.map +1 -1
- package/lib/cjs/SchemaUtils.js.map +1 -1
- package/lib/cjs/SheetIndex.js.map +1 -1
- package/lib/cjs/SqliteChangesetReader.js.map +1 -1
- package/lib/cjs/SqliteStatement.js.map +1 -1
- package/lib/cjs/Texture.js.map +1 -1
- package/lib/cjs/TileStorage.js.map +1 -1
- package/lib/cjs/TxnManager.d.ts +57 -10
- package/lib/cjs/TxnManager.d.ts.map +1 -1
- package/lib/cjs/TxnManager.js +76 -13
- package/lib/cjs/TxnManager.js.map +1 -1
- package/lib/cjs/ViewDefinition.js.map +1 -1
- package/lib/cjs/ViewStateHydrator.js.map +1 -1
- package/lib/cjs/ViewStore.js.map +1 -1
- package/lib/cjs/annotations/ElementDrivesTextAnnotation.js.map +1 -1
- package/lib/cjs/annotations/FrameGeometry.js.map +1 -1
- package/lib/cjs/annotations/LeaderGeometry.js.map +1 -1
- package/lib/cjs/annotations/TextAnnotationElement.js.map +1 -1
- package/lib/cjs/annotations/TextAnnotationGeometry.js.map +1 -1
- package/lib/cjs/annotations/TextBlockGeometry.js.map +1 -1
- package/lib/cjs/annotations/TextBlockLayout.js.map +1 -1
- package/lib/cjs/assets/IModelChange.02.00.00.ecschema.xml +90 -90
- package/lib/cjs/assets/Settings/Schemas/Base.Schema.json +32 -32
- package/lib/cjs/assets/Settings/Schemas/Gcs.schema.json +27 -27
- package/lib/cjs/assets/Settings/Schemas/Workspace.Schema.json +94 -94
- package/lib/cjs/assets/Settings/backend.setting.json5 +21 -21
- package/lib/cjs/core-backend.js.map +1 -1
- package/lib/cjs/domains/FunctionalElements.js.map +1 -1
- package/lib/cjs/domains/FunctionalSchema.js.map +1 -1
- package/lib/cjs/domains/GenericElements.js.map +1 -1
- package/lib/cjs/domains/GenericSchema.js.map +1 -1
- package/lib/cjs/internal/ChangesetConflictArgs.js.map +1 -1
- package/lib/cjs/internal/ChannelAdmin.js +1 -1
- package/lib/cjs/internal/ChannelAdmin.js.map +1 -1
- package/lib/cjs/internal/ElementLRUCache.js.map +1 -1
- package/lib/cjs/internal/FontFileImpl.js.map +1 -1
- package/lib/cjs/internal/HubMock.js.map +1 -1
- package/lib/cjs/internal/IModelDbFontsImpl.js.map +1 -1
- package/lib/cjs/internal/NativePlatform.js.map +1 -1
- package/lib/cjs/internal/NoLocks.js.map +1 -1
- package/lib/cjs/internal/ServerBasedLocks.js.map +1 -1
- package/lib/cjs/internal/Symbols.js.map +1 -1
- package/lib/cjs/internal/annotations/fields.js.map +1 -1
- package/lib/cjs/internal/cross-package.js.map +1 -1
- package/lib/cjs/internal/workspace/SettingsImpl.js.map +1 -1
- package/lib/cjs/internal/workspace/SettingsSchemasImpl.js.map +1 -1
- package/lib/cjs/internal/workspace/WorkspaceImpl.js.map +1 -1
- package/lib/cjs/internal/workspace/WorkspaceSqliteDb.js.map +1 -1
- package/lib/cjs/rpc/multipart.js.map +1 -1
- package/lib/cjs/rpc/tracing.js.map +1 -1
- package/lib/cjs/rpc/web/logging.js.map +1 -1
- package/lib/cjs/rpc/web/request.js.map +1 -1
- package/lib/cjs/rpc/web/response.js.map +1 -1
- package/lib/cjs/rpc-impl/DevToolsRpcImpl.js.map +1 -1
- package/lib/cjs/rpc-impl/IModelReadRpcImpl.js.map +1 -1
- package/lib/cjs/rpc-impl/IModelTileRpcImpl.js.map +1 -1
- package/lib/cjs/rpc-impl/RpcBriefcaseUtility.js.map +1 -1
- package/lib/cjs/rpc-impl/SnapshotIModelRpcImpl.js.map +1 -1
- package/lib/cjs/workspace/Settings.js.map +1 -1
- package/lib/cjs/workspace/SettingsSchemas.js.map +1 -1
- package/lib/cjs/workspace/Workspace.js.map +1 -1
- package/lib/cjs/workspace/WorkspaceEditor.js.map +1 -1
- package/lib/esm/BackendHubAccess.js.map +1 -1
- package/lib/esm/BackendLoggerCategory.js.map +1 -1
- package/lib/esm/BisCoreSchema.js.map +1 -1
- package/lib/esm/BlobContainerService.js.map +1 -1
- package/lib/esm/BriefcaseManager.d.ts.map +1 -1
- package/lib/esm/BriefcaseManager.js +20 -6
- package/lib/esm/BriefcaseManager.js.map +1 -1
- package/lib/esm/CatalogDb.js.map +1 -1
- package/lib/esm/Category.js.map +1 -1
- package/lib/esm/ChangeSummaryManager.js +2 -2
- package/lib/esm/ChangeSummaryManager.js.map +1 -1
- package/lib/esm/ChangedElementsDb.js.map +1 -1
- package/lib/esm/ChangesetECAdaptor.js +248 -248
- package/lib/esm/ChangesetECAdaptor.js.map +1 -1
- package/lib/esm/ChannelControl.js.map +1 -1
- package/lib/esm/CheckpointManager.js.map +1 -1
- package/lib/esm/ClassRegistry.js +5 -5
- package/lib/esm/ClassRegistry.js.map +1 -1
- package/lib/esm/CloudSqlite.js.map +1 -1
- package/lib/esm/CodeService.js.map +1 -1
- package/lib/esm/CodeSpecs.js.map +1 -1
- package/lib/esm/ConcurrentQuery.js.map +1 -1
- package/lib/esm/CustomViewState3dCreator.js.map +1 -1
- package/lib/esm/DevTools.js.map +1 -1
- package/lib/esm/DisplayStyle.js.map +1 -1
- package/lib/esm/ECDb.js.map +1 -1
- package/lib/esm/ECSchemaXmlContext.js.map +1 -1
- package/lib/esm/ECSqlStatement.js.map +1 -1
- package/lib/esm/Element.js.map +1 -1
- package/lib/esm/ElementAspect.js.map +1 -1
- package/lib/esm/ElementGraphics.js.map +1 -1
- package/lib/esm/ElementTreeWalker.js.map +1 -1
- package/lib/esm/Entity.js.map +1 -1
- package/lib/esm/EntityReferences.js.map +1 -1
- package/lib/esm/ExportGraphics.js.map +1 -1
- package/lib/esm/ExternalSource.js.map +1 -1
- package/lib/esm/FontFile.js.map +1 -1
- package/lib/esm/GeoCoordConfig.js.map +1 -1
- package/lib/esm/GeographicCRSServices.js.map +1 -1
- package/lib/esm/GeometrySummary.js +47 -47
- package/lib/esm/GeometrySummary.js.map +1 -1
- package/lib/esm/IModelDb.d.ts +22 -2
- package/lib/esm/IModelDb.d.ts.map +1 -1
- package/lib/esm/IModelDb.js +31 -11
- package/lib/esm/IModelDb.js.map +1 -1
- package/lib/esm/IModelDbFonts.js.map +1 -1
- package/lib/esm/IModelElementCloneContext.js.map +1 -1
- package/lib/esm/IModelHost.js.map +1 -1
- package/lib/esm/IModelIncrementalSchemaLocater.js.map +1 -1
- package/lib/esm/IModelJsFs.js.map +1 -1
- package/lib/esm/ImageSourceConversion.js.map +1 -1
- package/lib/esm/IpcHost.js.map +1 -1
- package/lib/esm/LineStyle.js.map +1 -1
- package/lib/esm/LocalHub.js +1 -1
- package/lib/esm/LocalHub.js.map +1 -1
- package/lib/esm/LocalhostIpcHost.js.map +1 -1
- package/lib/esm/LockControl.js.map +1 -1
- package/lib/esm/Material.js.map +1 -1
- package/lib/esm/Model.js.map +1 -1
- package/lib/esm/NativeAppStorage.js.map +1 -1
- package/lib/esm/NativeHost.js.map +1 -1
- package/lib/esm/NavigationRelationship.js.map +1 -1
- package/lib/esm/PromiseMemoizer.js.map +1 -1
- package/lib/esm/PropertyStore.js.map +1 -1
- package/lib/esm/Relationship.js.map +1 -1
- package/lib/esm/RpcBackend.js.map +1 -1
- package/lib/esm/SQLiteDb.js.map +1 -1
- package/lib/esm/Schema.js.map +1 -1
- package/lib/esm/SchemaSync.js.map +1 -1
- package/lib/esm/SchemaUtils.js.map +1 -1
- package/lib/esm/SheetIndex.js.map +1 -1
- package/lib/esm/SqliteChangesetReader.js.map +1 -1
- package/lib/esm/SqliteStatement.js.map +1 -1
- package/lib/esm/Texture.js.map +1 -1
- package/lib/esm/TileStorage.js.map +1 -1
- package/lib/esm/TxnManager.d.ts +57 -10
- package/lib/esm/TxnManager.d.ts.map +1 -1
- package/lib/esm/TxnManager.js +77 -14
- package/lib/esm/TxnManager.js.map +1 -1
- package/lib/esm/ViewDefinition.js.map +1 -1
- package/lib/esm/ViewStateHydrator.js.map +1 -1
- package/lib/esm/ViewStore.js.map +1 -1
- package/lib/esm/annotations/ElementDrivesTextAnnotation.js.map +1 -1
- package/lib/esm/annotations/FrameGeometry.js.map +1 -1
- package/lib/esm/annotations/LeaderGeometry.js.map +1 -1
- package/lib/esm/annotations/TextAnnotationElement.js.map +1 -1
- package/lib/esm/annotations/TextAnnotationGeometry.js.map +1 -1
- package/lib/esm/annotations/TextBlockGeometry.js.map +1 -1
- package/lib/esm/annotations/TextBlockLayout.js.map +1 -1
- package/lib/esm/core-backend.js.map +1 -1
- package/lib/esm/domains/FunctionalElements.js.map +1 -1
- package/lib/esm/domains/FunctionalSchema.js.map +1 -1
- package/lib/esm/domains/GenericElements.js.map +1 -1
- package/lib/esm/domains/GenericSchema.js.map +1 -1
- package/lib/esm/internal/ChangesetConflictArgs.js.map +1 -1
- package/lib/esm/internal/ChannelAdmin.js +1 -1
- package/lib/esm/internal/ChannelAdmin.js.map +1 -1
- package/lib/esm/internal/ElementLRUCache.js.map +1 -1
- package/lib/esm/internal/FontFileImpl.js.map +1 -1
- package/lib/esm/internal/HubMock.js.map +1 -1
- package/lib/esm/internal/IModelDbFontsImpl.js.map +1 -1
- package/lib/esm/internal/NativePlatform.js.map +1 -1
- package/lib/esm/internal/NoLocks.js.map +1 -1
- package/lib/esm/internal/ServerBasedLocks.js.map +1 -1
- package/lib/esm/internal/Symbols.js.map +1 -1
- package/lib/esm/internal/annotations/fields.js.map +1 -1
- package/lib/esm/internal/cross-package.js.map +1 -1
- package/lib/esm/internal/workspace/SettingsImpl.js.map +1 -1
- package/lib/esm/internal/workspace/SettingsSchemasImpl.js.map +1 -1
- package/lib/esm/internal/workspace/WorkspaceImpl.js.map +1 -1
- package/lib/esm/internal/workspace/WorkspaceSqliteDb.js.map +1 -1
- package/lib/esm/rpc/multipart.js.map +1 -1
- package/lib/esm/rpc/tracing.js.map +1 -1
- package/lib/esm/rpc/web/logging.js.map +1 -1
- package/lib/esm/rpc/web/request.js.map +1 -1
- package/lib/esm/rpc/web/response.js.map +1 -1
- package/lib/esm/rpc-impl/DevToolsRpcImpl.js.map +1 -1
- package/lib/esm/rpc-impl/IModelReadRpcImpl.js.map +1 -1
- package/lib/esm/rpc-impl/IModelTileRpcImpl.js.map +1 -1
- package/lib/esm/rpc-impl/RpcBriefcaseUtility.js.map +1 -1
- package/lib/esm/rpc-impl/SnapshotIModelRpcImpl.js.map +1 -1
- package/lib/esm/test/AdvancedEqual.js.map +1 -1
- package/lib/esm/test/AnnotationTestUtils.js.map +1 -1
- package/lib/esm/test/AttachDb.test.js +11 -11
- package/lib/esm/test/AttachDb.test.js.map +1 -1
- package/lib/esm/test/ElementLRUCache.test.js.map +1 -1
- package/lib/esm/test/GeometryTestUtil.js.map +1 -1
- package/lib/esm/test/IModelHost.test.js.map +1 -1
- package/lib/esm/test/IModelTestUtils.js.map +1 -1
- package/lib/esm/test/ImageSourceConversion.test.js.map +1 -1
- package/lib/esm/test/IpcHost.test.js.map +1 -1
- package/lib/esm/test/KnownTestLocations.js.map +1 -1
- package/lib/esm/test/PrintElementTree.js.map +1 -1
- package/lib/esm/test/PropertyDb.test.js.map +1 -1
- package/lib/esm/test/RevisionUtility.js.map +1 -1
- package/lib/esm/test/SchemaUtils.test.js +25 -25
- package/lib/esm/test/SchemaUtils.test.js.map +1 -1
- package/lib/esm/test/SequentialLogMatcher.js.map +1 -1
- package/lib/esm/test/TestChangeSetUtility.js.map +1 -1
- package/lib/esm/test/TestUtils.js.map +1 -1
- package/lib/esm/test/annotations/Fields.test.js +30 -30
- package/lib/esm/test/annotations/Fields.test.js.map +1 -1
- package/lib/esm/test/annotations/FrameGeometry.test.js.map +1 -1
- package/lib/esm/test/annotations/LeaderGeometry.test.js.map +1 -1
- 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/assets/IncrementalSchemaLocater/configs/old.config.js.map +1 -1
- package/lib/esm/test/assets/IncrementalSchemaLocater/configs/simple.config.js.map +1 -1
- package/lib/esm/test/categories/Category.test.js.map +1 -1
- package/lib/esm/test/codespec/CodeSpec.test.js.map +1 -1
- package/lib/esm/test/ecdb/CTE.test.js +88 -88
- package/lib/esm/test/ecdb/CTE.test.js.map +1 -1
- package/lib/esm/test/ecdb/ConcurrentQuery.test.js +15 -15
- package/lib/esm/test/ecdb/ConcurrentQuery.test.js.map +1 -1
- package/lib/esm/test/ecdb/ConcurrentQueryLoad.test.js +15 -15
- package/lib/esm/test/ecdb/ConcurrentQueryLoad.test.js.map +1 -1
- package/lib/esm/test/ecdb/ECDb.test.js +57 -57
- package/lib/esm/test/ecdb/ECDb.test.js.map +1 -1
- package/lib/esm/test/ecdb/ECDbTestHelper.js.map +1 -1
- package/lib/esm/test/ecdb/ECSchemaXmlContext.test.js.map +1 -1
- package/lib/esm/test/ecdb/ECSqlAst.test.js +65 -65
- package/lib/esm/test/ecdb/ECSqlAst.test.js.map +1 -1
- package/lib/esm/test/ecdb/ECSqlQuery.test.js.map +1 -1
- package/lib/esm/test/ecdb/ECSqlReader.test.js +16 -16
- package/lib/esm/test/ecdb/ECSqlReader.test.js.map +1 -1
- package/lib/esm/test/ecdb/ECSqlStatement.test.js +326 -326
- package/lib/esm/test/ecdb/ECSqlStatement.test.js.map +1 -1
- package/lib/esm/test/ecdb/SqliteStatement.test.js.map +1 -1
- package/lib/esm/test/ecsql/dataset/ECSqlDatasets.js.map +1 -1
- package/lib/esm/test/ecsql/src/ECSqlTestGenerator.js +21 -21
- package/lib/esm/test/ecsql/src/ECSqlTestGenerator.js.map +1 -1
- package/lib/esm/test/ecsql/src/ECSqlTestParser.js.map +1 -1
- package/lib/esm/test/ecsql/src/ECSqlTestRunner.test.js.map +1 -1
- package/lib/esm/test/element/DeleteDefinitionElements.test.js.map +1 -1
- package/lib/esm/test/element/ElementAspect.test.js +22 -22
- package/lib/esm/test/element/ElementAspect.test.js.map +1 -1
- package/lib/esm/test/element/ElementDependencyGraph.test.js.map +1 -1
- package/lib/esm/test/element/ElementRoundTrip.test.js +139 -139
- package/lib/esm/test/element/ElementRoundTrip.test.js.map +1 -1
- package/lib/esm/test/element/ExcludedElements.test.js.map +1 -1
- package/lib/esm/test/element/ExternalSource.test.js.map +1 -1
- package/lib/esm/test/element/NullStructArray.test.js +13 -13
- package/lib/esm/test/element/NullStructArray.test.js.map +1 -1
- package/lib/esm/test/element/UrlLink.test.js.map +1 -1
- package/lib/esm/test/font/FontFile.test.js.map +1 -1
- package/lib/esm/test/font/IModelDbFonts.test.js.map +1 -1
- package/lib/esm/test/hubaccess/ApplyChangeset.test.js +32 -32
- package/lib/esm/test/hubaccess/ApplyChangeset.test.js.map +1 -1
- package/lib/esm/test/hubaccess/BriefcaseManager.test.js.map +1 -1
- package/lib/esm/test/hubaccess/CheckpointManager.test.js.map +1 -1
- package/lib/esm/test/hubaccess/Rebase.test.d.ts +2 -0
- package/lib/esm/test/hubaccess/Rebase.test.d.ts.map +1 -0
- package/lib/esm/test/hubaccess/Rebase.test.js +172 -0
- package/lib/esm/test/hubaccess/Rebase.test.js.map +1 -0
- package/lib/esm/test/imageData.js.map +1 -1
- package/lib/esm/test/imodel/ElementTreeWalker.test.js.map +1 -1
- package/lib/esm/test/imodel/GetTextureImage.test.js.map +1 -1
- package/lib/esm/test/imodel/IModel.test.js +44 -44
- package/lib/esm/test/imodel/IModel.test.js.map +1 -1
- package/lib/esm/test/imodel/ProjectExtents.test.js.map +1 -1
- package/lib/esm/test/imodel/SchemaXmlImport.test.js.map +1 -1
- package/lib/esm/test/incrementalSchemaLocater/ECSqlQueries.test.js.map +1 -1
- package/lib/esm/test/incrementalSchemaLocater/IncrementalLoading.test.js.map +1 -1
- package/lib/esm/test/incrementalSchemaLocater/utils/IModelSchemaLocater.js.map +1 -1
- package/lib/esm/test/incrementalSchemaLocater/utils/IncrementalTestHelper.js.map +1 -1
- package/lib/esm/test/incrementalSchemaLocater/utils/TestSqlSchemaLocater.js.map +1 -1
- package/lib/esm/test/index.js.map +1 -1
- package/lib/esm/test/misc/DevTools.test.js.map +1 -1
- package/lib/esm/test/misc/EntitySubClasses.test.js.map +1 -1
- package/lib/esm/test/misc/GeoServices.test.js.map +1 -1
- package/lib/esm/test/misc/PromiseMemoizer.test.js.map +1 -1
- package/lib/esm/test/native/DgnDbWorker.test.js.map +1 -1
- package/lib/esm/test/rpc/response.test.js.map +1 -1
- package/lib/esm/test/schema/ClassRegistry.test.js +99 -99
- package/lib/esm/test/schema/ClassRegistry.test.js.map +1 -1
- package/lib/esm/test/schema/FunctionalDomain.test.js.map +1 -1
- package/lib/esm/test/schema/GenericDomain.test.js.map +1 -1
- package/lib/esm/test/schema/IModelSchemaContext.test.js.map +1 -1
- package/lib/esm/test/sheetindex/SheetIndex.test.js.map +1 -1
- package/lib/esm/test/standalone/ChangeMerge.test.js +10 -10
- package/lib/esm/test/standalone/ChangeMerge.test.js.map +1 -1
- package/lib/esm/test/standalone/ChangesetReader.test.js +117 -117
- package/lib/esm/test/standalone/ChangesetReader.test.js.map +1 -1
- package/lib/esm/test/standalone/CustomViewState3dCreator.test.js.map +1 -1
- package/lib/esm/test/standalone/DisplayStyle.test.js.map +1 -1
- package/lib/esm/test/standalone/Drawing.test.js.map +1 -1
- package/lib/esm/test/standalone/ElementGraphics.test.js.map +1 -1
- package/lib/esm/test/standalone/ElementMesh.test.js.map +1 -1
- package/lib/esm/test/standalone/ExportGraphics.test.js +14 -14
- package/lib/esm/test/standalone/ExportGraphics.test.js.map +1 -1
- package/lib/esm/test/standalone/GeometryChangeEvents.test.js.map +1 -1
- package/lib/esm/test/standalone/GeometryStream.test.js.map +1 -1
- package/lib/esm/test/standalone/HubMock.test.js.map +1 -1
- package/lib/esm/test/standalone/IModelLimits.test.js.map +1 -1
- package/lib/esm/test/standalone/IModelWrite.test.js +27 -27
- package/lib/esm/test/standalone/IModelWrite.test.js.map +1 -1
- package/lib/esm/test/standalone/InlineGeometryPartReferences.test.js.map +1 -1
- package/lib/esm/test/standalone/MergeConflict.test.js.map +1 -1
- package/lib/esm/test/standalone/NativeAppStorage.test.js.map +1 -1
- package/lib/esm/test/standalone/RenderMaterialElement.test.js.map +1 -1
- package/lib/esm/test/standalone/RenderTimeline.test.js.map +1 -1
- package/lib/esm/test/standalone/SQLiteDb.test.js.map +1 -1
- package/lib/esm/test/standalone/SchemaUtils.test.js.map +1 -1
- package/lib/esm/test/standalone/SectionDrawing.test.js.map +1 -1
- package/lib/esm/test/standalone/ServerBasedLocks.test.js.map +1 -1
- package/lib/esm/test/standalone/Setting.test.js.map +1 -1
- package/lib/esm/test/standalone/Settings.test.js.map +1 -1
- package/lib/esm/test/standalone/SettingsSchemas.test.js.map +1 -1
- package/lib/esm/test/standalone/SnapshotDb.test.js.map +1 -1
- package/lib/esm/test/standalone/Texture.test.js.map +1 -1
- package/lib/esm/test/standalone/TileCache.test.js.map +1 -1
- package/lib/esm/test/standalone/TileTree.test.js.map +1 -1
- package/lib/esm/test/standalone/TxnManager.test.js.map +1 -1
- package/lib/esm/test/standalone/ViewDefinition.test.js.map +1 -1
- package/lib/esm/test/standalone/ViewStoreDb.test.js.map +1 -1
- package/lib/esm/test/standalone/Workspace.test.js.map +1 -1
- package/lib/esm/workspace/Settings.js.map +1 -1
- package/lib/esm/workspace/SettingsSchemas.js.map +1 -1
- package/lib/esm/workspace/Workspace.js.map +1 -1
- package/lib/esm/workspace/WorkspaceEditor.js.map +1 -1
- package/package.json +13 -13
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ClassRegistry.test.js","sourceRoot":"","sources":["../../../../src/test/schema/ClassRegistry.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*--------------------------------------------------------------------------------------------*/\nimport { assert, expect } from \"chai\";\nimport * as sinon from \"sinon\";\nimport * as path from \"path\";\nimport {\n BisCodeSpec, Code, ConcreteEntityTypes, DefinitionElementProps, ECJsNames, ElementAspectProps, ElementProps, EntityReferenceSet, ModelProps,\n PropertyMetaData,\n RelatedElement, RelatedElementProps, RelationshipProps, SchemaState,\n} from \"@itwin/core-common\";\nimport {\n DefinitionElement, DefinitionModel, ElementRefersToElements, Entity, EntityReferences, IModelDb, IModelJsFs, Model, RepositoryLink,\n Schema, SnapshotDb, SpatialViewDefinition, StandaloneDb, UrlLink, ViewDefinition3d,\n} from \"../../core-backend\";\nimport { IModelTestUtils } from \"../IModelTestUtils\";\nimport { KnownTestLocations } from \"../KnownTestLocations\";\nimport { Element } from \"../../Element\";\nimport { Schemas } from \"../../Schema\";\nimport { ClassRegistry } from \"../../ClassRegistry\";\nimport { OpenMode } from \"@itwin/core-bentley\";\nimport { EntityClass, NavigationProperty, PrimitiveProperty, SchemaItemKey, SchemaKey } from \"@itwin/ecschema-metadata\";\n\ndescribe(\"Class Registry\", () => {\n let imodel: SnapshotDb;\n\n before(() => {\n const seedFileName = IModelTestUtils.resolveAssetFile(\"test.bim\");\n const testFileName = IModelTestUtils.prepareOutputFile(\"ClassRegistry\", \"ClassRegistryTest.bim\");\n imodel = IModelTestUtils.createSnapshotFromSeed(testFileName, seedFileName);\n assert.exists(imodel);\n });\n\n after(() => {\n imodel?.close();\n });\n\n it(\"should verify the Entity metadata of known element subclasses\", async () => {\n const code1 = new Code({ spec: \"0x10\", scope: \"0x11\", value: \"RF1.dgn\" });\n const el = imodel.elements.getElement(code1);\n assert.exists(el);\n if (el) {\n const metaData = await el.getMetaData();\n assert.exists(metaData);\n\n assert.equal(metaData.fullName, el.classFullName.replace(\":\", \".\"));\n // I happen to know that this is a BisCore:RepositoryLink\n assert.equal(metaData.fullName, RepositoryLink.classFullName.replace(\":\", \".\"));\n // Check the metadata on the class itself\n assert.isDefined(metaData.baseClass);\n assert.equal(metaData.baseClass?.fullName, UrlLink.classFullName.replace(\":\", \".\"));\n assert.isTrue(metaData.customAttributes?.has(\"BisCore.ClassHasHandler\"));\n // Check the metadata on the one property that RepositoryLink defines, RepositoryGuid\n const repositoryGuidProperty = await metaData.getProperty(\"repositoryGuid\") as PrimitiveProperty;\n assert.isDefined(repositoryGuidProperty);\n assert.equal(repositoryGuidProperty.extendedTypeName, \"BeGuid\");\n assert.isTrue(repositoryGuidProperty.customAttributes?.has(\"CoreCustomAttributes.HiddenProperty\"));\n }\n const el2 = imodel.elements.getElement(\"0x34\");\n assert.exists(el2);\n if (el2) {\n const metaData = await el2.getMetaData();\n assert.exists(metaData);\n\n assert.equal(metaData.fullName, el2.classFullName.replace(\":\", \".\"));\n // I happen to know that this is a BisCore.SpatialViewDefinition\n assert.equal(metaData.fullName, SpatialViewDefinition.classFullName.replace(\":\", \".\"));\n assert.isDefined(metaData.baseClass);\n assert.equal(metaData.baseClass?.fullName, ViewDefinition3d.classFullName.replace(\":\", \".\"));\n const modelSelectorProperty = await metaData.getProperty(\"modelSelector\") as NavigationProperty;\n assert.isDefined(modelSelectorProperty);\n assert.equal(modelSelectorProperty.relationshipClass.fullName, \"BisCore.SpatialViewDefinitionUsesModelSelector\");\n }\n });\n\n it(\"should verify Entity metadata with both base class and mixin properties\", async () => {\n const schemaPathname = path.join(KnownTestLocations.assetsDir, \"TestDomain.ecschema.xml\");\n await imodel.importSchemas([schemaPathname]); // will throw an exception if import fails\n\n const testDomainClass = await imodel.schemaContext.getSchemaItem(\"TestDomain\", \"TestDomainClass\", EntityClass);\n assert.isDefined(testDomainClass);\n\n assert.isDefined(testDomainClass?.baseClass);\n assert.equal(testDomainClass?.baseClass?.fullName, DefinitionElement.classFullName.replace(\":\", \".\"));\n\n assert.isDefined(testDomainClass?.mixins);\n assert.equal(testDomainClass?.mixins.length, 1);\n assert.equal(testDomainClass?.mixins[0].fullName, \"TestDomain.IMixin\");\n\n // Verify that the forEach method which is called when constructing an entity\n // is picking up all expected properties.\n const testData: string[] = [];\n\n // eslint-disable-next-line @typescript-eslint/no-deprecated\n IModelDb.forEachMetaData(imodel, \"TestDomain:TestDomainClass\", true, (propName: string, _property: PropertyMetaData) => {\n testData.push(ECJsNames.toJsName(propName));\n }, false);\n\n const expectedString = testData.find((testString: string) => {\n return testString === \"testMixinProperty\";\n });\n\n assert.isDefined(expectedString);\n });\n});\n\ndescribe(\"Class Registry - getRootMetaData\", () => {\n let imodel: StandaloneDb;\n\n before(async () => {\n const seedFileName = IModelTestUtils.resolveAssetFile(\"test.bim\");\n const testFileName = IModelTestUtils.prepareOutputFile(\"ClassRegistry\", \"GetRootMetaData.bim\");\n IModelJsFs.copySync(seedFileName, testFileName);\n\n const schemaState: SchemaState = StandaloneDb.validateSchemas(testFileName, true);\n assert.strictEqual(schemaState, SchemaState.UpgradeRecommended);\n StandaloneDb.upgradeStandaloneSchemas(testFileName);\n\n imodel = StandaloneDb.openFile(testFileName, OpenMode.ReadWrite);\n assert.exists(imodel);\n await imodel.importSchemaStrings([\n `<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n <ECSchema schemaName=\"TestSchema1\" 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 <ECSchemaReference name=\"CoreCustomAttributes\" version=\"01.00.03\" alias=\"CoreCA\"/>\n\n <ECEntityClass typeName=\"TestBase\">\n <BaseClass>bis:PhysicalElement</BaseClass>\n </ECEntityClass>\n\n <ECEntityClass typeName=\"TestDerived\">\n <BaseClass>TestBase</BaseClass>\n </ECEntityClass>\n\n <ECEntityClass typeName=\"ITestMixinForAspectsBase\">\n <ECCustomAttributes>\n <IsMixin xmlns=\"CoreCustomAttributes.01.00.03\">\n <AppliesToEntityClass>bis:ElementUniqueAspect</AppliesToEntityClass>\n </IsMixin>\n </ECCustomAttributes>\n </ECEntityClass>\n\n <ECEntityClass typeName=\"ITestMixinForAspectsDerived\">\n <BaseClass>ITestMixinForAspectsBase</BaseClass>\n <ECCustomAttributes>\n <IsMixin xmlns=\"CoreCustomAttributes.01.00.03\">\n <AppliesToEntityClass>bis:ElementUniqueAspect</AppliesToEntityClass>\n </IsMixin>\n </ECCustomAttributes>\n </ECEntityClass>\n\n <ECEntityClass typeName=\"ITestMixinForElements\" modifier=\"Abstract\">\n <ECCustomAttributes>\n <IsMixin xmlns=\"CoreCustomAttributes.01.00.03\">\n <AppliesToEntityClass>bis:Element</AppliesToEntityClass>\n </IsMixin>\n </ECCustomAttributes>\n </ECEntityClass>\n\n <ECEntityClass typeName=\"TestMixedInAndDerived\">\n <BaseClass>TestBase</BaseClass>\n <BaseClass>ITestMixinForElements</BaseClass>\n </ECEntityClass>\n\n </ECSchema>\n `,\n ]); // will throw an exception if import fails\n });\n\n after(() => {\n imodel?.close();\n });\n\n it(\"should get the root metadata\", async () => {\n for (const [testClass, expectedRoot] of [\n [\"TestSchema1.TestBase\", \"BisCore:Element\"],\n [\"TestSchema1.TestDerived\", \"BisCore:Element\"],\n [\"TestSchema1.ITestMixinForAspectsBase\", \"BisCore:ElementAspect\"],\n [\"TestSchema1.ITestMixinForAspectsDerived\", \"BisCore:ElementAspect\"],\n [\"TestSchema1.ITestMixinForElements\", \"BisCore:Element\"],\n [\"TestSchema1.TestMixedInAndDerived\", \"BisCore:Element\"],\n ] as const) {\n const rootMetaData = ClassRegistry.getRootEntity(imodel, testClass);\n expect(rootMetaData.replace(\".\", \":\")).to.equal(expectedRoot);\n }\n });\n});\n\ndescribe(\"Class Registry - generated classes\", () => {\n let imodel: SnapshotDb;\n const testSchemaPath = path.join(KnownTestLocations.assetsDir, \"TestGeneratedClasses.ecschema.xml\");\n\n before(async () => {\n const seedFileName = IModelTestUtils.resolveAssetFile(\"test.bim\");\n const testFileName = IModelTestUtils.prepareOutputFile(\"ClassRegistry\", \"GeneratedClasses.bim\");\n imodel = IModelTestUtils.createSnapshotFromSeed(testFileName, seedFileName);\n assert.exists(imodel);\n await imodel.importSchemas([testSchemaPath]); // will throw an exception if import fails\n });\n\n after(() => {\n imodel?.close();\n });\n\n interface TestModelWithNavPropProps extends ModelProps {\n elemNavProp: RelatedElementProps;\n aspectNavProp: RelatedElementProps;\n relNavProp: RelatedElementProps;\n }\n\n interface TestEntityProps extends DefinitionElementProps {\n prop: string;\n }\n\n interface LinkTableRelWithNavPropProps extends RelationshipProps {\n elemNavProp: RelatedElementProps;\n modelNavProp: RelatedElementProps;\n aspectNavProp: RelatedElementProps;\n }\n\n interface TestElementWithNavPropProps extends DefinitionElementProps {\n navProp: RelatedElementProps;\n }\n\n interface DerivedWithNavPropProps extends TestElementWithNavPropProps {\n derivedNavProp: RelatedElementProps;\n }\n\n interface TestAspectWithNavProp extends ElementAspectProps {\n navProp: RelatedElement;\n }\n\n class TestGeneratedClasses extends Schema {\n public static override get schemaName(): string { return \"TestGeneratedClasses\"; }\n public static get classes() {\n return [TestModelWithNavProp, TestElementWithNavProp, LinkTableRelWithNavProp, DerivedWithNavProp, Derived2, Derived3, Derived4, Derived5, Derived6];\n }\n public static registerSchema() {\n if (this !== Schemas.getRegisteredSchema(this.schemaName)) {\n Schemas.unregisterSchema(this.schemaName);\n Schemas.registerSchema(this);\n // eslint-disable-next-line @typescript-eslint/naming-convention\n for (const class_ of this.classes) {\n ClassRegistry.register(class_, this);\n }\n }\n }\n\n public static unregisterSchema() {\n Schemas.unregisterSchema(this.schemaName);\n }\n }\n\n class TestElementWithNavProp extends DefinitionElement {\n public static override get className() { return \"TestElementWithNavProp\"; }\n public static override schema = TestGeneratedClasses;\n public navProp: RelatedElement;\n public constructor(props: TestElementWithNavPropProps, inIModel: IModelDb) {\n super(props, inIModel);\n this.navProp = new RelatedElement(props.navProp);\n }\n }\n\n class TestModelWithNavProp extends DefinitionModel {\n public static override get className() { return \"TestModelWithNavProp\"; }\n public static override schema = TestGeneratedClasses;\n public elemNavProp: RelatedElement;\n public aspectNavProp: RelatedElement;\n public relNavProp: RelatedElement;\n public constructor(props: TestModelWithNavPropProps, inIModel: IModelDb) {\n super(props, inIModel);\n this.elemNavProp = new RelatedElement(props.elemNavProp);\n this.aspectNavProp = new RelatedElement(props.aspectNavProp);\n this.relNavProp = new RelatedElement(props.relNavProp);\n }\n }\n\n class LinkTableRelWithNavProp extends ElementRefersToElements {\n public static override get className() { return \"LinkTableRelWithNavProp\"; }\n public static override schema = TestGeneratedClasses;\n public elemNavProp: RelatedElement;\n public aspectNavProp: RelatedElement;\n public modelNavProp: RelatedElement;\n public constructor(props: LinkTableRelWithNavPropProps, inIModel: IModelDb) {\n super(props, inIModel);\n this.elemNavProp = new RelatedElement(props.elemNavProp);\n this.aspectNavProp = new RelatedElement(props.aspectNavProp);\n this.modelNavProp = new RelatedElement(props.modelNavProp);\n }\n }\n\n class DerivedWithNavProp extends TestElementWithNavProp {\n public static override get className() { return \"DerivedWithNavProp\"; }\n public static override schema = TestGeneratedClasses;\n public derivedNavProp: RelatedElement;\n public constructor(props: DerivedWithNavPropProps, inIModel: IModelDb) {\n super(props, inIModel);\n this.derivedNavProp = new RelatedElement(props.derivedNavProp);\n }\n }\n\n class Derived2 extends DerivedWithNavProp {\n public static override get className() { return \"Derived2\"; }\n }\n class Derived3 extends Derived2 {\n public static override get className() { return \"Derived3\"; }\n }\n class Derived4 extends Derived3 {\n public static override get className() { return \"Derived4\"; }\n }\n class Derived5 extends Derived4 {\n public static override get className() { return \"Derived5\"; }\n }\n class Derived6 extends Derived5 {\n public static override get className() { return \"Derived6\"; }\n }\n\n class NonGeneratedElement extends DefinitionElement {\n public static override get className() { return \"NonGeneratedElement\"; }\n }\n\n it(\"Should provide correct schemas and full-names on generated classes\", async () => {\n await imodel.importSchemaStrings([\n `<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n <ECSchema schemaName=\"CustomA\" alias=\"custA\" version=\"1.0.0\"\n xmlns=\"http://www.bentley.com/schemas/Bentley.ECXML.3.1\">\n <ECSchemaReference name=\"BisCore\" version=\"01.00\" alias=\"bis\"/>\n <ECSchemaReference name=\"Functional\" version=\"1.00\" alias=\"func\"/>\n <ECEntityClass typeName=\"NonGeneratedElement\">\n <BaseClass>bis:DefinitionElement</BaseClass>\n </ECEntityClass>\n <ECEntityClass typeName=\"GeneratedElement\">\n <BaseClass>NonGeneratedElement</BaseClass>\n </ECEntityClass>\n <ECEntityClass typeName=\"ElementC\">\n <BaseClass>GeneratedElement</BaseClass>\n </ECEntityClass>\n </ECSchema>\n `,\n `<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n <ECSchema schemaName=\"CustomB\" alias=\"custB\" version=\"1.0.0\"\n xmlns=\"http://www.bentley.com/schemas/Bentley.ECXML.3.1\">\n <ECSchemaReference name=\"BisCore\" version=\"01.00\" alias=\"bis\"/>\n <ECSchemaReference name=\"Functional\" version=\"1.00\" alias=\"func\"/>\n <ECSchemaReference name=\"CustomA\" version=\"01.00\" alias=\"custA\"/>\n <ECEntityClass typeName=\"DummyElement\">\n <BaseClass>bis:DefinitionElement</BaseClass>\n </ECEntityClass>\n <ECEntityClass typeName=\"ErrorElement\">\n <BaseClass>custA:ElementC</BaseClass>\n </ECEntityClass>\n </ECSchema>\n `,\n ]);\n\n class CustomASchema extends Schema {\n public static override get schemaName(): string { return \"CustomA\"; }\n public static get classes(): typeof Entity[] {\n return [NonGeneratedElement];\n }\n public static registerSchema() {\n if (this !== Schemas.getRegisteredSchema(this.schemaName)) {\n Schemas.unregisterSchema(this.schemaName);\n Schemas.registerSchema(this);\n for (const ecClass of this.classes) {\n ClassRegistry.register(ecClass, this);\n }\n }\n }\n\n public static unregisterSchema() {\n Schemas.unregisterSchema(this.schemaName);\n }\n }\n\n CustomASchema.registerSchema();\n\n class DummyElement extends DefinitionElement {\n public static override get className() { return \"DummyElement\"; }\n }\n\n class CustomBSchema extends Schema {\n public static override get schemaName(): string { return \"CustomB\"; }\n public static get classes() {\n return [DummyElement];\n }\n public static registerSchema() {\n if (this !== Schemas.getRegisteredSchema(this.schemaName)) {\n Schemas.unregisterSchema(this.schemaName);\n Schemas.registerSchema(this);\n for (const ecClass of this.classes) {\n ClassRegistry.register(ecClass, this);\n }\n }\n }\n\n public static unregisterSchema() {\n Schemas.unregisterSchema(this.schemaName);\n }\n }\n\n CustomBSchema.registerSchema();\n\n const nonGeneratedElement = imodel.getJsClass(\"CustomA:NonGeneratedElement\");\n assert.equal(nonGeneratedElement.classFullName, \"CustomA:NonGeneratedElement\");\n const generatedElement = imodel.getJsClass(\"CustomA:GeneratedElement\");\n assert.equal(generatedElement.classFullName, \"CustomA:GeneratedElement\");\n const elementC = imodel.getJsClass(\"CustomA:ElementC\");\n assert.equal(elementC.classFullName, \"CustomA:ElementC\");\n const dummyElement = imodel.getJsClass(\"CustomB:DummyElement\");\n assert.equal(dummyElement.classFullName, \"CustomB:DummyElement\");\n\n //This is the class that had the wrong schema\n const errorElement = imodel.getJsClass(\"CustomB:ErrorElement\");\n assert.equal(errorElement.classFullName, \"CustomB:ErrorElement\");\n assert.isTrue(errorElement.schemaItemKey.matches(new SchemaItemKey(\"ErrorElement\", new SchemaKey(\"CustomB\", 1, 0, 0))));\n assert.equal(errorElement.className, \"ErrorElement\");\n assert.equal(errorElement.schema.schemaName, \"CustomB\");\n\n // Create an instance of ErrorElement\n const errorElementInstance = Entity.instantiate(errorElement, { classFullName: errorElement.classFullName }, imodel);\n assert.exists(errorElementInstance);\n assert.instanceOf(errorElementInstance, errorElement);\n assert.instanceOf(errorElementInstance, Entity);\n assert.equal(errorElementInstance.className, \"ErrorElement\");\n assert.equal(errorElementInstance.schemaName, \"CustomB\");\n const metadata = await errorElementInstance.getMetaData();\n assert.exists(metadata);\n assert.equal(metadata.fullName, \"CustomB.ErrorElement\");\n });\n\n // if a single inherited class is not generated, the entire hierarchy is considered not-generated\n it(\"should only generate automatic collectReferenceIds implementations for generated classes\", async () => {\n await imodel.importSchemas([testSchemaPath]); // will throw an exception if import fails\n\n class GeneratedTestElementWithNavProp extends imodel.getJsClass<typeof Element>(\"TestGeneratedClasses:TestElementWithNavProp\") {\n constructor(props: TestElementWithNavPropProps) {\n super(props, imodel);\n }\n }\n\n const testEntityId = imodel.elements.insertElement({\n classFullName: \"TestGeneratedClasses:TestEntity\",\n prop: \"sample-value\",\n model: IModelDb.dictionaryId,\n code: Code.createEmpty(),\n } as TestEntityProps);\n\n const elemWithNavProp = new GeneratedTestElementWithNavProp({\n classFullName: \"TestGeneratedClasses:TestElementWithNavProp\",\n navProp: {\n id: testEntityId,\n relClassName: \"TestGeneratedClasses:ElemRel\",\n },\n } as TestElementWithNavPropProps);\n\n // eslint-disable-next-line @typescript-eslint/dot-notation\n assert.isDefined(GeneratedTestElementWithNavProp.prototype[\"collectReferenceIds\"]);\n expect(\n [...elemWithNavProp.getReferenceIds()],\n ).to.have.members([\n EntityReferences.fromEntityType(elemWithNavProp.model, ConcreteEntityTypes.Model),\n EntityReferences.fromEntityType(elemWithNavProp.code.scope, ConcreteEntityTypes.Element),\n EntityReferences.fromEntityType(testEntityId, ConcreteEntityTypes.Element),\n ]);\n\n // eslint-disable-next-line @typescript-eslint/naming-convention\n const GeneratedTestAspectWithNavProp = imodel.getJsClass(\"TestGeneratedClasses:TestAspectWithNavProp\");\n assert.isTrue(GeneratedTestAspectWithNavProp.prototype.hasOwnProperty(\"collectReferenceIds\"));\n });\n\n it(\"should not override collectReferenceIds for BisCore schema classes\", async () => {\n // AnnotationFrameStyle is an example of an unregistered bis class without an implementation of collectReferenceIds\n assert.isTrue(imodel.getJsClass(\"BisCore:AnnotationFrameStyle\").prototype.hasOwnProperty(\"collectReferenceIds\"));\n });\n\n it(\"should get references from its bis superclass\", async () => {\n await imodel.importSchemas([testSchemaPath]); // will throw an exception if import fails\n\n class GeneratedTestElementWithNavProp extends imodel.getJsClass<typeof Element>(\"TestGeneratedClasses:TestElementWithNavProp\") {\n constructor(props: ElementProps) {\n super(props, imodel);\n }\n }\n\n const testEntityId = imodel.elements.insertElement({\n classFullName: \"TestGeneratedClasses:TestEntity\",\n prop: \"sample-value\",\n model: IModelDb.dictionaryId,\n code: Code.createEmpty(),\n } as TestEntityProps);\n\n const elemWithNavProp = new GeneratedTestElementWithNavProp({\n classFullName: \"TestGeneratedClasses:TestElementWithNavProp\",\n navProp: new RelatedElement({\n id: testEntityId,\n relClassName: \"TestGeneratedClasses:ElemRel\",\n }),\n model: IModelDb.dictionaryId,\n code: new Code({\n scope: IModelDb.rootSubjectId,\n spec: imodel.codeSpecs.getByName(BisCodeSpec.spatialCategory).id,\n value: \"\",\n }),\n parent: new RelatedElement({\n // since we don't actually insert this element in this test, using an arbitrary id string\n id: \"0x0000ffff\",\n relClassName: \"BisCore:ElementOwnsChildElements\",\n }),\n } as TestElementWithNavPropProps);\n\n // super class here is Element so we should get the code.scope, model and parent as references\n expect(\n [...elemWithNavProp.getReferenceIds()],\n ).to.have.members([\n EntityReferences.fromEntityType(elemWithNavProp.model, ConcreteEntityTypes.Model),\n EntityReferences.fromEntityType(elemWithNavProp.code.scope, ConcreteEntityTypes.Element),\n elemWithNavProp.parent && EntityReferences.fromEntityType(elemWithNavProp.parent?.id, ConcreteEntityTypes.Element),\n EntityReferences.fromEntityType(testEntityId, ConcreteEntityTypes.Element),\n ].filter((x) => x !== undefined));\n\n const modelTestEntityIds = new Array(2).fill(undefined).map((_, index) => imodel.elements.insertElement({\n classFullName: \"TestGeneratedClasses:TestEntity\",\n prop: `model-value-${index}`,\n model: IModelDb.dictionaryId,\n code: Code.createEmpty(),\n } as TestEntityProps));\n\n // eslint-disable-next-line @typescript-eslint/naming-convention\n const GeneratedTestAspectWithNavProp = imodel.getJsClass(\"TestGeneratedClasses:TestAspectWithNavProp\");\n\n const aspectWithNavPropId = imodel.elements.insertAspect({\n classFullName: GeneratedTestAspectWithNavProp.classFullName,\n navProp: { id: modelTestEntityIds[0], relClassName: \"TestGeneratedClasses:NonElemRel\" },\n element: { id: modelTestEntityIds[1] },\n } as TestAspectWithNavProp);\n\n class GeneratedTestModelWithNavProp extends imodel.getJsClass<typeof Model>(\"TestGeneratedClasses:TestModelWithNavProp\") {\n constructor(props: TestModelWithNavPropProps) {\n super(props, imodel);\n }\n }\n\n const modelWithNavProp = new GeneratedTestModelWithNavProp({\n classFullName: GeneratedTestModelWithNavProp.classFullName,\n modeledElement: { id: modelTestEntityIds[0] },\n parentModel: IModelDb.dictionaryId,\n elemNavProp: { id: modelTestEntityIds[1], relClassName: \"TestGeneratedClasses:ModelToElemNavRel\" },\n aspectNavProp: { id: aspectWithNavPropId, relClassName: \"TestGeneratedClasses:ModelToAspectNavRel\" },\n // removed due to a bug\n // relNavProp: { id: relWithNavPropId, relClassName: \"TestGeneratedClasses:ModelToRelNavRel\" },\n } as TestModelWithNavPropProps);\n\n const modelWithNavPropId = modelWithNavProp.insert();\n\n expect(\n [...modelWithNavProp.getReferenceIds()],\n ).to.have.members([\n EntityReferences.fromEntityType(modelTestEntityIds[1], ConcreteEntityTypes.Element),\n EntityReferences.fromEntityType(IModelDb.dictionaryId, ConcreteEntityTypes.Model),\n EntityReferences.fromEntityType(modelTestEntityIds[0], ConcreteEntityTypes.Element),\n EntityReferences.fromEntityType(aspectWithNavPropId, ConcreteEntityTypes.ElementAspect),\n // ignoring this one, because there seems to be a bug when specifying a relationship instance as a nav prop\n // EntityReferences.fromEntityType(relWithNavPropId, ConcreteEntityTypes.Relationship),\n ].filter((x) => x !== undefined));\n\n const relTestEntityIds = new Array(3).fill(undefined).map((_, index) => imodel.elements.insertElement({\n classFullName: \"TestGeneratedClasses:TestEntity\",\n prop: `rel-value-${index}`,\n model: IModelDb.dictionaryId,\n code: Code.createEmpty(),\n } as TestEntityProps));\n\n // eslint-disable-next-line @typescript-eslint/naming-convention\n const GeneratedLinkTableRelWithNavProp = imodel.getJsClass<typeof LinkTableRelWithNavProp>(\"TestGeneratedClasses:LinkTableRelWithNavProp\");\n\n const relWithNavProp = new GeneratedLinkTableRelWithNavProp({\n classFullName: GeneratedLinkTableRelWithNavProp.classFullName,\n sourceId: relTestEntityIds[0],\n targetId: relTestEntityIds[1],\n elemNavProp: {\n id: relTestEntityIds[2],\n relClassName: \"TestGeneratedClasses:LinkTableRelToElemNavRel\",\n },\n modelNavProp: {\n id: modelWithNavPropId,\n relClassName: \"TestGeneratedClasses:LinkTableRelToModelNavRel\",\n },\n aspectNavProp: {\n id: aspectWithNavPropId,\n relClassName: \"TestGeneratedClasses:LinkTableRelToAspectNavRel\",\n },\n }, imodel);\n\n const _relWithNavPropId = relWithNavProp.insert();\n\n expect(\n [...relWithNavProp.getReferenceIds()],\n ).to.have.members([\n ...relTestEntityIds.map((id) => EntityReferences.fromEntityType(id, ConcreteEntityTypes.Element)),\n EntityReferences.fromEntityType(modelWithNavPropId, ConcreteEntityTypes.Model),\n EntityReferences.fromEntityType(aspectWithNavPropId, ConcreteEntityTypes.ElementAspect),\n ]);\n });\n\n it(\"should not override custom registered schema class implementations of collectReferenceIds\", async () => {\n const testImplReferenceId = \"TEST-INVALID-ID\";\n class MyTestElementWithNavProp extends TestElementWithNavProp {\n public override collectReferenceIds(referenceIds: EntityReferenceSet) {\n super.collectReferenceIds(referenceIds);\n referenceIds.addElement(testImplReferenceId);\n }\n }\n class MyTestGeneratedClasses extends TestGeneratedClasses {\n public static override get classes() {\n return [MyTestElementWithNavProp, Derived2, Derived3, Derived4, Derived5, Derived6];\n }\n }\n imodel.jsClassMap.clear();\n MyTestGeneratedClasses.registerSchema();\n\n // eslint-disable-next-line @typescript-eslint/naming-convention\n const ActualTestElementWithNavProp = imodel.getJsClass<typeof MyTestElementWithNavProp>(TestElementWithNavProp.classFullName);\n\n const testElementWithNavPropCollectReferencesSpy = sinon.spy(ActualTestElementWithNavProp.prototype, \"collectReferenceIds\");\n\n class ActualDerivedWithNavProp extends imodel.getJsClass<typeof Element>(DerivedWithNavProp.classFullName) {\n constructor(props: DerivedWithNavPropProps) {\n super(props, imodel);\n }\n }\n\n const testEntity1Id = imodel.elements.insertElement({\n classFullName: \"TestGeneratedClasses:TestEntity\",\n prop: \"sample-value-1\",\n model: IModelDb.dictionaryId,\n code: Code.createEmpty(),\n } as TestEntityProps);\n\n const testEntity2Id = imodel.elements.insertElement({\n classFullName: \"TestGeneratedClasses:TestEntity\",\n prop: \"sample-value-2\",\n model: IModelDb.dictionaryId,\n code: Code.createEmpty(),\n } as TestEntityProps);\n\n const elemWithNavProp = new ActualTestElementWithNavProp({\n classFullName: TestElementWithNavProp.classFullName,\n navProp: {\n id: testEntity1Id,\n relClassName: \"TestGeneratedClasses:ElemRel\",\n },\n } as TestElementWithNavPropProps, imodel);\n\n // eslint-disable-next-line @typescript-eslint/unbound-method\n assert.isDefined(ActualTestElementWithNavProp.prototype.collectReferenceIds);\n expect(\n [...elemWithNavProp.getReferenceIds()],\n ).to.have.members([\n EntityReferences.fromEntityType(elemWithNavProp.model, ConcreteEntityTypes.Model),\n EntityReferences.fromEntityType(elemWithNavProp.code.scope, ConcreteEntityTypes.Element),\n elemWithNavProp.parent && EntityReferences.fromEntityType(elemWithNavProp.parent?.id, ConcreteEntityTypes.Element),\n EntityReferences.fromEntityType(testImplReferenceId, ConcreteEntityTypes.Element),\n ].filter((x) => x !== undefined));\n\n expect(testElementWithNavPropCollectReferencesSpy.called).to.be.true;\n testElementWithNavPropCollectReferencesSpy.resetHistory();\n\n const derivedElemWithNavProp = new ActualDerivedWithNavProp({\n classFullName: DerivedWithNavProp.classFullName,\n navProp: {\n id: testEntity1Id,\n relClassName: \"TestGeneratedClasses:ElemRel\",\n },\n derivedNavProp: {\n id: testEntity2Id,\n relClassName: \"TestGeneratedClasses:DerivedElemRel\",\n },\n } as DerivedWithNavPropProps);\n\n // eslint-disable-next-line @typescript-eslint/dot-notation\n assert.isDefined(ActualDerivedWithNavProp.prototype[\"collectReferenceIds\"]);\n // This demonstrates that if a non-generated class has a registered non-biscore base, it will not get a generated impl,\n expect(\n [...derivedElemWithNavProp.getReferenceIds()],\n ).to.have.members([\n EntityReferences.fromEntityType(elemWithNavProp.model, ConcreteEntityTypes.Model),\n EntityReferences.fromEntityType(elemWithNavProp.code.scope, ConcreteEntityTypes.Element),\n elemWithNavProp.parent && EntityReferences.fromEntityType(elemWithNavProp.parent?.id, ConcreteEntityTypes.Element),\n EntityReferences.fromEntityType(testImplReferenceId, ConcreteEntityTypes.Element),\n ].filter((x) => x !== undefined));\n // explicitly check we called the super function\n // (we already know its implementation was called, because testImplReferenceId is in the derived call's result)\n expect(testElementWithNavPropCollectReferencesSpy.called).to.be.true;\n\n sinon.restore();\n MyTestGeneratedClasses.unregisterSchema();\n });\n\n it(\"should work along a complex chain of overrides\", async () => {\n class MyDerived2 extends Derived2 {\n public override collectReferenceIds(referenceIds: EntityReferenceSet) {\n super.collectReferenceIds(referenceIds);\n referenceIds.addElement(\"derived-2\");\n }\n }\n class MyDerived4 extends Derived4 {\n public override collectReferenceIds(referenceIds: EntityReferenceSet) {\n super.collectReferenceIds(referenceIds);\n referenceIds.addElement(\"derived-4\");\n }\n }\n class MyTestGeneratedClasses extends TestGeneratedClasses {\n public static override get classes() {\n // leaving Derived3,5,6 generated\n return [MyDerived2, MyDerived4];\n }\n }\n imodel.jsClassMap.clear();\n MyTestGeneratedClasses.registerSchema();\n\n /* eslint-disable @typescript-eslint/naming-convention */\n const ActualTestElementWithNavProp = imodel.getJsClass<typeof Element>(\"TestGeneratedClasses:TestElementWithNavProp\");\n const ActualDerivedWithNavProp = imodel.getJsClass<typeof Element>(\"TestGeneratedClasses:DerivedWithNavProp\");\n const ActualDerived2 = imodel.getJsClass<typeof Element>(\"TestGeneratedClasses:Derived2\");\n const ActualDerived3 = imodel.getJsClass<typeof Element>(\"TestGeneratedClasses:Derived3\");\n const ActualDerived4 = imodel.getJsClass<typeof Element>(\"TestGeneratedClasses:Derived4\");\n const ActualDerived5 = imodel.getJsClass<typeof Element>(\"TestGeneratedClasses:Derived5\");\n const ActualDerived6 = imodel.getJsClass<typeof Element>(\"TestGeneratedClasses:Derived6\");\n\n expect(ActualTestElementWithNavProp.isGeneratedClass).to.be.true;\n expect(ActualDerivedWithNavProp.isGeneratedClass).to.be.true;\n expect(ActualDerived2.isGeneratedClass).to.be.false;\n expect(ActualDerived3.isGeneratedClass).to.be.true;\n expect(ActualDerived4.isGeneratedClass).to.be.false;\n expect(ActualDerived5.isGeneratedClass).to.be.true;\n expect(ActualDerived6.isGeneratedClass).to.be.true;\n\n assert.isTrue(ActualTestElementWithNavProp.prototype.hasOwnProperty(\"collectReferenceIds\")); // should have automatic impl\n assert.isTrue(ActualDerivedWithNavProp.prototype.hasOwnProperty(\"collectReferenceIds\"));\n assert.isTrue(ActualDerived2.prototype.hasOwnProperty(\"collectReferenceIds\")); // non-generated; manually implements so has method\n assert.isFalse(ActualDerived3.prototype.hasOwnProperty(\"collectReferenceIds\")); // base is non-generated so it shouldn't get the automatic impl\n assert.isTrue(ActualDerived4.prototype.hasOwnProperty(\"collectReferenceIds\")); // manually implements so it should have the method\n assert.isFalse(ActualDerived5.prototype.hasOwnProperty(\"collectReferenceIds\")); // ancestor is non-generated so it shouldn't get the automatic impl\n assert.isFalse(ActualDerived6.prototype.hasOwnProperty(\"collectReferenceIds\")); // ancestor is non-generated so it shouldn't get the automatic impl\n\n const testEntity1Id = imodel.elements.insertElement({\n classFullName: \"TestGeneratedClasses:Derived6\",\n prop: \"sample-value-1\",\n model: IModelDb.dictionaryId,\n code: Code.createEmpty(),\n } as TestEntityProps);\n\n const testEntity2Id = imodel.elements.insertElement({\n classFullName: \"TestGeneratedClasses:TestEntity\",\n prop: \"sample-value-2\",\n model: IModelDb.dictionaryId,\n code: Code.createEmpty(),\n } as TestEntityProps);\n\n const derived6Id = imodel.elements.insertElement({\n classFullName: Derived6.classFullName,\n model: IModelDb.dictionaryId,\n code: Code.createEmpty(),\n navProp: {\n id: testEntity1Id,\n relClassName: \"TestGeneratedClasses:ElemRel\",\n },\n derivedNavProp: {\n id: testEntity2Id,\n relClassName: \"TestGeneratedClasses:DerivedElemRel\",\n },\n } as DerivedWithNavPropProps);\n\n const derived6 = imodel.elements.getElement(derived6Id);\n\n /** it is not possible to make a spy of an already existing spy, so lazy try making one\n * this is necessary since due to prototypes, some \"methods\" we listen to are actually the same\n */\n function spyCollectReferenceIds(cls: typeof Element): sinon.SinonSpy {\n if ((cls.prototype as any).collectReferenceIds.isSinonProxy) {\n return (cls.prototype as any).collectReferenceIds;\n }\n return sinon.spy(cls.prototype, \"collectReferenceIds\" as any);\n }\n\n const elementMethodSpy = spyCollectReferenceIds(Element);\n const testElementWithNavPropSpy = spyCollectReferenceIds(ActualTestElementWithNavProp);\n const derivedWithNavPropSpy = spyCollectReferenceIds(ActualDerivedWithNavProp);\n const derived2Spy = spyCollectReferenceIds(ActualDerived2);\n const derived3Spy = spyCollectReferenceIds(ActualDerived3);\n const derived4Spy = spyCollectReferenceIds(ActualDerived4);\n const derived5Spy = spyCollectReferenceIds(ActualDerived5);\n const derived6Spy = spyCollectReferenceIds(ActualDerived6);\n\n // This demonstrates that if a generated class (Derived6) has a non-generated ancestor, it will not get a generated impl\n // instead it will just call the closest non-generated ancestor (Derived4)\n expect([...derived6.getReferenceIds()]).to.have.members(\n [\n EntityReferences.fromEntityType(derived6.model, ConcreteEntityTypes.Model),\n EntityReferences.fromEntityType(derived6.code.scope, ConcreteEntityTypes.Element),\n derived6.parent?.id && EntityReferences.fromEntityType(derived6.parent.id, ConcreteEntityTypes.Element),\n // \"TestGeneratedClasses:Derived4\" is MyDerived4 above, which extends the Derived4 class, which extends up\n // without any custom ancestor implementing collectReferenceIds, so Element.collectReferenceIds is called as the\n // super, and no navigation properties or other custom implementations are called so we only get \"derived-4\"\n EntityReferences.fromEntityType(\"derived-4\", ConcreteEntityTypes.Element),\n ].filter((x) => x !== undefined),\n );\n\n expect(elementMethodSpy.called).to.be.true; // this is the `super.collectReferenceIds` call in MyDerived4\n expect(testElementWithNavPropSpy.called).to.be.false;\n expect(derivedWithNavPropSpy.called).to.be.false;\n\n // these are the same (tested below)\n expect(derived2Spy.called).to.be.false;\n expect(derived3Spy.called).to.be.false;\n\n // these are all the same (tested below)\n expect(derived4Spy.called).to.be.true;\n expect(derived5Spy.called).to.be.true;\n expect(derived6Spy.called).to.be.true;\n\n expect(\n new Set(\n [\n Element,\n ActualTestElementWithNavProp,\n ActualDerivedWithNavProp,\n Derived2,\n Derived3, // same as above (so will be removed from set)\n Derived4,\n Derived5, // save as above (so will be removed from set)\n Derived6, // save as above (so will be removed from set)\n ].map((e) => e.prototype[\"collectReferenceIds\"]), // eslint-disable-line @typescript-eslint/dot-notation\n ),\n ).to.deep.equal(\n new Set(\n [\n Element,\n ActualTestElementWithNavProp,\n ActualDerivedWithNavProp,\n Derived2,\n Derived4,\n ].map((e) => e.prototype[\"collectReferenceIds\"]), // eslint-disable-line @typescript-eslint/dot-notation\n ),\n );\n\n MyTestGeneratedClasses.unregisterSchema();\n sinon.restore();\n });\n});\n\nclass Base {\n public static staticProperty: string = \"base\";\n public static get sqlName(): string { return `s.${this.staticProperty}`; }\n}\n\nclass Derived extends Base {\n}\n\ndescribe(\"Static Properties\", () => {\n it(\"should be inherited, and the subclass should get its own copy\", async () => {\n assert.equal(Base.staticProperty, \"base\");\n assert.equal(Derived.staticProperty, \"base\"); // Derived inherits Base's staticProperty (via its prototype)\n Derived.staticProperty = \"derived\"; // Derived now gets its own copy of staticProperty\n assert.equal(Base.staticProperty, \"base\"); // Base's staticProperty remains as it was\n assert.equal(Derived.staticProperty, \"derived\"); // Derived's staticProperty is now different\n assert.equal(Base.sqlName, \"s.base\");\n const d = new Derived();\n assert.equal((d.constructor as any).staticProperty, \"derived\"); // Instances of Derived see Derived.staticProperty\n const b = new Base();\n assert.equal((b.constructor as any).staticProperty, \"base\"); // Instances of Base see Base.staticProperty\n });\n\n});\n\ndescribe(\"Global state of ClassRegistry\", () => {\n let imodel1: SnapshotDb;\n let imodel2: SnapshotDb;\n\n before(() => {\n const seedFileName = IModelTestUtils.resolveAssetFile(\"test.bim\");\n const testFileName1 = IModelTestUtils.prepareOutputFile(\"ClassRegistry\", \"GlobalState1.bim\");\n const testFileName2 = IModelTestUtils.prepareOutputFile(\"ClassRegistry\", \"GlobalState2.bim\");\n imodel1 = IModelTestUtils.createSnapshotFromSeed(testFileName1, seedFileName);\n imodel2 = IModelTestUtils.createSnapshotFromSeed(testFileName2, seedFileName);\n assert.exists(imodel1);\n assert.exists(imodel2);\n });\n\n after(() => {\n imodel1?.close();\n imodel2?.close();\n });\n\n it(\"registering a class in different imodels should not affect each other\", async () => {\n await imodel1.importSchemaStrings([\n `<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n <ECSchema schemaName=\"TestSchema\" 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\n <ECEntityClass typeName=\"TestClass\">\n <BaseClass>bis:PhysicalElement</BaseClass>\n <ECProperty propertyName=\"foo\" typeName=\"string\"/>\n <ECNavigationProperty propertyName=\"RelatedTestClass\" relationshipName=\"MyRelationship\" direction=\"backward\"/>\n </ECEntityClass>\n\n <ECRelationshipClass typeName=\"MyRelationship\" modifier=\"None\" strength=\"embedding\">\n <Source multiplicity=\"(0..1)\" roleLabel=\"has\" polymorphic=\"false\">\n <Class class=\"TestClass\"/>\n </Source>\n <Target multiplicity=\"(0..*)\" roleLabel=\"has\" polymorphic=\"false\">\n <Class class=\"TestClass\"/>\n </Target>\n </ECRelationshipClass>\n </ECSchema>\n `,\n ]);\n await imodel2.importSchemaStrings([\n `<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n <ECSchema schemaName=\"TestSchema\" 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=\"TestClass\">\n <BaseClass>bis:PhysicalElement</BaseClass>\n <ECProperty propertyName=\"bar\" typeName=\"string\"/>\n </ECEntityClass>\n </ECSchema>\n `,\n ]);\n\n const testClass1 = imodel1.getJsClass(\"TestSchema:TestClass\");\n assert.isFalse(testClass1.hasOwnProperty(\"testPropertyGuard\"));\n (testClass1 as any).testPropertyGuard = true;\n assert.isTrue(testClass1.hasOwnProperty(\"testPropertyGuard\"));\n\n const testClass2 = imodel2.getJsClass(\"TestSchema:TestClass\");\n assert.isFalse(testClass2.hasOwnProperty(\"testPropertyGuard\"));\n });\n\n\n});\n// TODO: add tests on the new model/aspect prefixes\n"]}
|
|
1
|
+
{"version":3,"file":"ClassRegistry.test.js","sourceRoot":"","sources":["../../../../src/test/schema/ClassRegistry.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FunctionalDomain.test.js","sourceRoot":"","sources":["../../../../src/test/schema/FunctionalDomain.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 { assert, expect } from \"chai\";\nimport { join } from \"path\";\nimport { restore as sinonRestore, type SinonSpy, spy as sinonSpy } from \"sinon\";\nimport { Guid, Id64 } from \"@itwin/core-bentley\";\nimport { CodeScopeSpec, CodeSpec, ElementProps, IModel } from \"@itwin/core-common\";\nimport { ClassRegistry } from \"../../ClassRegistry\";\nimport { ElementUniqueAspect, OnAspectIdArg, OnAspectPropsArg } from \"../../ElementAspect\";\nimport {\n _nativeDb, ChannelControl, ChannelKey, FunctionalBreakdownElement, FunctionalComponentElement, FunctionalModel, FunctionalPartition,\n FunctionalSchema, InformationPartitionElement, OnChildElementIdArg, OnChildElementPropsArg, OnElementIdArg, OnElementInModelIdArg,\n OnElementInModelPropsArg, OnElementPropsArg, OnModelIdArg, OnModelPropsArg, OnSubModelIdArg, OnSubModelPropsArg, Schemas, StandaloneDb,\n} from \"../../core-backend\";\nimport { ElementOwnsChildElements, ElementOwnsUniqueAspect, SubjectOwnsPartitionElements } from \"../../NavigationRelationship\";\nimport { IModelTestUtils } from \"../IModelTestUtils\";\nimport { KnownTestLocations } from \"../KnownTestLocations\";\n\nlet iModelDb: StandaloneDb;\nconst insertedLabel = \"inserted label\";\nconst updatedLabel = \"updated label\";\n\n/** test schema for supplying element/model/aspect classes */\nclass TestSchema extends FunctionalSchema {\n public static override get schemaName() { return \"TestFunctional\"; }\n}\n\n/** partition element for testing `Element.onSubModelXxx` methods */\nclass TestFuncPartition extends InformationPartitionElement {\n public static override get className() { return \"TestFuncPartition\"; }\n\n public static override onSubModelInsert(arg: OnSubModelPropsArg): void {\n super.onSubModelInsert(arg);\n assert.equal(arg.iModel, iModelDb);\n assert.equal(arg.subModelProps.classFullName, TestFuncModel.classFullName);\n }\n public static override onSubModelInserted(arg: OnSubModelIdArg): void {\n super.onSubModelInserted(arg);\n assert.equal(arg.iModel, iModelDb);\n }\n public static override onSubModelDelete(arg: OnSubModelIdArg): void {\n super.onSubModelDelete(arg);\n assert.equal(arg.iModel, iModelDb);\n }\n public static override onSubModelDeleted(arg: OnSubModelIdArg): void {\n super.onSubModelDeleted(arg);\n assert.equal(arg.iModel, iModelDb);\n }\n}\n\n/** for testing `Model.onXxx` methods */\nclass TestFuncModel extends FunctionalModel {\n public static override get className() { return \"TestFuncModel\"; }\n public static dontDelete = \"\";\n\n public static override onInsert(arg: OnModelPropsArg): void {\n super.onInsert(arg);\n assert.equal(arg.iModel, iModelDb);\n assert.equal(arg.props.classFullName, this.classFullName);\n }\n public static override onInserted(arg: OnModelIdArg): void {\n super.onInserted(arg);\n assert.equal(arg.iModel, iModelDb);\n }\n public static override onUpdate(arg: OnModelPropsArg): void {\n super.onUpdate(arg);\n assert.equal(arg.iModel, iModelDb);\n }\n public static override onUpdated(arg: OnModelIdArg): void {\n super.onUpdated(arg);\n assert.equal(arg.iModel, iModelDb);\n }\n public static override onDelete(arg: OnModelIdArg): void {\n super.onDelete(arg);\n assert.equal(arg.iModel, iModelDb);\n }\n public static override onDeleted(arg: OnModelIdArg): void {\n super.onDeleted(arg);\n assert.equal(arg.iModel, iModelDb);\n }\n public static override onInsertElement(arg: OnElementInModelPropsArg): void {\n super.onInsertElement(arg);\n assert.equal(arg.iModel, iModelDb);\n if (arg.elementProps.code.value === \"badval\")\n throw new Error(\"bad element\");\n }\n public static override onInsertedElement(arg: OnElementInModelIdArg): void {\n super.onInsertedElement(arg);\n assert.equal(arg.iModel, iModelDb);\n }\n public static override onUpdateElement(arg: OnElementInModelPropsArg): void {\n super.onUpdateElement(arg);\n assert.equal(arg.iModel, iModelDb);\n }\n public static override onUpdatedElement(arg: OnElementInModelIdArg): void {\n super.onUpdatedElement(arg);\n assert.equal(arg.iModel, iModelDb);\n }\n public static override onDeleteElement(arg: OnElementInModelIdArg): void {\n super.onDeleteElement(arg);\n assert.equal(arg.iModel, iModelDb);\n if (arg.elementId === this.dontDelete)\n throw new Error(\"dont delete my element\");\n }\n public static override onDeletedElement(arg: OnElementInModelIdArg): void {\n super.onDeletedElement(arg);\n assert.equal(arg.iModel, iModelDb);\n }\n}\n\n/** for testing `Element.onXxx` methods */\nclass Breakdown extends FunctionalBreakdownElement {\n public static override get className() { return \"Breakdown\"; }\n public static dontDeleteChild = \"\";\n\n public static override onInsert(arg: OnElementPropsArg): void {\n arg.props.userLabel = insertedLabel;\n super.onInsert(arg);\n assert.equal(arg.iModel, iModelDb);\n assert.equal(arg.props.classFullName, this.classFullName);\n }\n public static override onInserted(arg: OnElementIdArg): void {\n super.onInserted(arg);\n assert.equal(arg.iModel, iModelDb);\n }\n public static override onUpdate(arg: OnElementPropsArg): void {\n arg.props.userLabel = updatedLabel;\n super.onUpdate(arg);\n assert.equal(arg.iModel, iModelDb);\n assert.equal(arg.props.classFullName, this.classFullName);\n }\n public static override onUpdated(arg: OnElementIdArg): void {\n super.onUpdated(arg);\n assert.equal(arg.iModel, iModelDb);\n }\n public static override onDelete(arg: OnElementIdArg): void {\n super.onDelete(arg);\n assert.equal(arg.iModel, iModelDb);\n }\n public static override onDeleted(arg: OnElementIdArg): void {\n super.onDeleted(arg);\n assert.equal(arg.iModel, iModelDb);\n }\n public static override onChildDelete(arg: OnChildElementIdArg): void {\n super.onChildDelete(arg);\n assert.equal(arg.iModel, iModelDb);\n if (arg.childId === this.dontDeleteChild)\n throw new Error(\"dont delete my child\");\n }\n public static override onChildDeleted(arg: OnChildElementIdArg): void {\n super.onChildDeleted(arg);\n assert.equal(arg.iModel, iModelDb);\n }\n public static override onChildInsert(arg: OnChildElementPropsArg): void {\n super.onChildInsert(arg);\n assert.equal(arg.iModel, iModelDb);\n }\n public static override onChildInserted(arg: OnChildElementIdArg): void {\n super.onChildInserted(arg);\n assert.equal(arg.iModel, iModelDb);\n }\n public static override onChildUpdate(arg: OnChildElementPropsArg): void {\n super.onChildUpdate(arg);\n assert.equal(arg.iModel, iModelDb);\n }\n public static override onChildUpdated(arg: OnChildElementIdArg): void {\n super.onChildUpdated(arg);\n assert.equal(arg.iModel, iModelDb);\n }\n public static override onChildAdd(arg: OnChildElementPropsArg): void {\n super.onChildAdd(arg);\n assert.equal(arg.iModel, iModelDb);\n }\n public static override onChildAdded(arg: OnChildElementIdArg): void {\n super.onChildAdded(arg);\n assert.equal(arg.iModel, iModelDb);\n }\n public static override onChildDrop(arg: OnChildElementIdArg): void {\n super.onChildDrop(arg);\n assert.equal(arg.iModel, iModelDb);\n }\n public static override onChildDropped(arg: OnChildElementIdArg): void {\n super.onChildDropped(arg);\n assert.equal(arg.iModel, iModelDb);\n }\n}\n\n/** for testing `ElementAspect.onXxx` methods */\nclass TestFuncAspect extends ElementUniqueAspect {\n public static override get className() { return \"TestFuncAspect\"; }\n public static expectedVal = \"\";\n\n public static override onInsert(arg: OnAspectPropsArg): void {\n super.onInsert(arg);\n assert.equal(arg.iModel, iModelDb);\n assert.equal((arg.props as any).strProp, this.expectedVal);\n }\n public static override onInserted(arg: OnAspectPropsArg): void {\n super.onInserted(arg);\n assert.equal(arg.iModel, iModelDb);\n assert.equal((arg.props as any).strProp, this.expectedVal);\n }\n public static override onUpdate(arg: OnAspectPropsArg): void {\n super.onUpdate(arg);\n assert.equal(arg.iModel, iModelDb);\n assert.equal((arg.props as any).strProp, this.expectedVal);\n }\n public static override onUpdated(arg: OnAspectPropsArg): void {\n super.onUpdated(arg);\n assert.equal(arg.iModel, iModelDb);\n assert.equal((arg.props as any).strProp, this.expectedVal);\n }\n public static override onDelete(arg: OnAspectIdArg): void {\n super.onDelete(arg);\n assert.equal(arg.iModel, iModelDb);\n }\n public static override onDeleted(arg: OnAspectIdArg): void {\n super.onDeleted(arg);\n assert.equal(arg.iModel, iModelDb);\n }\n}\n\nclass Component extends FunctionalComponentElement {\n public static override get className() { return \"Component\"; }\n}\n\ndescribe(\"Functional Domain\", () => {\n\n afterEach(() => {\n sinonRestore();\n });\n\n it(\"should populate FunctionalModel and test Element, Model, and ElementAspect callbacks\", async () => {\n iModelDb = StandaloneDb.createEmpty(IModelTestUtils.prepareOutputFile(\"FunctionalDomain\", \"FunctionalTest.bim\"), {\n rootSubject: { name: \"FunctionalTest\", description: \"Test of the Functional domain schema.\" },\n client: \"Functional\",\n globalOrigin: { x: 0, y: 0 },\n projectExtents: { low: { x: -500, y: -500, z: -50 }, high: { x: 500, y: 500, z: 50 } },\n guid: Guid.createValue(),\n });\n\n iModelDb[_nativeDb].resetBriefcaseId(100);\n\n // Import the Functional schema\n FunctionalSchema.registerSchema();\n Schemas.registerSchema(TestSchema);\n\n // eslint-disable-next-line @typescript-eslint/naming-convention\n ClassRegistry.registerModule({ TestFuncPartition, TestFuncModel, Breakdown, Component, TestFuncAspect }, TestSchema);\n\n await FunctionalSchema.importSchema(iModelDb);\n\n let commits = 0;\n let committed = 0;\n const elements = iModelDb.elements;\n const dropCommit = iModelDb.txns.onCommit.addListener(() => commits++);\n const dropCommitted = iModelDb.txns.onCommitted.addListener(() => committed++);\n iModelDb.saveChanges(\"Import Functional schema\");\n\n assert.equal(commits, 1);\n assert.equal(committed, 1);\n dropCommit();\n dropCommitted();\n\n IModelTestUtils.flushTxns(iModelDb); // importSchema below will fail if this is not called to flush local changes\n\n await iModelDb.importSchemas([join(KnownTestLocations.assetsDir, \"TestFunctional.ecschema.xml\")]);\n\n iModelDb.saveChanges(\"Import TestFunctional schema\");\n assert.equal(commits, 1);\n assert.equal(committed, 1);\n\n const testChannelKey1 = \"channel 1 for tests\";\n const testChannelKey2 = \"channel 2 for tests\";\n function testChannel<T>(channelKey: ChannelKey, fn: () => T, spies: SinonSpy[]) {\n iModelDb.channels.removeAllowedChannel(channelKey);\n expect(fn).throws(\"not allowed\");\n iModelDb.channels.addAllowedChannel(channelKey);\n spies.forEach((s) => s.resetHistory());\n return fn();\n }\n\n const spy = {\n model: {\n onInsert: sinonSpy(TestFuncModel, \"onInsert\"),\n onInserted: sinonSpy(TestFuncModel, \"onInserted\"),\n onUpdate: sinonSpy(TestFuncModel, \"onUpdate\"),\n onUpdated: sinonSpy(TestFuncModel, \"onUpdated\"),\n onDelete: sinonSpy(TestFuncModel, \"onDelete\"),\n onDeleted: sinonSpy(TestFuncModel, \"onDeleted\"),\n onInsertElement: sinonSpy(TestFuncModel, \"onInsertElement\"),\n onInsertedElement: sinonSpy(TestFuncModel, \"onInsertedElement\"),\n onUpdateElement: sinonSpy(TestFuncModel, \"onUpdateElement\"),\n onUpdatedElement: sinonSpy(TestFuncModel, \"onUpdatedElement\"),\n onDeleteElement: sinonSpy(TestFuncModel, \"onDeleteElement\"),\n onDeletedElement: sinonSpy(TestFuncModel, \"onDeletedElement\"),\n },\n partition: {\n onSubModelInsert: sinonSpy(TestFuncPartition, \"onSubModelInsert\"),\n onSubModelInserted: sinonSpy(TestFuncPartition, \"onSubModelInserted\"),\n onSubModelDelete: sinonSpy(TestFuncPartition, \"onSubModelDelete\"),\n onSubModelDeleted: sinonSpy(TestFuncPartition, \"onSubModelDeleted\"),\n },\n breakdown: {\n onInsert: sinonSpy(Breakdown, \"onInsert\"),\n onInserted: sinonSpy(Breakdown, \"onInserted\"),\n onUpdate: sinonSpy(Breakdown, \"onUpdate\"),\n onUpdated: sinonSpy(Breakdown, \"onUpdated\"),\n onDelete: sinonSpy(Breakdown, \"onDelete\"),\n onDeleted: sinonSpy(Breakdown, \"onDeleted\"),\n onChildDelete: sinonSpy(Breakdown, \"onChildDelete\"),\n onChildDeleted: sinonSpy(Breakdown, \"onChildDeleted\"),\n onChildInsert: sinonSpy(Breakdown, \"onChildInsert\"),\n onChildInserted: sinonSpy(Breakdown, \"onChildInserted\"),\n onChildUpdate: sinonSpy(Breakdown, \"onChildUpdate\"),\n onChildUpdated: sinonSpy(Breakdown, \"onChildUpdated\"),\n onChildAdd: sinonSpy(Breakdown, \"onChildAdd\"),\n onChildAdded: sinonSpy(Breakdown, \"onChildAdded\"),\n onChildDrop: sinonSpy(Breakdown, \"onChildDrop\"),\n onChildDropped: sinonSpy(Breakdown, \"onChildDropped\"),\n },\n aspect: {\n onInsert: sinonSpy(TestFuncAspect, \"onInsert\"),\n onInserted: sinonSpy(TestFuncAspect, \"onInserted\"),\n onUpdate: sinonSpy(TestFuncAspect, \"onUpdate\"),\n onUpdated: sinonSpy(TestFuncAspect, \"onUpdated\"),\n onDelete: sinonSpy(TestFuncAspect, \"onDelete\"),\n onDeleted: sinonSpy(TestFuncAspect, \"onDeleted\"),\n },\n };\n\n assert.equal(iModelDb.channels.queryChannelRoot(ChannelControl.sharedChannelName), IModel.rootSubjectId);\n\n const codeSpec = CodeSpec.create(iModelDb, \"Test Functional Elements\", CodeScopeSpec.Type.Model);\n iModelDb.codeSpecs.insert(codeSpec);\n assert.isTrue(Id64.isValidId64(codeSpec.id));\n\n // create a channel for all elements in this test\n assert.isUndefined(iModelDb.channels.queryChannelRoot(testChannelKey1));\n const subject1Id = iModelDb.channels.insertChannelSubject({ subjectName: \"Test Functional Subject\", channelKey: testChannelKey1 });\n assert.equal(iModelDb.channels.queryChannelRoot(testChannelKey1), subject1Id);\n\n const partitionCode = FunctionalPartition.createCode(iModelDb, subject1Id, \"Test Functional Model\");\n const partitionProps = {\n classFullName: TestFuncPartition.classFullName, model: IModel.repositoryModelId,\n parent: new SubjectOwnsPartitionElements(subject1Id), code: partitionCode,\n };\n\n iModelDb.channels.addAllowedChannel(testChannelKey1);\n let partitionId = iModelDb.elements.insertElement(partitionProps);\n\n const modelId = testChannel(testChannelKey1, () => iModelDb.models.insertModel({ classFullName: TestFuncModel.classFullName, modeledElement: { id: partitionId } }), [spy.model.onInsert]);\n\n assert.isTrue(Id64.isValidId64(modelId));\n assert.isTrue(spy.model.onInsert.calledOnce);\n assert.isTrue(spy.model.onInserted.calledOnce);\n assert.equal(spy.model.onInserted.getCall(0).args[0].id, modelId);\n assert.isFalse(spy.model.onUpdate.called, \"model insert should not call onUpdate\");\n assert.isFalse(spy.model.onUpdated.called, \"model insert should not call onUpdated\");\n\n assert.isTrue(spy.partition.onSubModelInsert.calledOnce);\n assert.isTrue(spy.partition.onSubModelInserted.calledOnce);\n assert.equal(spy.partition.onSubModelInserted.getCall(0).args[0].subModelId, modelId, \"Element.onSubModelInserted should have correct subModelId\");\n\n expect(() => iModelDb.channels.insertChannelSubject({ subjectName: \"Test Functional Subject 2\", channelKey: testChannelKey1 })).to.throw(`Channel ${testChannelKey1} root already exist`);\n const subject2Id = iModelDb.channels.insertChannelSubject({ subjectName: \"Test Functional Subject 2\", channelKey: testChannelKey2 });\n iModelDb.channels.addAllowedChannel(testChannelKey2);\n\n expect(() => iModelDb.channels.insertChannelSubject({ subjectName: \"Nested Subject\", parentSubjectId: subject2Id, channelKey: \"nested channel\" })).to.throw(\"may not nest\");\n\n partitionProps.code.value = \"Test Func 2\";\n partitionProps.parent = new SubjectOwnsPartitionElements(subject2Id);\n partitionId = iModelDb.elements.insertElement(partitionProps);\n\n const modelId2 = iModelDb.models.insertModel({ classFullName: TestFuncModel.classFullName, modeledElement: { id: partitionId } });\n assert.isTrue(Id64.isValidId64(modelId2));\n assert.equal(spy.model.onInserted.getCall(1).args[0].id, modelId2, \"second insert should set new id\");\n assert.equal(spy.model.onInsert.callCount, 2);\n assert.equal(spy.model.onInserted.callCount, 2);\n assert.equal(spy.partition.onSubModelInserted.getCall(1).args[0].subModelId, modelId2, \"Element.onSubModelInserted should have correct subModelId\");\n\n const model2 = iModelDb.models.getModel(modelId2);\n testChannel(testChannelKey2, () => model2.update(), []);\n assert.equal(spy.model.onUpdated.getCall(0).args[0].id, modelId2);\n assert.equal(spy.model.onUpdate.callCount, 2);\n assert.equal(spy.model.onUpdated.callCount, 1);\n\n testChannel(testChannelKey2, () => model2.delete(), [spy.model.onDelete, spy.partition.onSubModelDelete]);\n assert.isTrue(spy.model.onDelete.calledOnce);\n assert.isTrue(spy.model.onDeleted.calledOnce);\n assert.equal(spy.model.onDeleted.getCall(0).args[0].id, modelId2);\n assert.isTrue(spy.partition.onSubModelDelete.calledOnce);\n assert.isTrue(spy.partition.onSubModelDeleted.calledOnce);\n assert.equal(spy.partition.onSubModelDeleted.getCall(0).args[0].subModelId, modelId2);\n\n const breakdownProps = { classFullName: Breakdown.classFullName, model: modelId, code: { spec: codeSpec.id, scope: modelId, value: \"Breakdown1\" } };\n const breakdownId = testChannel(testChannelKey1, () => elements.insertElement(breakdownProps), [spy.model.onInsertElement, spy.breakdown.onInsert]);\n assert.isTrue(Id64.isValidId64(breakdownId));\n assert.isTrue(spy.model.onInsertElement.calledOnce);\n assert.isTrue(spy.model.onInsertedElement.calledOnce);\n assert.equal(spy.model.onInsertedElement.getCall(0).args[0].elementId, breakdownId);\n\n assert.isTrue(spy.breakdown.onInsert.calledOnce);\n assert.isTrue(spy.breakdown.onInserted.calledOnce);\n assert.equal(spy.breakdown.onInserted.getCall(0).args[0].id, breakdownId);\n assert.equal(spy.breakdown.onInsert.getCall(0).args[0].props, breakdownProps);\n\n const breakdown2Props: ElementProps = { classFullName: Breakdown.classFullName, model: modelId, code: { spec: codeSpec.id, scope: modelId, value: \"badval\" } };\n // TestFuncModel.onInsertElement throws for this code.value\n expect(() => elements.insertElement(breakdown2Props)).to.throw(\"bad element\");\n\n breakdown2Props.code.value = \"Breakdown2\";\n breakdown2Props.userLabel = \"start label\"; // gets overwritten in `onInsert`\n const bd2 = elements.insertElement(breakdown2Props);\n\n const aspect = { classFullName: TestFuncAspect.classFullName, element: new ElementOwnsUniqueAspect(bd2), strProp: \"prop 1\" };\n\n TestFuncAspect.expectedVal = aspect.strProp;\n\n testChannel(testChannelKey1, () => elements.insertAspect(aspect), [spy.aspect.onInsert]);\n assert.isTrue(spy.aspect.onInsert.calledOnce);\n assert.isTrue(spy.aspect.onInserted.calledOnce);\n assert.isFalse(spy.aspect.onUpdate.called);\n assert.isFalse(spy.aspect.onUpdated.called);\n assert.equal(spy.aspect.onInserted.getCall(0).args[0].props.element.id, bd2, \"elemId from ElementAspect.onInserted\");\n\n aspect.strProp = \"prop 2\";\n TestFuncAspect.expectedVal = aspect.strProp;\n testChannel(testChannelKey1, () => elements.updateAspect(aspect), [spy.aspect.onUpdate]);\n assert.equal(spy.aspect.onInsert.callCount, 1, \"ElementAspect.onInsert should not be called on update\");\n assert.equal(spy.aspect.onInserted.callCount, 1, \"ElementAspect.onInserted should should not be called on update\");\n assert.equal(spy.aspect.onUpdate.callCount, 1);\n assert.equal(spy.aspect.onUpdated.callCount, 1);\n assert.equal(spy.aspect.onUpdated.getCall(0).args[0].props.element.id, bd2, \"from ElementAspect.onUpdated\");\n const aspects = elements.getAspects(bd2, TestFuncAspect.classFullName);\n assert.equal(aspects.length, 1);\n testChannel(testChannelKey1, () => elements.deleteAspect(aspects[0].id), [spy.aspect.onDelete]);\n assert.equal(spy.aspect.onDelete.callCount, 1);\n assert.equal(spy.aspect.onDeleted.callCount, 1);\n assert.equal(spy.aspect.onDelete.getCall(0).args[0].aspectId, aspects[0].id);\n assert.equal(spy.aspect.onDeleted.getCall(0).args[0].aspectId, aspects[0].id);\n\n let bd2el = elements.getElement(bd2);\n assert.equal(bd2el.userLabel, insertedLabel, \"label was modified by onInsert\");\n expect(iModelDb.channels.getChannelKey(bd2)).equals(testChannelKey1);\n\n bd2el.userLabel = \"nothing\";\n testChannel(testChannelKey1, () => bd2el.update(), [spy.breakdown.onUpdate, spy.breakdown.onUpdated]);\n bd2el = elements.getElement(bd2);\n assert.equal(bd2el.userLabel, updatedLabel, \"label was modified in onUpdate\");\n assert.equal(spy.breakdown.onUpdate.callCount, 1);\n assert.equal(spy.breakdown.onUpdated.callCount, 1);\n assert.equal(spy.breakdown.onUpdate.getCall(0).args[0].props.id, bd2);\n assert.equal(spy.breakdown.onUpdated.getCall(0).args[0].id, bd2);\n\n testChannel(testChannelKey1, () => bd2el.delete(), [spy.breakdown.onDelete]);\n assert.equal(spy.breakdown.onDelete.callCount, 1);\n assert.equal(spy.breakdown.onDeleted.callCount, 1);\n const deleteArg = spy.breakdown.onDelete.getCall(0).args[0];\n assert.equal(deleteArg.id, bd2);\n assert.equal(deleteArg.model, bd2el.model);\n assert.equal(deleteArg.federationGuid, bd2el.federationGuid);\n assert.equal(spy.breakdown.onDeleted.getCall(0).args[0].id, bd2);\n\n const breakdown3Props = {\n classFullName: Breakdown.classFullName,\n model: modelId,\n code: { spec: codeSpec.id, scope: modelId, value: \"bd3\" },\n };\n const bd3 = elements.insertElement(breakdown3Props);\n\n const componentProps = {\n classFullName: Component.classFullName,\n model: modelId,\n parent: { id: breakdownId, relClassName: ElementOwnsChildElements.classFullName },\n code: { spec: codeSpec.id, scope: modelId, value: \"Component1\" },\n };\n const componentId = testChannel(testChannelKey1, () => elements.insertElement(componentProps), []);\n assert.isTrue(Id64.isValidId64(componentId));\n assert.equal(spy.breakdown.onChildInserted.callCount, 1);\n assert.equal(spy.breakdown.onChildInserted.getCall(0).args[0].childId, componentId);\n\n // test model and element callbacks for updateElement\n const component1 = elements.getElement(componentId);\n testChannel(testChannelKey1, () => component1.update(), [spy.model.onUpdateElement, spy.model.onUpdatedElement]);\n assert.equal(spy.model.onUpdateElement.callCount, 1);\n assert.equal(spy.model.onUpdatedElement.callCount, 1);\n assert.equal(spy.model.onUpdatedElement.getCall(0).args[0].elementId, componentId);\n assert.equal(spy.breakdown.onChildUpdate.callCount, 1);\n assert.equal(spy.breakdown.onChildUpdated.callCount, 1);\n assert.equal(spy.breakdown.onChildUpdate.getCall(0).args[0].parentId, breakdownId);\n assert.equal(spy.breakdown.onChildUpdated.getCall(0).args[0].childId, componentId);\n\n componentProps.code.value = \"comp2\";\n const comp2 = elements.insertElement(componentProps);\n assert.equal(spy.breakdown.onChildInserted.callCount, 2);\n assert.equal(spy.breakdown.onChildInserted.getCall(1).args[0].childId, comp2);\n const el2 = elements.getElement(comp2);\n\n spy.model.onDeleteElement.resetHistory();\n spy.model.onDeletedElement.resetHistory();\n TestFuncModel.dontDelete = comp2; // block deletion through model\n expect(() => el2.delete()).to.throw(\"dont delete my element\");\n TestFuncModel.dontDelete = \"\"; // allow deletion through model\n Breakdown.dontDeleteChild = comp2; // but block through parent\n expect(() => el2.delete()).to.throw(\"dont delete my child\"); // nope\n assert.equal(spy.model.onDeleteElement.callCount, 2, \"Model.onElementDelete gets called even though element is not really deleted\");\n assert.equal(spy.model.onDeletedElement.callCount, 0, \"make sure Model.onElementDeleted did not get called\");\n Breakdown.dontDeleteChild = \"\"; // now fully allow delete\n el2.delete();\n assert.equal(spy.model.onDeleteElement.callCount, 3, \"Model.onElementDelete should be called again\");\n assert.equal(spy.model.onDeletedElement.callCount, 1);\n assert.equal(spy.model.onDeletedElement.getCall(0).args[0].elementId, comp2);\n assert.equal(spy.breakdown.onChildDeleted.callCount, 1);\n assert.equal(spy.breakdown.onChildDeleted.getCall(0).args[0].childId, comp2);\n\n // next we make sure that changing the parent of an element calls the \"onChildAdd/Drop/Added/Dropped\" callbacks.\n // To do this we switch a component's parent from \"breakDownId\" to \"bc3\"\n componentProps.parent.id = bd3;\n const comp3 = elements.insertElement(componentProps);\n const compEl3 = elements.getElementProps(comp3);\n compEl3.parent!.id = breakdownId;\n\n testChannel(testChannelKey1, () => elements.updateElement(compEl3), []);\n\n assert.equal(spy.breakdown.onChildAdd.callCount, 1);\n assert.equal(spy.breakdown.onChildAdd.getCall(0).args[0].parentId, breakdownId);\n assert.equal(spy.breakdown.onChildAdd.getCall(0).args[0].childProps.id, comp3);\n assert.equal(spy.breakdown.onChildDrop.callCount, 1);\n assert.equal(spy.breakdown.onChildDrop.getCall(0).args[0].parentId, bd3);\n assert.equal(spy.breakdown.onChildDrop.getCall(0).args[0].childId, comp3);\n assert.equal(spy.breakdown.onChildAdded.callCount, 1);\n assert.equal(spy.breakdown.onChildAdded.getCall(0).args[0].parentId, breakdownId);\n assert.equal(spy.breakdown.onChildAdded.getCall(0).args[0].childId, comp3);\n assert.equal(spy.breakdown.onChildDropped.callCount, 1);\n assert.equal(spy.breakdown.onChildDropped.getCall(0).args[0].parentId, bd3);\n assert.equal(spy.breakdown.onChildDropped.getCall(0).args[0].childId, comp3);\n\n iModelDb.saveChanges(\"Insert Functional elements\");\n\n // unregister test schema to make sure it will throw exceptions if it is not present (since it has the \"SchemaHasBehavior\" custom attribute)\n Schemas.unregisterSchema(TestSchema.schemaName);\n const errMsg = \"Schema [TestFunctional] not registered, but is marked with SchemaHasBehavior\";\n expect(() => elements.deleteElement(breakdownId)).to.throw(errMsg);\n assert.isDefined(elements.getElement(breakdownId), \"should not have been deleted\");\n expect(() => elements.updateElement(breakdownProps)).to.throw(errMsg);\n breakdownProps.code.value = \"Breakdown 2\";\n expect(() => elements.insertElement(breakdownProps)).to.throw(errMsg);\n\n iModelDb.close();\n });\n});\n"]}
|
|
1
|
+
{"version":3,"file":"FunctionalDomain.test.js","sourceRoot":"","sources":["../../../../src/test/schema/FunctionalDomain.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"GenericDomain.test.js","sourceRoot":"","sources":["../../../../src/test/schema/GenericDomain.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*--------------------------------------------------------------------------------------------*/\nimport { assert } from \"chai\";\nimport { DbResult, Guid, Id64, Id64String } from \"@itwin/core-bentley\";\nimport {\n CategoryProps, Code, DefinitionElementProps, ElementProps, GeometricElement3dProps, IModel, PhysicalElementProps, PhysicalTypeProps,\n TypeDefinitionElementProps,\n} from \"@itwin/core-common\";\nimport {\n DefinitionModel, DocumentListModel, ECSqlStatement, GenericDocument, GenericGraphicalModel3d, GenericGraphicalType2d, GenericPhysicalMaterial,\n GenericPhysicalType, GenericSchema, Graphic3d, Group, GroupModel, IModelDb, IModelJsFs, PhysicalElementIsOfPhysicalMaterial,\n PhysicalElementIsOfType, PhysicalModel, PhysicalObject, PhysicalTypeIsOfPhysicalMaterial, SnapshotDb, SpatialCategory,\n} from \"../../core-backend\";\nimport { IModelTestUtils } from \"../IModelTestUtils\";\n\ndescribe(\"Generic Domain\", () => {\n\n function count(iModelDb: IModelDb, classFullName: string): number {\n // eslint-disable-next-line @typescript-eslint/no-deprecated\n return iModelDb.withPreparedStatement(`SELECT COUNT(*) FROM ${classFullName}`, (statement: ECSqlStatement): number => {\n return DbResult.BE_SQLITE_ROW === statement.step() ? statement.getValue(0).getInteger() : 0;\n });\n }\n\n it(\"should create elements from the Generic domain\", async () => {\n GenericSchema.registerSchema();\n assert.isTrue(IModelJsFs.existsSync(GenericSchema.schemaFilePath));\n assert.equal(GenericSchema.schemaName, \"Generic\");\n assert.isTrue(PhysicalObject.classFullName.startsWith(GenericSchema.schemaName));\n\n const iModelDb = SnapshotDb.createEmpty(IModelTestUtils.prepareOutputFile(\"GenericDomain\", \"GenericTest.bim\"), {\n rootSubject: { name: \"GenericTest\", description: \"Test of the Generic domain schema.\" },\n client: \"Generic\",\n globalOrigin: { x: 0, y: 0 },\n projectExtents: { low: { x: -500, y: -500, z: -50 }, high: { x: 500, y: 500, z: 50 } },\n guid: Guid.createValue(),\n createClassViews: true,\n });\n\n // Create and populate a DefinitionModel\n const definitionModelId: Id64String = DefinitionModel.insert(iModelDb, IModel.rootSubjectId, \"Test DefinitionModel\");\n assert.isTrue(Id64.isValidId64(definitionModelId));\n\n // Insert a SpatialCategory\n const spatialCategoryProps: CategoryProps = {\n classFullName: SpatialCategory.classFullName,\n model: definitionModelId,\n code: SpatialCategory.createCode(iModelDb, definitionModelId, \"Test SpatialCategory\"),\n };\n const spatialCategoryId: Id64String = iModelDb.elements.insertElement(spatialCategoryProps);\n assert.isTrue(Id64.isValidId64(spatialCategoryId));\n\n // Insert a GenericGraphicalType2d\n const graphicalTypeProps: TypeDefinitionElementProps = {\n classFullName: GenericGraphicalType2d.classFullName,\n model: definitionModelId,\n code: Code.createEmpty(),\n userLabel: `${GenericGraphicalType2d.className}`,\n };\n const graphicalTypeId: Id64String = iModelDb.elements.insertElement(graphicalTypeProps);\n assert.isTrue(Id64.isValidId64(graphicalTypeId));\n\n // Insert a GenericPhysicalMaterial\n const physicalMaterialProps: DefinitionElementProps = {\n classFullName: GenericPhysicalMaterial.classFullName,\n model: definitionModelId,\n code: Code.createEmpty(),\n userLabel: `${GenericPhysicalMaterial.className}`,\n };\n const physicalMaterialId: Id64String = iModelDb.elements.insertElement(physicalMaterialProps);\n assert.isTrue(Id64.isValidId64(physicalMaterialId));\n\n // Insert a GenericPhysicalType\n const physicalTypeProps: PhysicalTypeProps = {\n classFullName: GenericPhysicalType.classFullName,\n model: definitionModelId,\n code: Code.createEmpty(),\n userLabel: `${GenericPhysicalType.className}`,\n physicalMaterial: new PhysicalTypeIsOfPhysicalMaterial(physicalMaterialId),\n };\n const physicalTypeId: Id64String = iModelDb.elements.insertElement(physicalTypeProps);\n assert.isTrue(Id64.isValidId64(physicalTypeId));\n\n // Create and populate a PhysicalModel\n const physicalModelId: Id64String = PhysicalModel.insert(iModelDb, IModel.rootSubjectId, \"Test PhysicalModel\");\n assert.isTrue(Id64.isValidId64(physicalModelId));\n\n for (let i = 0; i < 3; i++) {\n const physicalObjectProps: PhysicalElementProps = {\n classFullName: PhysicalObject.classFullName,\n model: physicalModelId,\n category: spatialCategoryId,\n code: Code.createEmpty(),\n userLabel: `${PhysicalObject.className}${i}`,\n physicalMaterial: new PhysicalElementIsOfPhysicalMaterial(physicalMaterialId),\n typeDefinition: new PhysicalElementIsOfType(physicalTypeId),\n };\n const physicalObjectId: Id64String = iModelDb.elements.insertElement(physicalObjectProps);\n assert.isTrue(Id64.isValidId64(physicalObjectId));\n }\n assert.equal(3, count(iModelDb, PhysicalObject.classFullName));\n\n // Create and populate a Generic:GroupModel\n const groupModelId: Id64String = GroupModel.insert(iModelDb, IModel.rootSubjectId, \"Test GroupModel\");\n assert.isTrue(Id64.isValidId64(groupModelId));\n\n for (let i = 0; i < 4; i++) {\n const groupProps: ElementProps = {\n classFullName: Group.classFullName,\n model: groupModelId,\n code: Code.createEmpty(),\n userLabel: `${Group.className}${i}`,\n };\n const groupId: Id64String = iModelDb.elements.insertElement(groupProps);\n assert.isTrue(Id64.isValidId64(groupId));\n }\n assert.equal(4, count(iModelDb, `${Group.schema.schemaName}:[${Group.className}]`)); // GROUP is a reserved word in SQL\n\n // Create and populate a Generic:GraphicalModel3d\n const graphicalModelId: Id64String = GenericGraphicalModel3d.insert(iModelDb, IModel.rootSubjectId, \"Test GraphicalModel3d\");\n assert.isTrue(Id64.isValidId64(graphicalModelId));\n\n for (let i = 0; i < 5; i++) {\n const graphicProps: GeometricElement3dProps = {\n classFullName: Graphic3d.classFullName,\n model: graphicalModelId,\n category: spatialCategoryId,\n code: Code.createEmpty(),\n userLabel: `${Graphic3d.className}${i}`,\n };\n const graphicId: Id64String = iModelDb.elements.insertElement(graphicProps);\n assert.isTrue(Id64.isValidId64(graphicId));\n }\n assert.equal(5, count(iModelDb, Graphic3d.classFullName));\n\n // Create and populate a DocumentListModel\n const documentListModelId: Id64String = DocumentListModel.insert(iModelDb, IModel.rootSubjectId, \"Test DocumentListModel\");\n assert.isTrue(Id64.isValidId64(documentListModelId));\n\n for (let i = 0; i < 2; i++) {\n const documentProps: ElementProps = {\n classFullName: GenericDocument.classFullName,\n model: documentListModelId,\n code: Code.createEmpty(),\n userLabel: `${GenericDocument.className}${i}`,\n };\n const graphicId: Id64String = iModelDb.elements.insertElement(documentProps);\n assert.isTrue(Id64.isValidId64(graphicId));\n }\n assert.equal(2, count(iModelDb, GenericDocument.classFullName));\n\n iModelDb.saveChanges(\"Insert Generic elements\");\n iModelDb.close();\n });\n});\n"]}
|
|
1
|
+
{"version":3,"file":"GenericDomain.test.js","sourceRoot":"","sources":["../../../../src/test/schema/GenericDomain.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"IModelSchemaContext.test.js","sourceRoot":"","sources":["../../../../src/test/schema/IModelSchemaContext.test.ts"],"names":[],"mappings":"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"
|
|
1
|
+
{"version":3,"file":"IModelSchemaContext.test.js","sourceRoot":"","sources":["../../../../src/test/schema/IModelSchemaContext.test.ts"],"names":[],"mappings":"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"}
|