diff --git a/assets/geode_objects.js b/assets/geode_objects.js index 53b55ee..f139df5 100644 --- a/assets/geode_objects.js +++ b/assets/geode_objects.js @@ -4,6 +4,8 @@ import EdgedCurve2D from "@/assets/img/geode_objects/EdgedCurve2D.svg" import EdgedCurve3D from "@/assets/img/geode_objects/EdgedCurve3D.svg" import Graph from "@/assets/img/geode_objects/Graph.svg" import HybridSolid3D from "@/assets/img/geode_objects/HybridSolid3D.svg" +import ImplicitCrossSection from "@/assets/img/geode_objects/ImplicitCrossSection.svg" +import ImplicitStructuralModel from "@/assets/img/geode_objects/ImplicitStructuralModel.svg" import LightRegularGrid2D from "@/assets/img/geode_objects/LightRegularGrid2D.svg" import LightRegularGrid3D from "@/assets/img/geode_objects/LightRegularGrid3D.svg" import PointSet2D from "@/assets/img/geode_objects/PointSet2D.svg" @@ -47,6 +49,14 @@ const geode_objects = { tooltip: "HybridSolid3D", image: HybridSolid3D, }, + ImplicitCrossSection: { + tooltip: "ImplicitCrossSection", + image: ImplicitCrossSection, + }, + ImplicitStructuralModel: { + tooltip: "ImplicitStructuralModel", + image: ImplicitStructuralModel, + }, LightRegularGrid2D: { tooltip: "LightRegularGrid2D", image: LightRegularGrid2D, diff --git a/assets/img/geode_objects/ImplicitCrossSection.svg b/assets/img/geode_objects/ImplicitCrossSection.svg new file mode 100644 index 0000000..d855628 --- /dev/null +++ b/assets/img/geode_objects/ImplicitCrossSection.svg @@ -0,0 +1,109 @@ + + + + + + + + + + + + + + + + image/svg+xml + + + + + + + + + + + + diff --git a/assets/img/geode_objects/ImplicitStructuralModel.svg b/assets/img/geode_objects/ImplicitStructuralModel.svg new file mode 100644 index 0000000..4d1ee83 --- /dev/null +++ b/assets/img/geode_objects/ImplicitStructuralModel.svg @@ -0,0 +1,128 @@ + + + + + + + + + + + + + + + + image/svg+xml + + + + + + + + + + + + + + + + diff --git a/components/FileUploader.vue b/components/FileUploader.vue index ce992ac..b8e0d60 100644 --- a/components/FileUploader.vue +++ b/components/FileUploader.vue @@ -44,7 +44,9 @@ const { multiple, accept } = toRefs(props) - const label = multiple ? "Please select file(s)" : "Please select a file" + const label = multiple + ? "Please select file(s) to import" + : "Please select a file to import" const files = ref([]) const loading = ref(false) const files_uploaded = ref(false) diff --git a/components/RemoteRenderingView.vue b/components/RemoteRenderingView.vue index b54fd8e..70ce531 100644 --- a/components/RemoteRenderingView.vue +++ b/components/RemoteRenderingView.vue @@ -2,6 +2,18 @@
+
+ +
{ diff --git a/test/components/CrsSelector.nuxt.test.js b/test/components/CrsSelector.nuxt.test.js index 0d78e19..1513e9e 100644 --- a/test/components/CrsSelector.nuxt.test.js +++ b/test/components/CrsSelector.nuxt.test.js @@ -20,7 +20,7 @@ const vuetify = createVuetify({ directives, }) -describe("CrsSelector.vue", async () => { +describe("CrsSelector.vue", () => { const pinia = createTestingPinia() setActivePinia(pinia) const geode_store = use_geode_store() diff --git a/test/stores/Geode.nuxt.test.js b/test/stores/Geode.nuxt.test.js index eb4512d..c13e0a1 100644 --- a/test/stores/Geode.nuxt.test.js +++ b/test/stores/Geode.nuxt.test.js @@ -1,6 +1,6 @@ import { setActivePinia } from "pinia" import { createTestingPinia } from "@pinia/testing" -import { describe, test, expect, expectTypeOf, beforeEach } from "vitest" +import { describe, test, expect, expectTypeOf, beforeEach, vi } from "vitest" import { registerEndpoint } from "@nuxt/test-utils/runtime" import back_schemas from "@geode/opengeodeweb-back/schemas.json" @@ -20,7 +20,7 @@ describe("Geode Store", () => { }) describe("state", () => { - test("initial state", async () => { + test("initial state", () => { expectTypeOf(geode_store.default_local_port).toBeString() expectTypeOf(geode_store.request_counter).toBeNumber() expectTypeOf(geode_store.is_running).toBeBoolean() @@ -52,8 +52,8 @@ describe("Geode Store", () => { test("test override default_local_port", () => { infra_store.is_cloud = false - geode_store.default_local_port = "8080" - expect(geode_store.port).toBe("8080") + geode_store.default_local_port = "12" + expect(geode_store.port).toBe("12") }) }) @@ -63,8 +63,7 @@ describe("Geode Store", () => { infra_store.domain_name = "localhost" expect(geode_store.base_url).toBe("http://localhost:5000") }) - - test("test is_cloud true", async () => { + test("test is_cloud true", () => { infra_store.is_cloud = true infra_store.ID = "123456" infra_store.domain_name = "example.com" @@ -72,8 +71,7 @@ describe("Geode Store", () => { "https://example.com:443/123456/geode", ) }) - - test("test is_cloud true, ID empty", async () => { + test("test is_cloud true, ID empty", () => { infra_store.is_cloud = true infra_store.ID = "" infra_store.domain_name = "example.com" @@ -97,28 +95,28 @@ describe("Geode Store", () => { describe("actions", () => { describe("do_ping", () => { - test("request_error", async () => { - geode_store.base_url = "" - try { - await geode_store.do_ping() - } catch (e) { - console.log("e", e) - } - expect(geode_store.is_running).toBe(false) - expect(feedback_store.server_error).toBe(true) - }) + const getFakeCall = vi.fn() + registerEndpoint(back_schemas.opengeodeweb_back.ping.$id, getFakeCall) test("response", async () => { geode_store.base_url = "" - geode_store.is_running = true - registerEndpoint(back_schemas.opengeodeweb_back.ping.$id, { - method: "POST", - handler: () => ({}), - }) + getFakeCall.mockImplementation(() => ({})) await geode_store.do_ping() expect(geode_store.is_running).toBe(true) expect(feedback_store.server_error).toBe(false) }) + test("response_error", async () => { + geode_store.base_url = "" + getFakeCall.mockImplementation(() => { + throw createError({ + status: 500, + }) + }) + + await geode_store.do_ping() + expect(geode_store.is_running).toBe(false) + expect(feedback_store.server_error).toBe(true) + }) }) describe("start_request", () => { diff --git a/test/stores/Infra.nuxt.test.js b/test/stores/Infra.nuxt.test.js index 2c6accf..f61f172 100644 --- a/test/stores/Infra.nuxt.test.js +++ b/test/stores/Infra.nuxt.test.js @@ -105,14 +105,14 @@ describe("Infra Store", () => { }) describe("actions", () => { - describe("create_connexion", async () => { + describe("create_connexion", () => { test("test without end-point", async () => { await infra_store.create_connexion() expect(infra_store.is_connexion_launched).toBe(true) expect(feedback_store.server_error).toBe(true) }) }) - describe("create_backend", async () => { + describe("create_backend", () => { test("test without end-point", async () => { await infra_store.create_backend() expect(geode_store.is_running).toBe(false) diff --git a/test/stores/Viewer.nuxt.test.js b/test/stores/Viewer.nuxt.test.js index f24f9ff..b2ed977 100644 --- a/test/stores/Viewer.nuxt.test.js +++ b/test/stores/Viewer.nuxt.test.js @@ -64,7 +64,7 @@ describe("Viewer Store", () => { expect(viewer_store.base_url).toBe("ws://localhost:1234/ws") }) - test("test is_cloud true", async () => { + test("test is_cloud true", () => { infra_store.is_cloud = true infra_store.ID = "123456" infra_store.domain_name = "example.com" @@ -73,7 +73,7 @@ describe("Viewer Store", () => { ) }) - test("test is_cloud true, ID empty", async () => { + test("test is_cloud true, ID empty", () => { infra_store.is_cloud = true infra_store.ID = "" infra_store.domain_name = "example.com" @@ -95,7 +95,7 @@ describe("Viewer Store", () => { }) describe("actions", () => { // MISSING TEST ws_connect() - describe("toggle_picking_mode", async () => { + describe("toggle_picking_mode", () => { test("test true", async () => { await viewer_store.toggle_picking_mode(true) expect(viewer_store.picking_mode).toBe(true)