@geode/opengeodeweb-front 10.6.2 → 10.6.3-rc.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/.eslintrc.cjs +1 -1
- package/.oxlintrc.json +3 -22
- package/app/assets/geode_objects.js +26 -26
- package/app/components/Carousel.vue +62 -66
- package/app/components/CrsSelector.vue +48 -52
- package/app/components/DeleteDialog.vue +21 -37
- package/app/components/DragAndDrop.vue +35 -41
- package/app/components/ExtensionSelector.vue +50 -63
- package/app/components/FeedBack/ErrorBanner.vue +7 -10
- package/app/components/FeedBack/Snackers.vue +12 -14
- package/app/components/FetchingData.vue +1 -6
- package/app/components/FileSelector.vue +41 -47
- package/app/components/FileUploader.vue +62 -79
- package/app/components/GlassCard.vue +19 -19
- package/app/components/HybridRenderingView.vue +37 -38
- package/app/components/InfraConnected.vue +3 -3
- package/app/components/Inspector/InspectionButton.vue +27 -31
- package/app/components/Inspector/ResultPanel.vue +13 -24
- package/app/components/Launcher.vue +13 -13
- package/app/components/Loading.vue +63 -69
- package/app/components/MissingFilesSelector.vue +53 -73
- package/app/components/ObjectSelector.vue +81 -99
- package/app/components/PackagesVersions.vue +27 -30
- package/app/components/Recaptcha.vue +60 -71
- package/app/components/RemoteRenderingView.vue +102 -108
- package/app/components/Screenshot.vue +36 -42
- package/app/components/SearchBar.vue +5 -5
- package/app/components/Step.vue +37 -44
- package/app/components/Stepper.vue +29 -35
- package/app/components/VeaseViewToolbar.vue +69 -78
- package/app/components/ViewToolbar.vue +41 -45
- package/app/components/Viewer/BreadCrumb.vue +18 -30
- package/app/components/Viewer/ContextMenu.vue +176 -179
- package/app/components/Viewer/ContextMenuItem.vue +105 -117
- package/app/components/Viewer/EdgedCurve/PointsOptions.vue +6 -9
- package/app/components/Viewer/EdgedCurve/SpecificEdgesOptions.vue +82 -93
- package/app/components/Viewer/Generic/Mesh/CellsOptions.vue +84 -99
- package/app/components/Viewer/Generic/Mesh/EdgesOptions.vue +83 -98
- package/app/components/Viewer/Generic/Mesh/PointsOptions.vue +62 -73
- package/app/components/Viewer/Generic/Mesh/PolygonsOptions.vue +84 -108
- package/app/components/Viewer/Generic/Mesh/PolyhedraOptions.vue +82 -105
- package/app/components/Viewer/Generic/Model/EdgesOptions.vue +19 -23
- package/app/components/Viewer/Generic/Model/PointsOptions.vue +26 -30
- package/app/components/Viewer/Grid/2D/CellsOptions.vue +5 -5
- package/app/components/Viewer/Grid/2D/EdgesOptions.vue +6 -9
- package/app/components/Viewer/Grid/2D/PointsOptions.vue +6 -9
- package/app/components/Viewer/Grid/3D/CellsOptions.vue +5 -5
- package/app/components/Viewer/Grid/3D/EdgesOptions.vue +6 -9
- package/app/components/Viewer/Grid/3D/FacetsOptions.vue +5 -5
- package/app/components/Viewer/Grid/3D/PointsOptions.vue +6 -9
- package/app/components/Viewer/HybridSolid/EdgesOptions.vue +6 -9
- package/app/components/Viewer/HybridSolid/PointsOptions.vue +6 -9
- package/app/components/Viewer/HybridSolid/PolygonsOptions.vue +6 -9
- package/app/components/Viewer/HybridSolid/PolyhedraOptions.vue +6 -9
- package/app/components/Viewer/Options/AttributeColorBar.vue +8 -8
- package/app/components/Viewer/Options/AttributeSelector.vue +73 -78
- package/app/components/Viewer/Options/ColorMapList.vue +115 -140
- package/app/components/Viewer/Options/ColorMapPicker.vue +128 -142
- package/app/components/Viewer/Options/ColorPicker.vue +9 -9
- package/app/components/Viewer/Options/ColoringTypeSelector.vue +77 -91
- package/app/components/Viewer/Options/TextureItem.vue +54 -58
- package/app/components/Viewer/Options/TexturesSelector.vue +22 -26
- package/app/components/Viewer/Options/VisibilitySwitch.vue +1 -1
- package/app/components/Viewer/PointSet/SpecificPointsOptions.vue +61 -68
- package/app/components/Viewer/PolygonalSurface/EdgesOptions.vue +6 -9
- package/app/components/Viewer/PolygonalSurface/PointsOptions.vue +6 -9
- package/app/components/Viewer/PolygonalSurface/SpecificPolygonsOptions.vue +83 -103
- package/app/components/Viewer/Solid/EdgesOptions.vue +6 -9
- package/app/components/Viewer/Solid/PointsOptions.vue +6 -9
- package/app/components/Viewer/Solid/PolygonsOptions.vue +6 -9
- package/app/components/Viewer/Solid/SpecificPolyhedraOptions.vue +82 -105
- package/app/components/Viewer/TetrahedralSolid/TetrahedraOptions.vue +5 -5
- package/app/components/Viewer/TetrahedralSolid/TrianglesOptions.vue +5 -5
- package/app/components/Viewer/Tree/ObjectTree.vue +80 -89
- package/app/components/Viewer/TreeComponent.vue +43 -49
- package/app/components/Viewer/TreeObject.vue +48 -50
- package/app/components/Viewer/TriangulatedSurface/EdgesOptions.vue +6 -9
- package/app/components/Viewer/TriangulatedSurface/PointsOptions.vue +5 -5
- package/app/components/Viewer/TriangulatedSurface/TrianglesOptions.vue +5 -5
- package/app/components/Wrapper.vue +8 -8
- package/app/components/ZScaling.vue +18 -27
- package/app/composables/project_manager.js +57 -67
- package/app/composables/run_function_when_microservices_connected.js +8 -8
- package/app/plugins/auto_store_register.js +11 -13
- package/app/stores/app.js +118 -138
- package/app/stores/data.js +52 -68
- package/app/stores/data_style.js +36 -36
- package/app/stores/feedback.js +17 -20
- package/app/stores/geode.js +54 -55
- package/app/stores/hybrid_viewer.js +164 -177
- package/app/stores/infra.js +45 -55
- package/app/stores/lambda.js +26 -26
- package/app/stores/menu.js +78 -85
- package/app/stores/treeview.js +57 -65
- package/app/stores/viewer.js +92 -104
- package/app/utils/colormap.js +3 -3
- package/app/utils/config.js +16 -22
- package/app/utils/default_styles.js +50 -62
- package/app/utils/extension.js +44 -44
- package/app/utils/file_import_workflow.js +50 -64
- package/app/utils/local/app_mode.js +2 -2
- package/app/utils/local/cleanup.js +66 -72
- package/app/utils/local/microservices.js +61 -71
- package/app/utils/local/path.js +16 -19
- package/app/utils/local/scripts.js +22 -22
- package/app/utils/recaptcha.js +6 -6
- package/app/utils/server.js +21 -24
- package/app/utils/status.js +2 -2
- package/app/utils/treeview.js +4 -4
- package/app/utils/validate_schema.js +7 -7
- package/commitlint.config.js +2 -2
- package/eslint.config.js +4 -4
- package/internal/database/database.js +38 -46
- package/internal/database/extended_database.js +9 -10
- package/internal/database/tables/data.js +2 -3
- package/internal/database/tables/model_components.js +1 -1
- package/internal/database/tables/model_components_relation.js +1 -1
- package/internal/stores/data_style/mesh/cells/cell.js +47 -63
- package/internal/stores/data_style/mesh/cells/color.js +11 -16
- package/internal/stores/data_style/mesh/cells/common.js +6 -6
- package/internal/stores/data_style/mesh/cells/index.js +37 -47
- package/internal/stores/data_style/mesh/cells/textures.js +11 -12
- package/internal/stores/data_style/mesh/cells/vertex.js +47 -58
- package/internal/stores/data_style/mesh/cells/visibility.js +11 -16
- package/internal/stores/data_style/mesh/edges/color.js +11 -16
- package/internal/stores/data_style/mesh/edges/common.js +6 -6
- package/internal/stores/data_style/mesh/edges/edge.js +47 -63
- package/internal/stores/data_style/mesh/edges/index.js +38 -52
- package/internal/stores/data_style/mesh/edges/vertex.js +47 -58
- package/internal/stores/data_style/mesh/edges/visibility.js +11 -16
- package/internal/stores/data_style/mesh/edges/width.js +11 -16
- package/internal/stores/data_style/mesh/index.js +34 -34
- package/internal/stores/data_style/mesh/points/color.js +11 -16
- package/internal/stores/data_style/mesh/points/common.js +6 -6
- package/internal/stores/data_style/mesh/points/index.js +35 -49
- package/internal/stores/data_style/mesh/points/size.js +11 -16
- package/internal/stores/data_style/mesh/points/vertex.js +47 -58
- package/internal/stores/data_style/mesh/points/visibility.js +11 -16
- package/internal/stores/data_style/mesh/polygons/color.js +11 -16
- package/internal/stores/data_style/mesh/polygons/common.js +6 -6
- package/internal/stores/data_style/mesh/polygons/index.js +36 -45
- package/internal/stores/data_style/mesh/polygons/polygon.js +45 -56
- package/internal/stores/data_style/mesh/polygons/textures.js +11 -16
- package/internal/stores/data_style/mesh/polygons/vertex.js +47 -58
- package/internal/stores/data_style/mesh/polygons/visibility.js +11 -16
- package/internal/stores/data_style/mesh/polyhedra/color.js +11 -16
- package/internal/stores/data_style/mesh/polyhedra/common.js +6 -6
- package/internal/stores/data_style/mesh/polyhedra/index.js +29 -42
- package/internal/stores/data_style/mesh/polyhedra/polyhedron.js +43 -47
- package/internal/stores/data_style/mesh/polyhedra/vertex.js +47 -58
- package/internal/stores/data_style/mesh/polyhedra/visibility.js +11 -17
- package/internal/stores/data_style/model/blocks/color.js +21 -24
- package/internal/stores/data_style/model/blocks/common.js +6 -6
- package/internal/stores/data_style/model/blocks/index.js +13 -17
- package/internal/stores/data_style/model/blocks/visibility.js +21 -24
- package/internal/stores/data_style/model/corners/color.js +21 -24
- package/internal/stores/data_style/model/corners/common.js +6 -6
- package/internal/stores/data_style/model/corners/index.js +14 -18
- package/internal/stores/data_style/model/corners/visibility.js +21 -25
- package/internal/stores/data_style/model/edges/common.js +4 -4
- package/internal/stores/data_style/model/edges/index.js +7 -7
- package/internal/stores/data_style/model/edges/visibility.js +11 -15
- package/internal/stores/data_style/model/index.js +84 -100
- package/internal/stores/data_style/model/lines/color.js +21 -24
- package/internal/stores/data_style/model/lines/common.js +6 -6
- package/internal/stores/data_style/model/lines/index.js +13 -17
- package/internal/stores/data_style/model/lines/visibility.js +21 -24
- package/internal/stores/data_style/model/points/common.js +4 -4
- package/internal/stores/data_style/model/points/index.js +9 -9
- package/internal/stores/data_style/model/points/size.js +11 -11
- package/internal/stores/data_style/model/points/visibility.js +11 -15
- package/internal/stores/data_style/model/surfaces/color.js +21 -24
- package/internal/stores/data_style/model/surfaces/common.js +6 -6
- package/internal/stores/data_style/model/surfaces/index.js +14 -22
- package/internal/stores/data_style/model/surfaces/visibility.js +18 -22
- package/internal/stores/data_style/state.js +11 -11
- package/internal/utils/api_fetch.js +24 -34
- package/internal/utils/upload_file.js +19 -24
- package/internal/utils/viewer_call.js +23 -36
- package/nuxt.config.js +7 -11
- package/package.json +3 -3
- package/scripts/generate_geode_objects.js +14 -16
- package/server/api/app/kill.post.js +4 -4
- package/server/api/app/project_folder_path.post.js +11 -11
- package/server/api/app/run_back.post.js +12 -12
- package/server/api/app/run_viewer.post.js +12 -12
- package/server/api/extensions/run.post.js +34 -41
- package/server/api/extensions/upload.put.js +48 -62
- package/tests/integration/setup.js +43 -53
- package/tests/integration/stores/data_style/mesh/cells.nuxt.test.js +90 -116
- package/tests/integration/stores/data_style/mesh/edges.nuxt.test.js +81 -107
- package/tests/integration/stores/data_style/mesh/index.nuxt.test.js +38 -41
- package/tests/integration/stores/data_style/mesh/points.nuxt.test.js +85 -101
- package/tests/integration/stores/data_style/mesh/polygons.nuxt.test.js +89 -113
- package/tests/integration/stores/data_style/mesh/polyhedra.nuxt.test.js +81 -105
- package/tests/integration/stores/data_style/model/blocks.nuxt.test.js +56 -73
- package/tests/integration/stores/data_style/model/corners.nuxt.test.js +59 -76
- package/tests/integration/stores/data_style/model/edges.nuxt.test.js +39 -42
- package/tests/integration/stores/data_style/model/index.nuxt.test.js +31 -34
- package/tests/integration/stores/data_style/model/lines.nuxt.test.js +60 -73
- package/tests/integration/stores/data_style/model/points.nuxt.test.js +52 -55
- package/tests/integration/stores/data_style/model/surfaces.nuxt.test.js +59 -80
- package/tests/integration/stores/viewer.nuxt.test.js +35 -38
- package/tests/setup_indexeddb.js +2 -2
- package/tests/unit/components/CrsSelector.nuxt.test.js +28 -28
- package/tests/unit/components/ExtensionSelector.nuxt.test.js +33 -35
- package/tests/unit/components/FeedBack/ErrorsBanner.nuxt.test.js +23 -23
- package/tests/unit/components/FeedBack/Snackers.nuxt.test.js +18 -18
- package/tests/unit/components/FileSelector.nuxt.test.js +57 -59
- package/tests/unit/components/FileUploader.nuxt.test.js +35 -39
- package/tests/unit/components/Inspector/InspectionButton.nuxt.test.js +28 -28
- package/tests/unit/components/Inspector/ResultPanel.nuxt.test.js +22 -27
- package/tests/unit/components/Launcher.nuxt.test.js +20 -22
- package/tests/unit/components/MissingFilesSelector.nuxt.test.js +37 -37
- package/tests/unit/components/ObjectSelector.nuxt.test.js +62 -62
- package/tests/unit/components/PackagesVersions.nuxt.test.js +16 -16
- package/tests/unit/components/Step.nuxt.test.js +18 -19
- package/tests/unit/components/Stepper.nuxt.test.js +18 -18
- package/tests/unit/composables/api_fetch.nuxt.test.js +34 -36
- package/tests/unit/composables/project_manager.nuxt.test.js +93 -112
- package/tests/unit/composables/run_function_when_microservices_connected.nuxt.test.js +36 -36
- package/tests/unit/composables/upload_file.nuxt.test.js +27 -29
- package/tests/unit/plugins/project_load.nuxt.test.js +31 -33
- package/tests/unit/stores/app.nuxt.test.js +90 -92
- package/tests/unit/stores/feedback.nuxt.test.js +47 -57
- package/tests/unit/stores/geode.nuxt.test.js +111 -115
- package/tests/unit/stores/infra.nuxt.test.js +148 -148
- package/tests/unit/stores/lambda.nuxt.test.js +72 -74
- package/tests/unit/stores/treeview.nuxt.test.js +19 -21
- package/tests/unit/stores/viewer.nuxt.test.js +109 -122
- package/tests/unit/utils/recaptcha.nuxt.test.js +25 -29
- package/tests/unit/utils/validate_schema.nuxt.test.js +17 -17
- package/tests/utils.js +11 -11
- package/tests/vitest.config.js +9 -9
- package/vuetify_config.js +2 -2
|
@@ -1,109 +1,92 @@
|
|
|
1
1
|
// Third party imports
|
|
2
|
-
import { afterEach, beforeEach, describe, expect, test, vi } from "vitest"
|
|
3
|
-
import viewer_schemas from "@geode/opengeodeweb-viewer/opengeodeweb_viewer_schemas.json" with { type: "json" }
|
|
2
|
+
import { afterEach, beforeEach, describe, expect, test, vi } from "vitest";
|
|
3
|
+
import viewer_schemas from "@geode/opengeodeweb-viewer/opengeodeweb_viewer_schemas.json" with { type: "json" };
|
|
4
4
|
|
|
5
5
|
// Local imports
|
|
6
|
-
import { Status } from "@ogw_front/utils/status"
|
|
7
|
-
import { cleanupBackend } from "@ogw_front/utils/local/cleanup"
|
|
8
|
-
import { setupIntegrationTests } from "@ogw_tests/integration/setup"
|
|
9
|
-
import { useDataStore } from "@ogw_front/stores/data"
|
|
10
|
-
import { useDataStyleStore } from "@ogw_front/stores/data_style"
|
|
11
|
-
import { useViewerStore } from "@ogw_front/stores/viewer"
|
|
6
|
+
import { Status } from "@ogw_front/utils/status";
|
|
7
|
+
import { cleanupBackend } from "@ogw_front/utils/local/cleanup";
|
|
8
|
+
import { setupIntegrationTests } from "@ogw_tests/integration/setup";
|
|
9
|
+
import { useDataStore } from "@ogw_front/stores/data";
|
|
10
|
+
import { useDataStyleStore } from "@ogw_front/stores/data_style";
|
|
11
|
+
import { useViewerStore } from "@ogw_front/stores/viewer";
|
|
12
12
|
|
|
13
13
|
// Local constants
|
|
14
|
-
const INTERVAL_TIMEOUT = 20_000
|
|
15
|
-
const model_blocks_schemas = viewer_schemas.opengeodeweb_viewer.model.blocks
|
|
16
|
-
const file_name = "test.og_brep"
|
|
17
|
-
const geode_object = "BRep"
|
|
14
|
+
const INTERVAL_TIMEOUT = 20_000;
|
|
15
|
+
const model_blocks_schemas = viewer_schemas.opengeodeweb_viewer.model.blocks;
|
|
16
|
+
const file_name = "test.og_brep";
|
|
17
|
+
const geode_object = "BRep";
|
|
18
18
|
|
|
19
19
|
let id = "",
|
|
20
|
-
projectFolderPath = ""
|
|
20
|
+
projectFolderPath = "";
|
|
21
21
|
|
|
22
22
|
beforeEach(async () => {
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
geode_object,
|
|
26
|
-
))
|
|
27
|
-
}, INTERVAL_TIMEOUT)
|
|
23
|
+
({ id, projectFolderPath } = await setupIntegrationTests(file_name, geode_object));
|
|
24
|
+
}, INTERVAL_TIMEOUT);
|
|
28
25
|
|
|
29
26
|
afterEach(async () => {
|
|
30
|
-
console.log("afterEach model blocks kill", projectFolderPath)
|
|
31
|
-
await cleanupBackend(projectFolderPath)
|
|
32
|
-
})
|
|
27
|
+
console.log("afterEach model blocks kill", projectFolderPath);
|
|
28
|
+
await cleanupBackend(projectFolderPath);
|
|
29
|
+
});
|
|
33
30
|
|
|
34
31
|
describe("Model blocks", () => {
|
|
35
32
|
describe("Blocks visibility", () => {
|
|
36
33
|
test("Visibility false", async () => {
|
|
37
|
-
const dataStyleStore = useDataStyleStore()
|
|
38
|
-
const viewerStore = useViewerStore()
|
|
39
|
-
const dataStore = useDataStore()
|
|
40
|
-
const block_ids = await dataStore.getBlocksGeodeIds(id)
|
|
41
|
-
const block_viewer_ids = await dataStore.getMeshComponentsViewerIds(
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
)
|
|
45
|
-
const
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
const result = dataStyleStore.setModelBlocksVisibility(
|
|
49
|
-
id,
|
|
50
|
-
block_ids,
|
|
51
|
-
visibility,
|
|
52
|
-
)
|
|
53
|
-
expect(result).toBeInstanceOf(Promise)
|
|
54
|
-
await result
|
|
34
|
+
const dataStyleStore = useDataStyleStore();
|
|
35
|
+
const viewerStore = useViewerStore();
|
|
36
|
+
const dataStore = useDataStore();
|
|
37
|
+
const block_ids = await dataStore.getBlocksGeodeIds(id);
|
|
38
|
+
const block_viewer_ids = await dataStore.getMeshComponentsViewerIds(id, block_ids);
|
|
39
|
+
const visibility = false;
|
|
40
|
+
const spy = vi.spyOn(viewerStore, "request");
|
|
41
|
+
spy.mockClear();
|
|
42
|
+
const result = dataStyleStore.setModelBlocksVisibility(id, block_ids, visibility);
|
|
43
|
+
expect(result).toBeInstanceOf(Promise);
|
|
44
|
+
await result;
|
|
55
45
|
expect(spy).toHaveBeenCalledWith(
|
|
56
46
|
model_blocks_schemas.visibility,
|
|
57
47
|
{ id, block_ids: block_viewer_ids, visibility },
|
|
58
48
|
{
|
|
59
49
|
response_function: expect.any(Function),
|
|
60
50
|
},
|
|
61
|
-
)
|
|
51
|
+
);
|
|
62
52
|
for (const block_id of block_ids) {
|
|
63
|
-
expect(dataStyleStore.modelBlockVisibility(id, block_id)).toBe(
|
|
64
|
-
visibility,
|
|
65
|
-
)
|
|
53
|
+
expect(dataStyleStore.modelBlockVisibility(id, block_id)).toBe(visibility);
|
|
66
54
|
}
|
|
67
|
-
expect(viewerStore.status).toBe(Status.CONNECTED)
|
|
68
|
-
})
|
|
69
|
-
})
|
|
55
|
+
expect(viewerStore.status).toBe(Status.CONNECTED);
|
|
56
|
+
});
|
|
57
|
+
});
|
|
70
58
|
|
|
71
59
|
describe("Blocks color", () => {
|
|
72
60
|
test("Color red", async () => {
|
|
73
|
-
const dataStyleStore = useDataStyleStore()
|
|
74
|
-
const viewerStore = useViewerStore()
|
|
75
|
-
const dataStore = useDataStore()
|
|
76
|
-
const block_ids = await dataStore.getBlocksGeodeIds(id)
|
|
77
|
-
const block_viewer_ids = await dataStore.getMeshComponentsViewerIds(
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
)
|
|
81
|
-
const color = { r: 255, g: 0, b: 0 }
|
|
82
|
-
const spy = vi.spyOn(viewerStore, "request")
|
|
83
|
-
await dataStyleStore.setModelBlocksColor(id, block_ids, color)
|
|
61
|
+
const dataStyleStore = useDataStyleStore();
|
|
62
|
+
const viewerStore = useViewerStore();
|
|
63
|
+
const dataStore = useDataStore();
|
|
64
|
+
const block_ids = await dataStore.getBlocksGeodeIds(id);
|
|
65
|
+
const block_viewer_ids = await dataStore.getMeshComponentsViewerIds(id, block_ids);
|
|
66
|
+
const color = { r: 255, g: 0, b: 0 };
|
|
67
|
+
const spy = vi.spyOn(viewerStore, "request");
|
|
68
|
+
await dataStyleStore.setModelBlocksColor(id, block_ids, color);
|
|
84
69
|
expect(spy).toHaveBeenCalledWith(
|
|
85
70
|
model_blocks_schemas.color,
|
|
86
71
|
{ id, block_ids: block_viewer_ids, color },
|
|
87
72
|
{
|
|
88
73
|
response_function: expect.any(Function),
|
|
89
74
|
},
|
|
90
|
-
)
|
|
75
|
+
);
|
|
91
76
|
for (const block_id of block_ids) {
|
|
92
|
-
expect(dataStyleStore.modelBlockColor(id, block_id)).toStrictEqual(
|
|
93
|
-
color,
|
|
94
|
-
)
|
|
77
|
+
expect(dataStyleStore.modelBlockColor(id, block_id)).toStrictEqual(color);
|
|
95
78
|
}
|
|
96
|
-
expect(viewerStore.status).toBe(Status.CONNECTED)
|
|
97
|
-
})
|
|
98
|
-
})
|
|
79
|
+
expect(viewerStore.status).toBe(Status.CONNECTED);
|
|
80
|
+
});
|
|
81
|
+
});
|
|
99
82
|
describe("Blocks style", () => {
|
|
100
83
|
test("Blocks apply style", async () => {
|
|
101
|
-
const dataStyleStore = useDataStyleStore()
|
|
102
|
-
const viewerStore = useViewerStore()
|
|
103
|
-
const result = dataStyleStore.applyModelBlocksStyle(id)
|
|
104
|
-
expect(result).toBeInstanceOf(Promise)
|
|
105
|
-
await result
|
|
106
|
-
expect(viewerStore.status).toBe(Status.CONNECTED)
|
|
107
|
-
})
|
|
108
|
-
})
|
|
109
|
-
})
|
|
84
|
+
const dataStyleStore = useDataStyleStore();
|
|
85
|
+
const viewerStore = useViewerStore();
|
|
86
|
+
const result = dataStyleStore.applyModelBlocksStyle(id);
|
|
87
|
+
expect(result).toBeInstanceOf(Promise);
|
|
88
|
+
await result;
|
|
89
|
+
expect(viewerStore.status).toBe(Status.CONNECTED);
|
|
90
|
+
});
|
|
91
|
+
});
|
|
92
|
+
});
|
|
@@ -1,113 +1,96 @@
|
|
|
1
1
|
// Third party imports
|
|
2
|
-
import { afterEach, beforeEach, describe, expect, test, vi } from "vitest"
|
|
3
|
-
import viewer_schemas from "@geode/opengeodeweb-viewer/opengeodeweb_viewer_schemas.json" with { type: "json" }
|
|
2
|
+
import { afterEach, beforeEach, describe, expect, test, vi } from "vitest";
|
|
3
|
+
import viewer_schemas from "@geode/opengeodeweb-viewer/opengeodeweb_viewer_schemas.json" with { type: "json" };
|
|
4
4
|
|
|
5
5
|
// Local imports
|
|
6
|
-
import { Status } from "@ogw_front/utils/status"
|
|
7
|
-
import { cleanupBackend } from "@ogw_front/utils/local/cleanup"
|
|
8
|
-
import { setupIntegrationTests } from "@ogw_tests/integration/setup"
|
|
9
|
-
import { useDataStore } from "@ogw_front/stores/data"
|
|
10
|
-
import { useDataStyleStore } from "@ogw_front/stores/data_style"
|
|
11
|
-
import { useViewerStore } from "@ogw_front/stores/viewer"
|
|
6
|
+
import { Status } from "@ogw_front/utils/status";
|
|
7
|
+
import { cleanupBackend } from "@ogw_front/utils/local/cleanup";
|
|
8
|
+
import { setupIntegrationTests } from "@ogw_tests/integration/setup";
|
|
9
|
+
import { useDataStore } from "@ogw_front/stores/data";
|
|
10
|
+
import { useDataStyleStore } from "@ogw_front/stores/data_style";
|
|
11
|
+
import { useViewerStore } from "@ogw_front/stores/viewer";
|
|
12
12
|
|
|
13
13
|
// Local constants
|
|
14
|
-
const INTERVAL_TIMEOUT = 20_000
|
|
15
|
-
const model_corners_schemas = viewer_schemas.opengeodeweb_viewer.model.corners
|
|
16
|
-
const file_name = "test.og_brep"
|
|
17
|
-
const geode_object = "BRep"
|
|
14
|
+
const INTERVAL_TIMEOUT = 20_000;
|
|
15
|
+
const model_corners_schemas = viewer_schemas.opengeodeweb_viewer.model.corners;
|
|
16
|
+
const file_name = "test.og_brep";
|
|
17
|
+
const geode_object = "BRep";
|
|
18
18
|
|
|
19
19
|
let id = "",
|
|
20
|
-
projectFolderPath = ""
|
|
20
|
+
projectFolderPath = "";
|
|
21
21
|
|
|
22
22
|
beforeEach(async () => {
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
geode_object,
|
|
26
|
-
))
|
|
27
|
-
}, INTERVAL_TIMEOUT)
|
|
23
|
+
({ id, projectFolderPath } = await setupIntegrationTests(file_name, geode_object));
|
|
24
|
+
}, INTERVAL_TIMEOUT);
|
|
28
25
|
|
|
29
26
|
afterEach(async () => {
|
|
30
|
-
console.log("afterEach model corners kill", projectFolderPath)
|
|
31
|
-
await cleanupBackend(projectFolderPath)
|
|
32
|
-
})
|
|
27
|
+
console.log("afterEach model corners kill", projectFolderPath);
|
|
28
|
+
await cleanupBackend(projectFolderPath);
|
|
29
|
+
});
|
|
33
30
|
|
|
34
31
|
describe("Model corners", () => {
|
|
35
32
|
describe("Corners visibility", () => {
|
|
36
33
|
test("Visibility false", async () => {
|
|
37
|
-
const dataStyleStore = useDataStyleStore()
|
|
38
|
-
const viewerStore = useViewerStore()
|
|
39
|
-
const dataStore = useDataStore()
|
|
40
|
-
const corner_ids = await dataStore.getCornersGeodeIds(id)
|
|
41
|
-
const corner_viewer_ids = await dataStore.getMeshComponentsViewerIds(
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
)
|
|
45
|
-
const
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
const result = dataStyleStore.setModelCornersVisibility(
|
|
49
|
-
id,
|
|
50
|
-
corner_ids,
|
|
51
|
-
visibility,
|
|
52
|
-
)
|
|
53
|
-
expect(result).toBeInstanceOf(Promise)
|
|
54
|
-
await result
|
|
34
|
+
const dataStyleStore = useDataStyleStore();
|
|
35
|
+
const viewerStore = useViewerStore();
|
|
36
|
+
const dataStore = useDataStore();
|
|
37
|
+
const corner_ids = await dataStore.getCornersGeodeIds(id);
|
|
38
|
+
const corner_viewer_ids = await dataStore.getMeshComponentsViewerIds(id, corner_ids);
|
|
39
|
+
const visibility = false;
|
|
40
|
+
const spy = vi.spyOn(viewerStore, "request");
|
|
41
|
+
spy.mockClear();
|
|
42
|
+
const result = dataStyleStore.setModelCornersVisibility(id, corner_ids, visibility);
|
|
43
|
+
expect(result).toBeInstanceOf(Promise);
|
|
44
|
+
await result;
|
|
55
45
|
expect(spy).toHaveBeenCalledWith(
|
|
56
46
|
model_corners_schemas.visibility,
|
|
57
47
|
{ id, block_ids: corner_viewer_ids, visibility },
|
|
58
48
|
{
|
|
59
49
|
response_function: expect.any(Function),
|
|
60
50
|
},
|
|
61
|
-
)
|
|
51
|
+
);
|
|
62
52
|
for (const corner_id of corner_ids) {
|
|
63
|
-
expect(dataStyleStore.modelCornerVisibility(id, corner_id)).toBe(
|
|
64
|
-
visibility,
|
|
65
|
-
)
|
|
53
|
+
expect(dataStyleStore.modelCornerVisibility(id, corner_id)).toBe(visibility);
|
|
66
54
|
}
|
|
67
|
-
expect(viewerStore.status).toBe(Status.CONNECTED)
|
|
68
|
-
})
|
|
69
|
-
})
|
|
55
|
+
expect(viewerStore.status).toBe(Status.CONNECTED);
|
|
56
|
+
});
|
|
57
|
+
});
|
|
70
58
|
|
|
71
59
|
describe("Corner color", () => {
|
|
72
60
|
test("Color red", async () => {
|
|
73
|
-
const dataStyleStore = useDataStyleStore()
|
|
74
|
-
const viewerStore = useViewerStore()
|
|
75
|
-
const dataStore = useDataStore()
|
|
76
|
-
const corner_ids = await dataStore.getCornersGeodeIds(id)
|
|
77
|
-
const corner_viewer_ids = await dataStore.getMeshComponentsViewerIds(
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
)
|
|
81
|
-
const
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
const result = dataStyleStore.setModelCornersColor(id, corner_ids, color)
|
|
85
|
-
expect(result).toBeInstanceOf(Promise)
|
|
86
|
-
await result
|
|
61
|
+
const dataStyleStore = useDataStyleStore();
|
|
62
|
+
const viewerStore = useViewerStore();
|
|
63
|
+
const dataStore = useDataStore();
|
|
64
|
+
const corner_ids = await dataStore.getCornersGeodeIds(id);
|
|
65
|
+
const corner_viewer_ids = await dataStore.getMeshComponentsViewerIds(id, corner_ids);
|
|
66
|
+
const color = { r: 255, g: 0, b: 0 };
|
|
67
|
+
const spy = vi.spyOn(viewerStore, "request");
|
|
68
|
+
spy.mockClear();
|
|
69
|
+
const result = dataStyleStore.setModelCornersColor(id, corner_ids, color);
|
|
70
|
+
expect(result).toBeInstanceOf(Promise);
|
|
71
|
+
await result;
|
|
87
72
|
expect(spy).toHaveBeenCalledWith(
|
|
88
73
|
model_corners_schemas.color,
|
|
89
74
|
{ id, block_ids: corner_viewer_ids, color },
|
|
90
75
|
{
|
|
91
76
|
response_function: expect.any(Function),
|
|
92
77
|
},
|
|
93
|
-
)
|
|
78
|
+
);
|
|
94
79
|
for (const corner_id of corner_ids) {
|
|
95
|
-
expect(dataStyleStore.modelCornerColor(id, corner_id)).toStrictEqual(
|
|
96
|
-
color,
|
|
97
|
-
)
|
|
80
|
+
expect(dataStyleStore.modelCornerColor(id, corner_id)).toStrictEqual(color);
|
|
98
81
|
}
|
|
99
|
-
expect(viewerStore.status).toBe(Status.CONNECTED)
|
|
100
|
-
})
|
|
101
|
-
})
|
|
82
|
+
expect(viewerStore.status).toBe(Status.CONNECTED);
|
|
83
|
+
});
|
|
84
|
+
});
|
|
102
85
|
|
|
103
86
|
describe("Corner style", () => {
|
|
104
87
|
test("Corners apply style", async () => {
|
|
105
|
-
const dataStyleStore = useDataStyleStore()
|
|
106
|
-
const viewerStore = useViewerStore()
|
|
107
|
-
const result = dataStyleStore.applyModelCornersStyle(id)
|
|
108
|
-
expect(result).toBeInstanceOf(Promise)
|
|
109
|
-
await result
|
|
110
|
-
expect(viewerStore.status).toBe(Status.CONNECTED)
|
|
111
|
-
})
|
|
112
|
-
})
|
|
113
|
-
})
|
|
88
|
+
const dataStyleStore = useDataStyleStore();
|
|
89
|
+
const viewerStore = useViewerStore();
|
|
90
|
+
const result = dataStyleStore.applyModelCornersStyle(id);
|
|
91
|
+
expect(result).toBeInstanceOf(Promise);
|
|
92
|
+
await result;
|
|
93
|
+
expect(viewerStore.status).toBe(Status.CONNECTED);
|
|
94
|
+
});
|
|
95
|
+
});
|
|
96
|
+
});
|
|
@@ -1,65 +1,62 @@
|
|
|
1
1
|
// Third party imports
|
|
2
|
-
import { afterEach, beforeEach, describe, expect, test, vi } from "vitest"
|
|
3
|
-
import viewer_schemas from "@geode/opengeodeweb-viewer/opengeodeweb_viewer_schemas.json" with { type: "json" }
|
|
2
|
+
import { afterEach, beforeEach, describe, expect, test, vi } from "vitest";
|
|
3
|
+
import viewer_schemas from "@geode/opengeodeweb-viewer/opengeodeweb_viewer_schemas.json" with { type: "json" };
|
|
4
4
|
|
|
5
5
|
// Local imports
|
|
6
|
-
import { Status } from "@ogw_front/utils/status"
|
|
7
|
-
import { cleanupBackend } from "@ogw_front/utils/local/cleanup"
|
|
8
|
-
import { setupIntegrationTests } from "@ogw_tests/integration/setup"
|
|
9
|
-
import { useDataStyleStore } from "@ogw_front/stores/data_style"
|
|
10
|
-
import { useViewerStore } from "@ogw_front/stores/viewer"
|
|
6
|
+
import { Status } from "@ogw_front/utils/status";
|
|
7
|
+
import { cleanupBackend } from "@ogw_front/utils/local/cleanup";
|
|
8
|
+
import { setupIntegrationTests } from "@ogw_tests/integration/setup";
|
|
9
|
+
import { useDataStyleStore } from "@ogw_front/stores/data_style";
|
|
10
|
+
import { useViewerStore } from "@ogw_front/stores/viewer";
|
|
11
11
|
|
|
12
12
|
// Local constants
|
|
13
|
-
const INTERVAL_TIMEOUT = 25_000
|
|
14
|
-
const model_edges_schemas = viewer_schemas.opengeodeweb_viewer.model.edges
|
|
15
|
-
const file_name = "test.og_brep"
|
|
16
|
-
const geode_object = "BRep"
|
|
13
|
+
const INTERVAL_TIMEOUT = 25_000;
|
|
14
|
+
const model_edges_schemas = viewer_schemas.opengeodeweb_viewer.model.edges;
|
|
15
|
+
const file_name = "test.og_brep";
|
|
16
|
+
const geode_object = "BRep";
|
|
17
17
|
|
|
18
18
|
let id = "",
|
|
19
|
-
projectFolderPath = ""
|
|
19
|
+
projectFolderPath = "";
|
|
20
20
|
|
|
21
21
|
beforeEach(async () => {
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
geode_object,
|
|
25
|
-
))
|
|
26
|
-
}, INTERVAL_TIMEOUT)
|
|
22
|
+
({ id, projectFolderPath } = await setupIntegrationTests(file_name, geode_object));
|
|
23
|
+
}, INTERVAL_TIMEOUT);
|
|
27
24
|
|
|
28
25
|
afterEach(async () => {
|
|
29
|
-
console.log("afterEach model edges kill", projectFolderPath)
|
|
30
|
-
await cleanupBackend(projectFolderPath)
|
|
31
|
-
})
|
|
26
|
+
console.log("afterEach model edges kill", projectFolderPath);
|
|
27
|
+
await cleanupBackend(projectFolderPath);
|
|
28
|
+
});
|
|
32
29
|
|
|
33
30
|
describe("Model edges", () => {
|
|
34
31
|
describe("Edges visibility", () => {
|
|
35
32
|
test("Visibility true", async () => {
|
|
36
|
-
const dataStyleStore = useDataStyleStore()
|
|
37
|
-
const viewerStore = useViewerStore()
|
|
38
|
-
const visibility = true
|
|
39
|
-
const spy = vi.spyOn(viewerStore, "request")
|
|
40
|
-
spy.mockClear()
|
|
41
|
-
const result = dataStyleStore.setModelEdgesVisibility(id, visibility)
|
|
42
|
-
expect(result).toBeInstanceOf(Promise)
|
|
43
|
-
await result
|
|
33
|
+
const dataStyleStore = useDataStyleStore();
|
|
34
|
+
const viewerStore = useViewerStore();
|
|
35
|
+
const visibility = true;
|
|
36
|
+
const spy = vi.spyOn(viewerStore, "request");
|
|
37
|
+
spy.mockClear();
|
|
38
|
+
const result = dataStyleStore.setModelEdgesVisibility(id, visibility);
|
|
39
|
+
expect(result).toBeInstanceOf(Promise);
|
|
40
|
+
await result;
|
|
44
41
|
expect(spy).toHaveBeenCalledWith(
|
|
45
42
|
model_edges_schemas.visibility,
|
|
46
43
|
{ id, visibility },
|
|
47
44
|
{
|
|
48
45
|
response_function: expect.any(Function),
|
|
49
46
|
},
|
|
50
|
-
)
|
|
51
|
-
expect(dataStyleStore.modelEdgesVisibility(id)).toBe(visibility)
|
|
52
|
-
expect(viewerStore.status).toBe(Status.CONNECTED)
|
|
53
|
-
})
|
|
54
|
-
})
|
|
47
|
+
);
|
|
48
|
+
expect(dataStyleStore.modelEdgesVisibility(id)).toBe(visibility);
|
|
49
|
+
expect(viewerStore.status).toBe(Status.CONNECTED);
|
|
50
|
+
});
|
|
51
|
+
});
|
|
55
52
|
describe("Edges style", () => {
|
|
56
53
|
test("Edges apply style", async () => {
|
|
57
|
-
const dataStyleStore = useDataStyleStore()
|
|
58
|
-
const viewerStore = useViewerStore()
|
|
59
|
-
const result = dataStyleStore.applyModelEdgesStyle(id)
|
|
60
|
-
expect(result).toBeInstanceOf(Promise)
|
|
61
|
-
await result
|
|
62
|
-
expect(viewerStore.status).toBe(Status.CONNECTED)
|
|
63
|
-
})
|
|
64
|
-
})
|
|
65
|
-
})
|
|
54
|
+
const dataStyleStore = useDataStyleStore();
|
|
55
|
+
const viewerStore = useViewerStore();
|
|
56
|
+
const result = dataStyleStore.applyModelEdgesStyle(id);
|
|
57
|
+
expect(result).toBeInstanceOf(Promise);
|
|
58
|
+
await result;
|
|
59
|
+
expect(viewerStore.status).toBe(Status.CONNECTED);
|
|
60
|
+
});
|
|
61
|
+
});
|
|
62
|
+
});
|
|
@@ -1,55 +1,52 @@
|
|
|
1
1
|
// Third party imports
|
|
2
|
-
import { afterEach, beforeEach, describe, expect, test, vi } from "vitest"
|
|
3
|
-
import viewer_schemas from "@geode/opengeodeweb-viewer/opengeodeweb_viewer_schemas.json" with { type: "json" }
|
|
2
|
+
import { afterEach, beforeEach, describe, expect, test, vi } from "vitest";
|
|
3
|
+
import viewer_schemas from "@geode/opengeodeweb-viewer/opengeodeweb_viewer_schemas.json" with { type: "json" };
|
|
4
4
|
|
|
5
5
|
// Local imports
|
|
6
|
-
import { Status } from "@ogw_front/utils/status"
|
|
7
|
-
import { cleanupBackend } from "@ogw_front/utils/local/cleanup"
|
|
8
|
-
import { setupIntegrationTests } from "@ogw_tests/integration/setup"
|
|
9
|
-
import { useDataStyleStore } from "@ogw_front/stores/data_style"
|
|
10
|
-
import { useViewerStore } from "@ogw_front/stores/viewer"
|
|
6
|
+
import { Status } from "@ogw_front/utils/status";
|
|
7
|
+
import { cleanupBackend } from "@ogw_front/utils/local/cleanup";
|
|
8
|
+
import { setupIntegrationTests } from "@ogw_tests/integration/setup";
|
|
9
|
+
import { useDataStyleStore } from "@ogw_front/stores/data_style";
|
|
10
|
+
import { useViewerStore } from "@ogw_front/stores/viewer";
|
|
11
11
|
|
|
12
12
|
// Local constants
|
|
13
|
-
const INTERVAL_TIMEOUT = 20_000
|
|
14
|
-
const model_schemas = viewer_schemas.opengeodeweb_viewer.model
|
|
15
|
-
const file_name = "test.og_brep"
|
|
16
|
-
const geode_object = "BRep"
|
|
13
|
+
const INTERVAL_TIMEOUT = 20_000;
|
|
14
|
+
const model_schemas = viewer_schemas.opengeodeweb_viewer.model;
|
|
15
|
+
const file_name = "test.og_brep";
|
|
16
|
+
const geode_object = "BRep";
|
|
17
17
|
|
|
18
18
|
let id = "",
|
|
19
|
-
projectFolderPath = ""
|
|
19
|
+
projectFolderPath = "";
|
|
20
20
|
|
|
21
21
|
beforeEach(async () => {
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
geode_object,
|
|
25
|
-
))
|
|
26
|
-
}, INTERVAL_TIMEOUT)
|
|
22
|
+
({ id, projectFolderPath } = await setupIntegrationTests(file_name, geode_object));
|
|
23
|
+
}, INTERVAL_TIMEOUT);
|
|
27
24
|
|
|
28
25
|
afterEach(async () => {
|
|
29
|
-
console.log("afterEach model kill", projectFolderPath)
|
|
30
|
-
await cleanupBackend(projectFolderPath)
|
|
31
|
-
})
|
|
26
|
+
console.log("afterEach model kill", projectFolderPath);
|
|
27
|
+
await cleanupBackend(projectFolderPath);
|
|
28
|
+
});
|
|
32
29
|
|
|
33
30
|
describe("Model", () => {
|
|
34
31
|
describe("Model visibility", () => {
|
|
35
32
|
test("Visibility true", async () => {
|
|
36
|
-
const dataStyleStore = useDataStyleStore()
|
|
37
|
-
const viewerStore = useViewerStore()
|
|
38
|
-
const visibility = true
|
|
39
|
-
const spy = vi.spyOn(viewerStore, "request")
|
|
40
|
-
spy.mockClear()
|
|
41
|
-
const result = dataStyleStore.setModelVisibility(id, visibility)
|
|
42
|
-
expect(result).toBeInstanceOf(Promise)
|
|
43
|
-
await result
|
|
33
|
+
const dataStyleStore = useDataStyleStore();
|
|
34
|
+
const viewerStore = useViewerStore();
|
|
35
|
+
const visibility = true;
|
|
36
|
+
const spy = vi.spyOn(viewerStore, "request");
|
|
37
|
+
spy.mockClear();
|
|
38
|
+
const result = dataStyleStore.setModelVisibility(id, visibility);
|
|
39
|
+
expect(result).toBeInstanceOf(Promise);
|
|
40
|
+
await result;
|
|
44
41
|
expect(spy).toHaveBeenCalledWith(
|
|
45
42
|
model_schemas.visibility,
|
|
46
43
|
{ id, visibility },
|
|
47
44
|
{
|
|
48
45
|
response_function: expect.any(Function),
|
|
49
46
|
},
|
|
50
|
-
)
|
|
51
|
-
expect(dataStyleStore.modelVisibility(id)).toBe(visibility)
|
|
52
|
-
expect(viewerStore.status).toBe(Status.CONNECTED)
|
|
53
|
-
})
|
|
54
|
-
})
|
|
55
|
-
})
|
|
47
|
+
);
|
|
48
|
+
expect(dataStyleStore.modelVisibility(id)).toBe(visibility);
|
|
49
|
+
expect(viewerStore.status).toBe(Status.CONNECTED);
|
|
50
|
+
});
|
|
51
|
+
});
|
|
52
|
+
});
|