@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.
Files changed (235) hide show
  1. package/.eslintrc.cjs +1 -1
  2. package/.oxlintrc.json +3 -22
  3. package/app/assets/geode_objects.js +26 -26
  4. package/app/components/Carousel.vue +62 -66
  5. package/app/components/CrsSelector.vue +48 -52
  6. package/app/components/DeleteDialog.vue +21 -37
  7. package/app/components/DragAndDrop.vue +35 -41
  8. package/app/components/ExtensionSelector.vue +50 -63
  9. package/app/components/FeedBack/ErrorBanner.vue +7 -10
  10. package/app/components/FeedBack/Snackers.vue +12 -14
  11. package/app/components/FetchingData.vue +1 -6
  12. package/app/components/FileSelector.vue +41 -47
  13. package/app/components/FileUploader.vue +62 -79
  14. package/app/components/GlassCard.vue +19 -19
  15. package/app/components/HybridRenderingView.vue +37 -38
  16. package/app/components/InfraConnected.vue +3 -3
  17. package/app/components/Inspector/InspectionButton.vue +27 -31
  18. package/app/components/Inspector/ResultPanel.vue +13 -24
  19. package/app/components/Launcher.vue +13 -13
  20. package/app/components/Loading.vue +63 -69
  21. package/app/components/MissingFilesSelector.vue +53 -73
  22. package/app/components/ObjectSelector.vue +81 -99
  23. package/app/components/PackagesVersions.vue +27 -30
  24. package/app/components/Recaptcha.vue +60 -71
  25. package/app/components/RemoteRenderingView.vue +102 -108
  26. package/app/components/Screenshot.vue +36 -42
  27. package/app/components/SearchBar.vue +5 -5
  28. package/app/components/Step.vue +37 -44
  29. package/app/components/Stepper.vue +29 -35
  30. package/app/components/VeaseViewToolbar.vue +69 -78
  31. package/app/components/ViewToolbar.vue +41 -45
  32. package/app/components/Viewer/BreadCrumb.vue +18 -30
  33. package/app/components/Viewer/ContextMenu.vue +176 -179
  34. package/app/components/Viewer/ContextMenuItem.vue +105 -117
  35. package/app/components/Viewer/EdgedCurve/PointsOptions.vue +6 -9
  36. package/app/components/Viewer/EdgedCurve/SpecificEdgesOptions.vue +82 -93
  37. package/app/components/Viewer/Generic/Mesh/CellsOptions.vue +84 -99
  38. package/app/components/Viewer/Generic/Mesh/EdgesOptions.vue +83 -98
  39. package/app/components/Viewer/Generic/Mesh/PointsOptions.vue +62 -73
  40. package/app/components/Viewer/Generic/Mesh/PolygonsOptions.vue +84 -108
  41. package/app/components/Viewer/Generic/Mesh/PolyhedraOptions.vue +82 -105
  42. package/app/components/Viewer/Generic/Model/EdgesOptions.vue +19 -23
  43. package/app/components/Viewer/Generic/Model/PointsOptions.vue +26 -30
  44. package/app/components/Viewer/Grid/2D/CellsOptions.vue +5 -5
  45. package/app/components/Viewer/Grid/2D/EdgesOptions.vue +6 -9
  46. package/app/components/Viewer/Grid/2D/PointsOptions.vue +6 -9
  47. package/app/components/Viewer/Grid/3D/CellsOptions.vue +5 -5
  48. package/app/components/Viewer/Grid/3D/EdgesOptions.vue +6 -9
  49. package/app/components/Viewer/Grid/3D/FacetsOptions.vue +5 -5
  50. package/app/components/Viewer/Grid/3D/PointsOptions.vue +6 -9
  51. package/app/components/Viewer/HybridSolid/EdgesOptions.vue +6 -9
  52. package/app/components/Viewer/HybridSolid/PointsOptions.vue +6 -9
  53. package/app/components/Viewer/HybridSolid/PolygonsOptions.vue +6 -9
  54. package/app/components/Viewer/HybridSolid/PolyhedraOptions.vue +6 -9
  55. package/app/components/Viewer/Options/AttributeColorBar.vue +8 -8
  56. package/app/components/Viewer/Options/AttributeSelector.vue +73 -78
  57. package/app/components/Viewer/Options/ColorMapList.vue +115 -140
  58. package/app/components/Viewer/Options/ColorMapPicker.vue +128 -142
  59. package/app/components/Viewer/Options/ColorPicker.vue +9 -9
  60. package/app/components/Viewer/Options/ColoringTypeSelector.vue +77 -91
  61. package/app/components/Viewer/Options/TextureItem.vue +54 -58
  62. package/app/components/Viewer/Options/TexturesSelector.vue +22 -26
  63. package/app/components/Viewer/Options/VisibilitySwitch.vue +1 -1
  64. package/app/components/Viewer/PointSet/SpecificPointsOptions.vue +61 -68
  65. package/app/components/Viewer/PolygonalSurface/EdgesOptions.vue +6 -9
  66. package/app/components/Viewer/PolygonalSurface/PointsOptions.vue +6 -9
  67. package/app/components/Viewer/PolygonalSurface/SpecificPolygonsOptions.vue +83 -103
  68. package/app/components/Viewer/Solid/EdgesOptions.vue +6 -9
  69. package/app/components/Viewer/Solid/PointsOptions.vue +6 -9
  70. package/app/components/Viewer/Solid/PolygonsOptions.vue +6 -9
  71. package/app/components/Viewer/Solid/SpecificPolyhedraOptions.vue +82 -105
  72. package/app/components/Viewer/TetrahedralSolid/TetrahedraOptions.vue +5 -5
  73. package/app/components/Viewer/TetrahedralSolid/TrianglesOptions.vue +5 -5
  74. package/app/components/Viewer/Tree/ObjectTree.vue +80 -89
  75. package/app/components/Viewer/TreeComponent.vue +43 -49
  76. package/app/components/Viewer/TreeObject.vue +48 -50
  77. package/app/components/Viewer/TriangulatedSurface/EdgesOptions.vue +6 -9
  78. package/app/components/Viewer/TriangulatedSurface/PointsOptions.vue +5 -5
  79. package/app/components/Viewer/TriangulatedSurface/TrianglesOptions.vue +5 -5
  80. package/app/components/Wrapper.vue +8 -8
  81. package/app/components/ZScaling.vue +18 -27
  82. package/app/composables/project_manager.js +57 -67
  83. package/app/composables/run_function_when_microservices_connected.js +8 -8
  84. package/app/plugins/auto_store_register.js +11 -13
  85. package/app/stores/app.js +118 -138
  86. package/app/stores/data.js +52 -68
  87. package/app/stores/data_style.js +36 -36
  88. package/app/stores/feedback.js +17 -20
  89. package/app/stores/geode.js +54 -55
  90. package/app/stores/hybrid_viewer.js +164 -177
  91. package/app/stores/infra.js +45 -55
  92. package/app/stores/lambda.js +26 -26
  93. package/app/stores/menu.js +78 -85
  94. package/app/stores/treeview.js +57 -65
  95. package/app/stores/viewer.js +92 -104
  96. package/app/utils/colormap.js +3 -3
  97. package/app/utils/config.js +16 -22
  98. package/app/utils/default_styles.js +50 -62
  99. package/app/utils/extension.js +44 -44
  100. package/app/utils/file_import_workflow.js +50 -64
  101. package/app/utils/local/app_mode.js +2 -2
  102. package/app/utils/local/cleanup.js +66 -72
  103. package/app/utils/local/microservices.js +61 -71
  104. package/app/utils/local/path.js +16 -19
  105. package/app/utils/local/scripts.js +22 -22
  106. package/app/utils/recaptcha.js +6 -6
  107. package/app/utils/server.js +21 -24
  108. package/app/utils/status.js +2 -2
  109. package/app/utils/treeview.js +4 -4
  110. package/app/utils/validate_schema.js +7 -7
  111. package/commitlint.config.js +2 -2
  112. package/eslint.config.js +4 -4
  113. package/internal/database/database.js +38 -46
  114. package/internal/database/extended_database.js +9 -10
  115. package/internal/database/tables/data.js +2 -3
  116. package/internal/database/tables/model_components.js +1 -1
  117. package/internal/database/tables/model_components_relation.js +1 -1
  118. package/internal/stores/data_style/mesh/cells/cell.js +47 -63
  119. package/internal/stores/data_style/mesh/cells/color.js +11 -16
  120. package/internal/stores/data_style/mesh/cells/common.js +6 -6
  121. package/internal/stores/data_style/mesh/cells/index.js +37 -47
  122. package/internal/stores/data_style/mesh/cells/textures.js +11 -12
  123. package/internal/stores/data_style/mesh/cells/vertex.js +47 -58
  124. package/internal/stores/data_style/mesh/cells/visibility.js +11 -16
  125. package/internal/stores/data_style/mesh/edges/color.js +11 -16
  126. package/internal/stores/data_style/mesh/edges/common.js +6 -6
  127. package/internal/stores/data_style/mesh/edges/edge.js +47 -63
  128. package/internal/stores/data_style/mesh/edges/index.js +38 -52
  129. package/internal/stores/data_style/mesh/edges/vertex.js +47 -58
  130. package/internal/stores/data_style/mesh/edges/visibility.js +11 -16
  131. package/internal/stores/data_style/mesh/edges/width.js +11 -16
  132. package/internal/stores/data_style/mesh/index.js +34 -34
  133. package/internal/stores/data_style/mesh/points/color.js +11 -16
  134. package/internal/stores/data_style/mesh/points/common.js +6 -6
  135. package/internal/stores/data_style/mesh/points/index.js +35 -49
  136. package/internal/stores/data_style/mesh/points/size.js +11 -16
  137. package/internal/stores/data_style/mesh/points/vertex.js +47 -58
  138. package/internal/stores/data_style/mesh/points/visibility.js +11 -16
  139. package/internal/stores/data_style/mesh/polygons/color.js +11 -16
  140. package/internal/stores/data_style/mesh/polygons/common.js +6 -6
  141. package/internal/stores/data_style/mesh/polygons/index.js +36 -45
  142. package/internal/stores/data_style/mesh/polygons/polygon.js +45 -56
  143. package/internal/stores/data_style/mesh/polygons/textures.js +11 -16
  144. package/internal/stores/data_style/mesh/polygons/vertex.js +47 -58
  145. package/internal/stores/data_style/mesh/polygons/visibility.js +11 -16
  146. package/internal/stores/data_style/mesh/polyhedra/color.js +11 -16
  147. package/internal/stores/data_style/mesh/polyhedra/common.js +6 -6
  148. package/internal/stores/data_style/mesh/polyhedra/index.js +29 -42
  149. package/internal/stores/data_style/mesh/polyhedra/polyhedron.js +43 -47
  150. package/internal/stores/data_style/mesh/polyhedra/vertex.js +47 -58
  151. package/internal/stores/data_style/mesh/polyhedra/visibility.js +11 -17
  152. package/internal/stores/data_style/model/blocks/color.js +21 -24
  153. package/internal/stores/data_style/model/blocks/common.js +6 -6
  154. package/internal/stores/data_style/model/blocks/index.js +13 -17
  155. package/internal/stores/data_style/model/blocks/visibility.js +21 -24
  156. package/internal/stores/data_style/model/corners/color.js +21 -24
  157. package/internal/stores/data_style/model/corners/common.js +6 -6
  158. package/internal/stores/data_style/model/corners/index.js +14 -18
  159. package/internal/stores/data_style/model/corners/visibility.js +21 -25
  160. package/internal/stores/data_style/model/edges/common.js +4 -4
  161. package/internal/stores/data_style/model/edges/index.js +7 -7
  162. package/internal/stores/data_style/model/edges/visibility.js +11 -15
  163. package/internal/stores/data_style/model/index.js +84 -100
  164. package/internal/stores/data_style/model/lines/color.js +21 -24
  165. package/internal/stores/data_style/model/lines/common.js +6 -6
  166. package/internal/stores/data_style/model/lines/index.js +13 -17
  167. package/internal/stores/data_style/model/lines/visibility.js +21 -24
  168. package/internal/stores/data_style/model/points/common.js +4 -4
  169. package/internal/stores/data_style/model/points/index.js +9 -9
  170. package/internal/stores/data_style/model/points/size.js +11 -11
  171. package/internal/stores/data_style/model/points/visibility.js +11 -15
  172. package/internal/stores/data_style/model/surfaces/color.js +21 -24
  173. package/internal/stores/data_style/model/surfaces/common.js +6 -6
  174. package/internal/stores/data_style/model/surfaces/index.js +14 -22
  175. package/internal/stores/data_style/model/surfaces/visibility.js +18 -22
  176. package/internal/stores/data_style/state.js +11 -11
  177. package/internal/utils/api_fetch.js +24 -34
  178. package/internal/utils/upload_file.js +19 -24
  179. package/internal/utils/viewer_call.js +23 -36
  180. package/nuxt.config.js +7 -11
  181. package/package.json +3 -3
  182. package/scripts/generate_geode_objects.js +14 -16
  183. package/server/api/app/kill.post.js +4 -4
  184. package/server/api/app/project_folder_path.post.js +11 -11
  185. package/server/api/app/run_back.post.js +12 -12
  186. package/server/api/app/run_viewer.post.js +12 -12
  187. package/server/api/extensions/run.post.js +34 -41
  188. package/server/api/extensions/upload.put.js +48 -62
  189. package/tests/integration/setup.js +43 -53
  190. package/tests/integration/stores/data_style/mesh/cells.nuxt.test.js +90 -116
  191. package/tests/integration/stores/data_style/mesh/edges.nuxt.test.js +81 -107
  192. package/tests/integration/stores/data_style/mesh/index.nuxt.test.js +38 -41
  193. package/tests/integration/stores/data_style/mesh/points.nuxt.test.js +85 -101
  194. package/tests/integration/stores/data_style/mesh/polygons.nuxt.test.js +89 -113
  195. package/tests/integration/stores/data_style/mesh/polyhedra.nuxt.test.js +81 -105
  196. package/tests/integration/stores/data_style/model/blocks.nuxt.test.js +56 -73
  197. package/tests/integration/stores/data_style/model/corners.nuxt.test.js +59 -76
  198. package/tests/integration/stores/data_style/model/edges.nuxt.test.js +39 -42
  199. package/tests/integration/stores/data_style/model/index.nuxt.test.js +31 -34
  200. package/tests/integration/stores/data_style/model/lines.nuxt.test.js +60 -73
  201. package/tests/integration/stores/data_style/model/points.nuxt.test.js +52 -55
  202. package/tests/integration/stores/data_style/model/surfaces.nuxt.test.js +59 -80
  203. package/tests/integration/stores/viewer.nuxt.test.js +35 -38
  204. package/tests/setup_indexeddb.js +2 -2
  205. package/tests/unit/components/CrsSelector.nuxt.test.js +28 -28
  206. package/tests/unit/components/ExtensionSelector.nuxt.test.js +33 -35
  207. package/tests/unit/components/FeedBack/ErrorsBanner.nuxt.test.js +23 -23
  208. package/tests/unit/components/FeedBack/Snackers.nuxt.test.js +18 -18
  209. package/tests/unit/components/FileSelector.nuxt.test.js +57 -59
  210. package/tests/unit/components/FileUploader.nuxt.test.js +35 -39
  211. package/tests/unit/components/Inspector/InspectionButton.nuxt.test.js +28 -28
  212. package/tests/unit/components/Inspector/ResultPanel.nuxt.test.js +22 -27
  213. package/tests/unit/components/Launcher.nuxt.test.js +20 -22
  214. package/tests/unit/components/MissingFilesSelector.nuxt.test.js +37 -37
  215. package/tests/unit/components/ObjectSelector.nuxt.test.js +62 -62
  216. package/tests/unit/components/PackagesVersions.nuxt.test.js +16 -16
  217. package/tests/unit/components/Step.nuxt.test.js +18 -19
  218. package/tests/unit/components/Stepper.nuxt.test.js +18 -18
  219. package/tests/unit/composables/api_fetch.nuxt.test.js +34 -36
  220. package/tests/unit/composables/project_manager.nuxt.test.js +93 -112
  221. package/tests/unit/composables/run_function_when_microservices_connected.nuxt.test.js +36 -36
  222. package/tests/unit/composables/upload_file.nuxt.test.js +27 -29
  223. package/tests/unit/plugins/project_load.nuxt.test.js +31 -33
  224. package/tests/unit/stores/app.nuxt.test.js +90 -92
  225. package/tests/unit/stores/feedback.nuxt.test.js +47 -57
  226. package/tests/unit/stores/geode.nuxt.test.js +111 -115
  227. package/tests/unit/stores/infra.nuxt.test.js +148 -148
  228. package/tests/unit/stores/lambda.nuxt.test.js +72 -74
  229. package/tests/unit/stores/treeview.nuxt.test.js +19 -21
  230. package/tests/unit/stores/viewer.nuxt.test.js +109 -122
  231. package/tests/unit/utils/recaptcha.nuxt.test.js +25 -29
  232. package/tests/unit/utils/validate_schema.nuxt.test.js +17 -17
  233. package/tests/utils.js +11 -11
  234. package/tests/vitest.config.js +9 -9
  235. 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
- ;({ id, projectFolderPath } = await setupIntegrationTests(
24
- file_name,
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
- id,
43
- block_ids,
44
- )
45
- const visibility = false
46
- const spy = vi.spyOn(viewerStore, "request")
47
- spy.mockClear()
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
- id,
79
- block_ids,
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
- ;({ id, projectFolderPath } = await setupIntegrationTests(
24
- file_name,
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
- id,
43
- corner_ids,
44
- )
45
- const visibility = false
46
- const spy = vi.spyOn(viewerStore, "request")
47
- spy.mockClear()
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
- id,
79
- corner_ids,
80
- )
81
- const color = { r: 255, g: 0, b: 0 }
82
- const spy = vi.spyOn(viewerStore, "request")
83
- spy.mockClear()
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
- ;({ id, projectFolderPath } = await setupIntegrationTests(
23
- file_name,
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
- ;({ id, projectFolderPath } = await setupIntegrationTests(
23
- file_name,
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
+ });