vease 1.57.0-rc.2 → 1.57.0

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.
@@ -0,0 +1,25 @@
1
+ import { waitForActionSettled } from "../../wait_for_action_settled.js";
2
+ import { ensureFeatureVisible, ensureMenuOpen } from "../../viewer_interaction.js";
3
+ //#region tests/e2e/utils/data/helpers/textures.ts
4
+ async function selectOverlayListItem(window, text) {
5
+ await window.locator(".v-overlay-container").locator(".v-list-item").filter({
6
+ hasText: text,
7
+ visible: true
8
+ }).first().click();
9
+ await waitForActionSettled(window);
10
+ }
11
+ async function setFeatureTextures(window, menuTestId, texture) {
12
+ await ensureMenuOpen(window, menuTestId);
13
+ await ensureFeatureVisible(window, menuTestId);
14
+ const container = window.getByTestId(menuTestId);
15
+ await container.getByTestId("coloringStyleSelector").first().click();
16
+ await waitForActionSettled(window);
17
+ await selectOverlayListItem(window, "Textures");
18
+ await container.getByTestId("textureNameSelector").first().click();
19
+ await waitForActionSettled(window);
20
+ await selectOverlayListItem(window, texture.name);
21
+ await container.locator("input[type=\"file\"][accept*=\"image/png\"]").first().setInputFiles(texture.filePath);
22
+ await waitForActionSettled(window);
23
+ }
24
+ //#endregion
25
+ export { setFeatureTextures };
@@ -1,8 +1,14 @@
1
- import { meshViewerObjectType } from "../../../constants.js";
2
- import { setPolygonsTextures } from "../../../viewer_interaction.js";
1
+ import { meshViewerObjectType, polygonsFeatureName } from "../../../constants.js";
2
+ import { setFeatureTextures } from "../../helpers/textures.js";
3
+ import path from "node:path";
3
4
  //#region tests/e2e/utils/data/mesh/polygon/textures.ts
5
+ const __dirname = import.meta.dirname;
6
+ const texture = {
7
+ name: "test_texture",
8
+ filePath: path.join(__dirname, "..", "..", "..", "..", "tests", "data", "test_texture.png")
9
+ };
4
10
  async function setMeshPolygonsTextures(window) {
5
- await setPolygonsTextures(window, meshViewerObjectType);
11
+ await setFeatureTextures(window, `${meshViewerObjectType}${polygonsFeatureName}Menu`, texture);
6
12
  }
7
13
  //#endregion
8
14
  export { setMeshPolygonsTextures };
@@ -1,8 +1,8 @@
1
1
  import { modalTransitionWait } from "./constants.js";
2
2
  import { waitForLoadingScreen } from "./other.js";
3
3
  import { navigateToExtensionsPage } from "./navigate.js";
4
- import { consola } from "consola";
5
4
  import path from "node:path";
5
+ import { consola } from "consola";
6
6
  //#region tests/e2e/utils/extension.ts
7
7
  async function loadExtension(window, extensionFilePath) {
8
8
  await waitForLoadingScreen(window);
@@ -1,8 +1,8 @@
1
1
  import { waitForActionSettled } from "./wait_for_action_settled.js";
2
2
  import { navigateToApp } from "./navigate.js";
3
3
  import { expect, test as test$1 } from "@playwright/test";
4
- import { consola } from "consola";
5
4
  import path from "node:path";
5
+ import { consola } from "consola";
6
6
  import fs from "node:fs";
7
7
  import os from "node:os";
8
8
  //#region tests/e2e/utils/fixtures.ts
@@ -1,7 +1,7 @@
1
1
  import { waitForActionSettled } from "./wait_for_action_settled.js";
2
2
  import { expect } from "@playwright/test";
3
- import { consola } from "consola";
4
3
  import path from "node:path";
4
+ import { consola } from "consola";
5
5
  //#region tests/e2e/utils/load.ts
6
6
  const __dirname = import.meta.dirname;
7
7
  const loadWorkflowTimeout = 8e3;
@@ -1,8 +1,8 @@
1
1
  import { logBrowserConsole } from "../../../utils/browser_console.js";
2
2
  import { expect } from "@playwright/test";
3
3
  import { isWindows } from "std-env";
4
- import { consola } from "consola";
5
4
  import path from "node:path";
5
+ import { consola } from "consola";
6
6
  import { execSync } from "node:child_process";
7
7
  import fs from "node:fs";
8
8
  import { setTimeout } from "node:timers/promises";
@@ -138,21 +138,6 @@ async function dragContextMenu(window, { targetX, targetY } = {}) {
138
138
  targetY
139
139
  });
