From 85b86ee03989c3fdb1f5d47a047a14c190c3cf1b Mon Sep 17 00:00:00 2001 From: Kevin Ring Date: Sun, 6 Aug 2023 19:11:41 +1000 Subject: [PATCH] Fix some tests. --- src/ModelMixins/Cesium3dTilesMixin.ts | 6 +-- test/ModelMixins/Cesium3dTilesMixinSpec.ts | 1 - .../OpenStreetMapCatalogItemSpec.ts | 41 ++++++++-------- .../Ows/WebMapServiceCatalogItemSpec.ts | 48 +++++++++---------- test/Models/CesiumSpec.ts | 8 +--- 5 files changed, 49 insertions(+), 55 deletions(-) diff --git a/src/ModelMixins/Cesium3dTilesMixin.ts b/src/ModelMixins/Cesium3dTilesMixin.ts index bf10bc2c378..516ca9dd9c0 100644 --- a/src/ModelMixins/Cesium3dTilesMixin.ts +++ b/src/ModelMixins/Cesium3dTilesMixin.ts @@ -214,12 +214,10 @@ function Cesium3dTilesMixin>(Base: T) { const observableTileset: ObservableCesium3DTileset = anyTileset; - action(() => { + runInAction(() => { observableTileset._catalogItem = this; if (!observableTileset.destroyed) { - runInAction(() => { - this._protected_tileset = observableTileset; - }); + this._protected_tileset = observableTileset; if (observableTileset.root !== undefined) { this._private_originalRootTransform = observableTileset.root.transform.clone(); diff --git a/test/ModelMixins/Cesium3dTilesMixinSpec.ts b/test/ModelMixins/Cesium3dTilesMixinSpec.ts index 2eed5d691bc..eed33f2c269 100644 --- a/test/ModelMixins/Cesium3dTilesMixinSpec.ts +++ b/test/ModelMixins/Cesium3dTilesMixinSpec.ts @@ -121,7 +121,6 @@ describe("Cesium3dTilesMixin", function () { filter?.setTrait(CommonStrata.user, "maximumShown", 20); await cesium3dTiles.loadMapItems(); const tileset = cesium3dTiles.mapItems[0] as Cesium3DTileset; - await tileset.readyPromise; const show = tileset.style?.show; const expr = (show as any)?.expression as string; expect(expr).toBeDefined(); diff --git a/test/Models/Catalog/CatalogItems/OpenStreetMapCatalogItemSpec.ts b/test/Models/Catalog/CatalogItems/OpenStreetMapCatalogItemSpec.ts index 48cc545813a..19020f88ddc 100644 --- a/test/Models/Catalog/CatalogItems/OpenStreetMapCatalogItemSpec.ts +++ b/test/Models/Catalog/CatalogItems/OpenStreetMapCatalogItemSpec.ts @@ -125,25 +125,28 @@ describe("OpenStreetMapCatalogItem", function () { if (!ImageryParts.is(item.mapItems[0])) throw new Error("MapItem is not an ImageryParts"); let imageryProvider = item.mapItems[0].imageryProvider; - expect({ - url: (imageryProvider as any).url, - attribution: imageryProvider.credit.html, - tilingScheme: imageryProvider.tilingScheme, - tileWidth: imageryProvider.tileWidth, - tileHeight: imageryProvider.tileHeight, - minimumLevel: imageryProvider.minimumLevel, - maximumLevel: imageryProvider.maximumLevel, - subdomains: (imageryProvider)._subdomains - }).toEqual({ - url: "https://{s}.example.com/ooo/{z}/{x}/{y}.png", - attribution: "foo bar baz", - tilingScheme: new WebMercatorTilingScheme(), - tileWidth: 256, - tileHeight: 256, - minimumLevel: 0, - maximumLevel: 25, - subdomains: ["a"] - }); + expect(imageryProvider).not.toBeUndefined(); + if (imageryProvider) { + expect({ + url: (imageryProvider as any).url, + attribution: imageryProvider.credit.html, + tilingScheme: imageryProvider.tilingScheme, + tileWidth: imageryProvider.tileWidth, + tileHeight: imageryProvider.tileHeight, + minimumLevel: imageryProvider.minimumLevel, + maximumLevel: imageryProvider.maximumLevel, + subdomains: (imageryProvider)._subdomains + }).toEqual({ + url: "https://{s}.example.com/ooo/{z}/{x}/{y}.png", + attribution: "foo bar baz", + tilingScheme: new WebMercatorTilingScheme(), + tileWidth: 256, + tileHeight: 256, + minimumLevel: 0, + maximumLevel: 25, + subdomains: ["a"] + }); + } }); }); }); diff --git a/test/Models/Catalog/Ows/WebMapServiceCatalogItemSpec.ts b/test/Models/Catalog/Ows/WebMapServiceCatalogItemSpec.ts index 70fe1ed146f..1369dfd6148 100644 --- a/test/Models/Catalog/Ows/WebMapServiceCatalogItemSpec.ts +++ b/test/Models/Catalog/Ows/WebMapServiceCatalogItemSpec.ts @@ -178,12 +178,12 @@ describe("WebMapServiceCatalogItem", function () { terria.configParameters.defaultMaximumShownFeatureInfos + 1 ); - expect((mapItems[0] as ImageryParts).imageryProvider.tileHeight).toBe( - 256 - ); - expect((mapItems[0] as ImageryParts).imageryProvider.tileWidth).toBe( - 256 - ); + const imageryProvider = (mapItems[0] as ImageryParts).imageryProvider; + expect(imageryProvider).not.toBeUndefined(); + if (imageryProvider) { + expect(imageryProvider.tileHeight).toBe(256); + expect(imageryProvider.tileWidth).toBe(256); + } } } finally { cleanup(); @@ -252,12 +252,12 @@ describe("WebMapServiceCatalogItem", function () { terria.configParameters.defaultMaximumShownFeatureInfos + 1 ); - expect((mapItems[0] as ImageryParts).imageryProvider.tileHeight).toBe( - 256 - ); - expect((mapItems[0] as ImageryParts).imageryProvider.tileWidth).toBe( - 256 - ); + const imageryProvider = (mapItems[0] as ImageryParts).imageryProvider; + expect(imageryProvider).not.toBeUndefined(); + if (imageryProvider) { + expect(imageryProvider.tileHeight).toBe(256); + expect(imageryProvider.tileWidth).toBe(256); + } } } finally { cleanup(); @@ -331,12 +331,12 @@ describe("WebMapServiceCatalogItem", function () { expect(getFeatureInfoResource.queryParameters.some).toBe("thing else"); expect(getFeatureInfoResource.queryParameters.another).toBe("value"); - expect((mapItems[0] as ImageryParts).imageryProvider.tileHeight).toBe( - 256 - ); - expect((mapItems[0] as ImageryParts).imageryProvider.tileWidth).toBe( - 256 - ); + const imageryProvider = (mapItems[0] as ImageryParts).imageryProvider; + expect(imageryProvider).not.toBeUndefined(); + if (imageryProvider) { + expect(imageryProvider.tileHeight).toBe(256); + expect(imageryProvider.tileWidth).toBe(256); + } } } finally { cleanup(); @@ -430,12 +430,12 @@ describe("WebMapServiceCatalogItem", function () { (mapItems[0] as ImageryParts).imageryProvider instanceof WebMapServiceImageryProvider ) { - expect((mapItems[0] as ImageryParts).imageryProvider.tileHeight).toBe( - 512 - ); - expect((mapItems[0] as ImageryParts).imageryProvider.tileWidth).toBe( - 512 - ); + const imageryProvider = (mapItems[0] as ImageryParts).imageryProvider; + expect(imageryProvider).not.toBeUndefined(); + if (imageryProvider) { + expect(imageryProvider.tileHeight).toBe(512); + expect(imageryProvider.tileWidth).toBe(512); + } } } finally { cleanup(); diff --git a/test/Models/CesiumSpec.ts b/test/Models/CesiumSpec.ts index ea89a08be43..4745998e870 100644 --- a/test/Models/CesiumSpec.ts +++ b/test/Models/CesiumSpec.ts @@ -228,9 +228,7 @@ describeIfSupported("Cesium Model", function () { spyOn( workbenchTerrainItem as any, "_private_loadTerrainProvider" - ).and.returnValue( - Promise.resolve(new CesiumTerrainProvider({ url: "some/url" })) - ); + ).and.returnValue(CesiumTerrainProvider.fromUrl("some/url")); (await terria.workbench.add(workbenchTerrainItem)).throwIfError(); }) ); @@ -348,7 +346,6 @@ describeIfSupported("Cesium Model", function () { // Instantiate Cesium object with the invalid token cesium2 = new Cesium(terriaViewer2, container2); - await cesium2.terrainProvider.readyPromise.catch(() => {}); // Wait a few ticks to allow for delay in adding event listener to terrainProvider in Cesium.ts await runLater(() => {}, 5); @@ -372,7 +369,6 @@ describeIfSupported("Cesium Model", function () { // Instantiate Cesium object with the invalid token cesium2 = new Cesium(terriaViewer2, container2); - await cesium2.terrainProvider.readyPromise.catch(() => {}); // Wait a few ticks to allow for delay in adding event listener to terrainProvider in Cesium.ts await runLater(() => {}, 5); @@ -392,7 +388,6 @@ describeIfSupported("Cesium Model", function () { // Instantiate Cesium object with the invalid token and valid asset id cesium2 = new Cesium(terriaViewer2, container2); - await cesium2.terrainProvider.readyPromise.catch(() => {}); // Wait a few ticks to allow for delay in adding event listener to terrainProvider in Cesium.ts await runLater(() => {}, 5); @@ -415,7 +410,6 @@ describeIfSupported("Cesium Model", function () { // Instantiate Cesium object with the invalid terrain url cesium2 = new Cesium(terriaViewer2, container2); - await cesium2.terrainProvider.readyPromise.catch(() => {}); // Wait a few ticks to allow for delay in adding event listener to terrainProvider in Cesium.ts await runLater(() => {}, 5);