140
140
  }
141
- async function setFeatureTextures(window, viewerObjectType, feature) {
142
- const menuTestId = `${viewerObjectType}${feature}Menu`;
143
- await ensureMenuOpen(window, menuTestId);
144
- await ensureFeatureVisible(window, menuTestId);
145
- await window.getByTestId(menuTestId).getByTestId("coloringStyleSelector").first().click();
146
- await waitForActionSettled(window);
147
- await window.locator(".v-overlay-container").locator(".v-list-item").filter({
148
- hasText: "Textures",
149
- visible: true
150
- }).first().click();
151
- await waitForActionSettled(window);
152
- }
153
- async function setPolygonsTextures(window, viewerObjectType) {
154
- await setFeatureTextures(window, viewerObjectType, "Polygons");
155
- }
156
141
  async function hoverViewer(window, position) {
157
142
  const hybridViewerCanvas = getHybridViewerCanvas(window);
158
143
  const box = await hybridViewerCanvas.boundingBox();
@@ -258,4 +243,4 @@ async function viewerQuickColormap(window, x, y) {
258
243
  await waitForActionSettled(window);
259
244
  }
260
245
  //#endregion
261
- export { afterActionWait, closeFeedbackSnackbar, dragContextMenu, dragElement, ensureFeatureVisible, ensureMenuOpen, findOverlappingObjectsPicker, getHybridViewerCanvas, getHybridViewerCanvasBoundingBox, getQuickColormapPicker, hoverViewer, moveMouseOutOfTheWay, noopCleanup, openStyleMenu, resetMenuScroll, setCellsVisibility, setEdgesVisibility, setEdgesWidth, setPointsSize, setPointsVisibility, setPolygonsTextures, setPolygonsVisibility, setPolyhedraVisibility, setVisibilityGeneric, stabilizeHoverTooltip, toggleInfoCard, viewerContextMenu, viewerQuickColormap };
246
+ export { afterActionWait, closeFeedbackSnackbar, dragContextMenu, dragElement, ensureFeatureVisible, ensureMenuOpen, findOverlappingObjectsPicker, getHybridViewerCanvas, getHybridViewerCanvasBoundingBox, getQuickColormapPicker, hoverViewer, moveMouseOutOfTheWay, noopCleanup, openStyleMenu, resetMenuScroll, setCellsVisibility, setEdgesVisibility, setEdgesWidth, setPointsSize, setPointsVisibility, setPolygonsVisibility, setPolyhedraVisibility, setVisibilityGeneric, stabilizeHoverTooltip, toggleInfoCard, viewerContextMenu, viewerQuickColormap };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "vease",
3
- "version": "1.57.0-rc.2",
3
+ "version": "1.57.0",
4
4
  "description": "Desktop and cloud software for data visualization",
5
5
  "keywords": [
6
6
  "Desktop",
@@ -90,12 +90,12 @@
90
90
  "@ai-sdk/vue": "4.0.93",
91
91
  "@fontsource/michroma": "5.2.6",
92
92
  "@fontsource/roboto": "5.2.10",
93
- "@geode/cloud-api": "next",
94
- "@geode/opengeodeweb-back": "next",
95
- "@geode/opengeodeweb-front": "next",
96
- "@geode/opengeodeweb-viewer": "next",
97
- "@geode/vease-back": "next",
98
- "@geode/vease-viewer": "next",
93
+ "@geode/cloud-api": "latest",
94
+ "@geode/opengeodeweb-back": "latest",
95
+ "@geode/opengeodeweb-front": "latest",
96
+ "@geode/opengeodeweb-viewer": "latest",
97
+ "@geode/vease-back": "latest",
98
+ "@geode/vease-viewer": "latest",
99
99
  "@nuxtjs/mcp-toolkit": "0.18.1",
100
100
  "ai": "7.0.93",
101
101
  "bowser": "2.14.1",
@@ -0,0 +1,41 @@
1
+ import { ensureFeatureVisible, ensureMenuOpen } from "@vease_tests/utils/viewer_interaction";
2
+ import type { Page } from "@playwright/test";
3
+ import { waitForActionSettled } from "@vease_tests/utils/wait_for_action_settled";
4
+
5
+ interface Texture {
6
+ name: string;
7
+ filePath: string;
8
+ }
9
+
10
+ async function selectOverlayListItem(window: Page, text: string): Promise<void> {
11
+ await window
12
+ .locator(".v-overlay-container")
13
+ .locator(".v-list-item")
14
+ .filter({ hasText: text, visible: true })
15
+ .first()
16
+ .click();
17
+ await waitForActionSettled(window);
18
+ }
19
+
20
+ async function setFeatureTextures(
21
+ window: Page,
22
+ menuTestId: string,
23
+ texture: Texture,
24
+ ): Promise<void> {
25
+ await ensureMenuOpen(window, menuTestId);
26
+ await ensureFeatureVisible(window, menuTestId);
27
+ const container = window.getByTestId(menuTestId);
28
+ await container.getByTestId("coloringStyleSelector").first().click();
29
+ await waitForActionSettled(window);
30
+ await selectOverlayListItem(window, "Textures");
31
+
32
+ await container.getByTestId("textureNameSelector").first().click();
33
+ await waitForActionSettled(window);
34
+ await selectOverlayListItem(window, texture.name);
35
+
36
+ const fileInput = container.locator('input[type="file"][accept*="image/png"]').first();
37
+ await fileInput.setInputFiles(texture.filePath);
38
+ await waitForActionSettled(window);
39
+ }
40
+
41
+ export { setFeatureTextures };
@@ -1,9 +1,21 @@
1
+ // Node imports
2
+ import path from "node:path";
3
+
4
+ // Third party imports
1
5
  import type { Page } from "@playwright/test";
2
- import { meshViewerObjectType } from "@vease_tests/utils/constants";
3
- import { setPolygonsTextures } from "@vease_tests/utils/viewer_interaction";
6
+
7
+ // Local imports
8
+ import { meshViewerObjectType, polygonsFeatureName } from "@vease_tests/utils/constants";
9
+ import { setFeatureTextures } from "@vease_tests/utils/data/helpers/textures";
10
+
11
+ const __dirname = import.meta.dirname;
12
+ const texture = {
13
+ name: "test_texture",
14
+ filePath: path.join(__dirname, "..", "..", "..", "..", "tests", "data", "test_texture.png"),
15
+ };
4
16
 
5
17
  async function setMeshPolygonsTextures(window: Page): Promise<void> {
6
- await setPolygonsTextures(window, meshViewerObjectType);
18
+ await setFeatureTextures(window, `${meshViewerObjectType}${polygonsFeatureName}Menu`, texture);
7
19
  }
8
20
 
9
21
  export { setMeshPolygonsTextures };
@@ -154,32 +154,6 @@ async function dragContextMenu(
154
154
  await dragElement(window, centerButton, { targetX, targetY });
155
155
  }
156
156
 
157
- async function setFeatureTextures(
158
- window: Page,
159
- viewerObjectType: string,
160
- feature: string,
161
- ): Promise<void> {
162
- const menuTestId = `${viewerObjectType}${feature}Menu`;
163
- await ensureMenuOpen(window, menuTestId);
164
- await ensureFeatureVisible(window, menuTestId);
165
- const container = window.getByTestId(menuTestId);
166
- const selector = container.getByTestId("coloringStyleSelector").first();
167
- await selector.click();
168
- await waitForActionSettled(window);
169
-
170
- const listItem = window
171
- .locator(".v-overlay-container")
172
- .locator(".v-list-item")
173
- .filter({ hasText: "Textures", visible: true })
174
- .first();
175
- await listItem.click();
176
- await waitForActionSettled(window);
177
- }
178
-
179
- async function setPolygonsTextures(window: Page, viewerObjectType: string): Promise<void> {
180
- await setFeatureTextures(window, viewerObjectType, "Polygons");
181
- }
182
-
183
157
  async function hoverViewer(window: Page, position?: { x: number; y: number }): Promise<void> {
184
158
  const hybridViewerCanvas = getHybridViewerCanvas(window);
185
159
  const box = await hybridViewerCanvas.boundingBox();
@@ -379,7 +353,6 @@ export {
379
353
  setEdgesWidth,
380
354
  setPointsSize,
381
355
  setPointsVisibility,
382
- setPolygonsTextures,
383
356
  setPolygonsVisibility,
384
357
  setPolyhedraVisibility,
385
358
  setVisibilityGeneric,