@geode/opengeodeweb-front 10.0.2-rc.1 → 10.0.2-rc.3
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/app/components/CrsSelector.vue +5 -7
- package/app/components/ExtensionSelector.vue +14 -19
- package/app/components/FileSelector.vue +5 -10
- package/app/components/FileUploader.vue +1 -0
- package/app/components/Inspector/InspectionButton.vue +8 -10
- package/app/components/MissingFilesSelector.vue +9 -19
- package/app/components/ObjectSelector.vue +3 -3
- package/app/components/PackagesVersions.vue +10 -22
- package/app/components/RemoteRenderingView.vue +12 -12
- package/app/components/Screenshot.vue +6 -7
- package/app/components/VeaseViewToolbar.vue +4 -7
- package/app/components/ViewToolbar.vue +6 -10
- package/app/components/Viewer/Options/CellAttributeSelector.vue +4 -5
- package/app/components/Viewer/Options/PolygonAttributeSelector.vue +4 -5
- package/app/components/Viewer/Options/PolyhedronAttributeSelector.vue +4 -7
- package/app/components/Viewer/Options/TextureItem.vue +6 -8
- package/app/components/Viewer/Options/VertexAttributeSelector.vue +3 -7
- package/app/composables/project_manager.js +8 -12
- package/app/stores/data_base.js +10 -16
- package/app/stores/data_style.js +3 -3
- package/app/stores/geode.js +30 -4
- package/app/stores/hybrid_viewer.js +18 -18
- package/app/stores/infra.js +59 -44
- package/app/stores/lambda.js +63 -0
- package/app/stores/viewer.js +34 -7
- package/app/utils/file_import_workflow.js +9 -8
- package/app/{composables → utils}/upload_file.js +6 -6
- package/{internal_stores → internal/stores}/mesh/cells.js +20 -20
- package/{internal_stores → internal/stores}/mesh/edges.js +12 -6
- package/{internal_stores → internal/stores}/mesh/index.js +4 -5
- package/{internal_stores → internal/stores}/mesh/points.js +16 -11
- package/{internal_stores → internal/stores}/mesh/polygons.js +20 -19
- package/{internal_stores → internal/stores}/mesh/polyhedra.js +17 -19
- package/{internal_stores → internal/stores}/model/blocks.js +8 -10
- package/{internal_stores → internal/stores}/model/corners.js +8 -10
- package/{internal_stores → internal/stores}/model/edges.js +4 -5
- package/{internal_stores → internal/stores}/model/index.js +8 -10
- package/{internal_stores → internal/stores}/model/lines.js +8 -10
- package/{internal_stores → internal/stores}/model/points.js +8 -10
- package/{internal_stores → internal/stores}/model/surfaces.js +8 -10
- package/{app/composables → internal/utils}/api_fetch.js +11 -11
- package/{app/composables → internal/utils}/viewer_call.js +5 -5
- package/nuxt.config.js +1 -1
- package/package.json +1 -1
- package/tests/integration/stores/data_style/mesh/cells.nuxt.test.js +12 -21
- package/tests/integration/stores/data_style/mesh/edges.nuxt.test.js +6 -11
- package/tests/integration/stores/data_style/mesh/index.nuxt.test.js +3 -6
- package/tests/integration/stores/data_style/mesh/points.nuxt.test.js +9 -16
- package/tests/integration/stores/data_style/mesh/polygons.nuxt.test.js +12 -21
- package/tests/integration/stores/data_style/mesh/polyhedra.nuxt.test.js +6 -11
- package/tests/integration/stores/data_style/model/blocks.nuxt.test.js +6 -11
- package/tests/integration/stores/data_style/model/corners.nuxt.test.js +6 -11
- package/tests/integration/stores/data_style/model/edges.nuxt.test.js +3 -6
- package/tests/integration/stores/data_style/model/index.nuxt.test.js +3 -6
- package/tests/integration/stores/data_style/model/lines.nuxt.test.js +6 -11
- package/tests/integration/stores/data_style/model/points.nuxt.test.js +6 -12
- package/tests/integration/stores/data_style/model/surfaces.nuxt.test.js +6 -11
- package/tests/unit/components/CrsSelector.nuxt.test.js +10 -7
- package/tests/unit/components/ExtensionSelector.nuxt.test.js +17 -2
- package/tests/unit/components/FileSelector.nuxt.test.js +2 -2
- package/tests/unit/components/FileUploader.nuxt.test.js +2 -2
- package/tests/unit/components/Inspector/InspectionButton.nuxt.test.js +12 -7
- package/tests/unit/components/MissingFilesSelector.nuxt.test.js +20 -9
- package/tests/unit/components/ObjectSelector.nuxt.test.js +2 -2
- package/tests/unit/components/PackagesVersions.nuxt.test.js +2 -2
- package/tests/unit/composables/ProjectManager.nuxt.test.js +9 -11
- package/tests/unit/composables/api_fetch.nuxt.test.js +17 -40
- package/tests/unit/composables/run_function_when_microservices_connected.nuxt.test.js +27 -12
- package/tests/unit/composables/upload_file.nuxt.test.js +3 -3
- package/tests/unit/plugins/project_load.nuxt.test.js +2 -3
- package/tests/unit/stores/Geode.nuxt.test.js +47 -49
- package/tests/unit/stores/Infra.nuxt.test.js +196 -66
- package/tests/unit/stores/Lambda.nuxt.test.js +131 -0
- package/tests/unit/stores/Viewer.nuxt.test.js +48 -46
- /package/{internal_stores → internal/stores}/data_style_state.js +0 -0
- /package/tests/unit/stores/{Appstore.nuxt.test.js → App.nuxt.test.js} +0 -0
|
@@ -64,11 +64,11 @@ const geodeStoreMock = {
|
|
|
64
64
|
const infraStoreMock = {
|
|
65
65
|
app_mode: appMode.BROWSER,
|
|
66
66
|
ID: "1234",
|
|
67
|
-
create_connection: vi.fn(() => Promise.resolve()),
|
|
68
67
|
}
|
|
69
68
|
const viewerStoreMock = {
|
|
70
69
|
ws_connect: vi.fn(() => Promise.resolve()),
|
|
71
70
|
base_url: vi.fn(() => ""),
|
|
71
|
+
request: vi.fn(() => Promise.resolve()),
|
|
72
72
|
}
|
|
73
73
|
const treeviewStoreMock = {
|
|
74
74
|
clear: vi.fn(),
|
|
@@ -91,13 +91,14 @@ const hybridViewerStoreMock = {
|
|
|
91
91
|
clear: vi.fn(),
|
|
92
92
|
initHybridViewer: vi.fn(() => Promise.resolve()),
|
|
93
93
|
importStores: vi.fn(async (snapshot) => {
|
|
94
|
-
if (snapshot?.zScale != null)
|
|
94
|
+
if (snapshot?.zScale != null) {
|
|
95
95
|
hybridViewerStoreMock.setZScaling(snapshot.zScale)
|
|
96
|
+
}
|
|
96
97
|
if (snapshot?.camera_options) {
|
|
97
98
|
const { viewer_call } =
|
|
98
|
-
await import("
|
|
99
|
+
await import("../../../internal/utils/viewer_call.js")
|
|
99
100
|
viewer_call({
|
|
100
|
-
schema: { $id: "opengeodeweb_viewer
|
|
101
|
+
schema: { $id: "opengeodeweb_viewer.viewer.update_camera" },
|
|
101
102
|
params: { camera_options: snapshot.camera_options },
|
|
102
103
|
})
|
|
103
104
|
hybridViewerStoreMock.remoteRender()
|
|
@@ -113,7 +114,7 @@ vi.stubGlobal(
|
|
|
113
114
|
"$fetch",
|
|
114
115
|
vi.fn(async () => ({ snapshot: snapshotMock })),
|
|
115
116
|
)
|
|
116
|
-
vi.mock("
|
|
117
|
+
vi.mock("../../../internal/utils/viewer_call.js", () => ({
|
|
117
118
|
viewer_call: vi.fn(() => Promise.resolve()),
|
|
118
119
|
}))
|
|
119
120
|
|
|
@@ -179,7 +180,6 @@ describe("ProjectManager composable (compact)", () => {
|
|
|
179
180
|
|
|
180
181
|
// reset spies
|
|
181
182
|
for (const store of [
|
|
182
|
-
infraStoreMock,
|
|
183
183
|
viewerStoreMock,
|
|
184
184
|
treeviewStoreMock,
|
|
185
185
|
dataBaseStoreMock,
|
|
@@ -191,7 +191,7 @@ describe("ProjectManager composable (compact)", () => {
|
|
|
191
191
|
)
|
|
192
192
|
}
|
|
193
193
|
const { viewer_call } =
|
|
194
|
-
await import("
|
|
194
|
+
await import("../../../internal/utils/viewer_call.js")
|
|
195
195
|
viewer_call.mockClear()
|
|
196
196
|
})
|
|
197
197
|
|
|
@@ -201,7 +201,6 @@ describe("ProjectManager composable (compact)", () => {
|
|
|
201
201
|
|
|
202
202
|
await exportProject()
|
|
203
203
|
|
|
204
|
-
expect(infraStoreMock.create_connection).toHaveBeenCalled()
|
|
205
204
|
expect(fileDownload).toHaveBeenCalled()
|
|
206
205
|
})
|
|
207
206
|
|
|
@@ -214,11 +213,10 @@ describe("ProjectManager composable (compact)", () => {
|
|
|
214
213
|
await importProjectFile(file)
|
|
215
214
|
|
|
216
215
|
const { viewer_call } =
|
|
217
|
-
await import("
|
|
216
|
+
await import("../../../internal/utils/viewer_call.js")
|
|
218
217
|
|
|
219
|
-
expect(infraStoreMock.create_connection).toHaveBeenCalled()
|
|
220
218
|
expect(viewerStoreMock.ws_connect).toHaveBeenCalled()
|
|
221
|
-
expect(viewer_call).toHaveBeenCalledTimes(
|
|
219
|
+
expect(viewer_call).toHaveBeenCalledTimes(2)
|
|
222
220
|
|
|
223
221
|
expect(treeviewStoreMock.importStores).toHaveBeenCalledWith(
|
|
224
222
|
snapshotMock.treeview,
|
|
@@ -3,15 +3,15 @@ import { setActivePinia } from "pinia"
|
|
|
3
3
|
import { createTestingPinia } from "@pinia/testing"
|
|
4
4
|
import { registerEndpoint } from "@nuxt/test-utils/runtime"
|
|
5
5
|
|
|
6
|
-
describe("
|
|
6
|
+
describe("geodeStore.request()", () => {
|
|
7
7
|
const pinia = createTestingPinia({
|
|
8
8
|
stubActions: false,
|
|
9
9
|
createSpy: vi.fn,
|
|
10
10
|
})
|
|
11
11
|
setActivePinia(pinia)
|
|
12
|
-
const
|
|
12
|
+
const geodeStore = useGeodeStore()
|
|
13
13
|
const feedback_store = useFeedbackStore()
|
|
14
|
-
|
|
14
|
+
geodeStore.base_url = ""
|
|
15
15
|
|
|
16
16
|
const schema = {
|
|
17
17
|
$id: "/test",
|
|
@@ -28,8 +28,8 @@ describe("api_fetch", () => {
|
|
|
28
28
|
|
|
29
29
|
beforeEach(async () => {
|
|
30
30
|
await feedback_store.$reset()
|
|
31
|
-
await
|
|
32
|
-
|
|
31
|
+
await geodeStore.$reset()
|
|
32
|
+
geodeStore.base_url = ""
|
|
33
33
|
})
|
|
34
34
|
|
|
35
35
|
// test("valid schema and params", async () => {
|
|
@@ -52,55 +52,32 @@ describe("api_fetch", () => {
|
|
|
52
52
|
additionalProperties: false,
|
|
53
53
|
}
|
|
54
54
|
const params = { test: "hello" }
|
|
55
|
-
expect(() =>
|
|
55
|
+
expect(() => geodeStore.request(schema, params)).toThrowError(
|
|
56
56
|
"data/test must be number",
|
|
57
57
|
)
|
|
58
58
|
})
|
|
59
59
|
|
|
60
60
|
test("invalid params", async () => {
|
|
61
|
-
const schema = {
|
|
62
|
-
$id: "/test",
|
|
63
|
-
type: "object",
|
|
64
|
-
methods: ["POST"],
|
|
65
|
-
properties: {
|
|
66
|
-
test: {
|
|
67
|
-
type: "string",
|
|
68
|
-
},
|
|
69
|
-
},
|
|
70
|
-
required: ["test"],
|
|
71
|
-
additionalProperties: false,
|
|
72
|
-
}
|
|
73
61
|
const params = {}
|
|
74
|
-
expect(() =>
|
|
62
|
+
expect(() => geodeStore.request(schema, params)).toThrowError(
|
|
75
63
|
"data must have required property 'test'",
|
|
76
64
|
)
|
|
77
65
|
})
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
$id: "/test",
|
|
81
|
-
type: "object",
|
|
82
|
-
methods: ["POST"],
|
|
83
|
-
properties: {
|
|
84
|
-
test: {
|
|
85
|
-
type: "string",
|
|
86
|
-
},
|
|
87
|
-
},
|
|
88
|
-
required: ["test"],
|
|
89
|
-
additionalProperties: false,
|
|
90
|
-
}
|
|
66
|
+
|
|
67
|
+
test("request with callbacks", async () => {
|
|
91
68
|
const params = { test: "hello" }
|
|
92
|
-
|
|
93
|
-
|
|
69
|
+
let errorCalled = false
|
|
70
|
+
const callbacks = {
|
|
71
|
+
request_error_function: async () => {
|
|
72
|
+
errorCalled = true
|
|
73
|
+
},
|
|
94
74
|
}
|
|
95
|
-
const spy = vi.fn(request_error_function)
|
|
96
75
|
registerEndpoint(schema.$id, {
|
|
97
76
|
method: schema.methods[0],
|
|
98
|
-
handler: () => ({
|
|
77
|
+
handler: () => ({ result: "success" }),
|
|
99
78
|
})
|
|
100
|
-
await
|
|
101
|
-
|
|
102
|
-
await request_error_function()
|
|
103
|
-
// expect(spy).toHaveBeenCalledTimes(1)
|
|
79
|
+
await geodeStore.request(schema, params, callbacks)
|
|
80
|
+
expect(errorCalled).toBe(false)
|
|
104
81
|
})
|
|
105
82
|
|
|
106
83
|
// test("response handling", async () => {
|
|
@@ -16,28 +16,43 @@ describe("run_function_when_microservices_connected", () => {
|
|
|
16
16
|
const dumb_obj = { dumb_method: () => true }
|
|
17
17
|
|
|
18
18
|
beforeEach(async () => {
|
|
19
|
-
const
|
|
20
|
-
const
|
|
21
|
-
|
|
22
|
-
|
|
19
|
+
const infraStore = useInfraStore()
|
|
20
|
+
const geodeStore = useGeodeStore()
|
|
21
|
+
const viewerStore = useViewerStore()
|
|
22
|
+
|
|
23
|
+
// Register microservices in infra store
|
|
24
|
+
infraStore.register_microservice(geodeStore, {
|
|
25
|
+
request: vi.fn(),
|
|
26
|
+
connect: vi.fn(),
|
|
27
|
+
launch: vi.fn(),
|
|
28
|
+
})
|
|
29
|
+
infraStore.register_microservice(viewerStore, {
|
|
30
|
+
request: vi.fn(),
|
|
31
|
+
connect: vi.fn(),
|
|
32
|
+
launch: vi.fn(),
|
|
33
|
+
})
|
|
34
|
+
|
|
35
|
+
await geodeStore.$patch({ status: Status.NOT_CONNECTED })
|
|
36
|
+
await viewerStore.$patch({ status: Status.NOT_CONNECTED })
|
|
23
37
|
})
|
|
38
|
+
|
|
24
39
|
test("microservices connected", async () => {
|
|
25
|
-
const
|
|
26
|
-
const
|
|
40
|
+
const geodeStore = useGeodeStore()
|
|
41
|
+
const viewerStore = useViewerStore()
|
|
27
42
|
const spy = vi.spyOn(dumb_obj, "dumb_method")
|
|
28
43
|
run_function_when_microservices_connected(dumb_obj.dumb_method)
|
|
29
|
-
await
|
|
30
|
-
await
|
|
44
|
+
await geodeStore.$patch({ status: Status.CONNECTED })
|
|
45
|
+
await viewerStore.$patch({ status: Status.CONNECTED })
|
|
31
46
|
expect(spy).toHaveBeenCalled()
|
|
32
47
|
})
|
|
33
48
|
|
|
34
49
|
test("microservices not connected", async () => {
|
|
35
|
-
const
|
|
36
|
-
const
|
|
50
|
+
const geodeStore = useGeodeStore()
|
|
51
|
+
const viewerStore = useViewerStore()
|
|
37
52
|
const spy = vi.spyOn(dumb_obj, "dumb_method")
|
|
38
53
|
run_function_when_microservices_connected(dumb_obj.dumb_method)
|
|
39
|
-
await
|
|
40
|
-
await
|
|
54
|
+
await geodeStore.$patch({ status: Status.NOT_CONNECTED })
|
|
55
|
+
await viewerStore.$patch({ status: Status.NOT_CONNECTED })
|
|
41
56
|
expect(spy).not.toHaveBeenCalled()
|
|
42
57
|
})
|
|
43
58
|
})
|
|
@@ -2,7 +2,7 @@ import { describe, expect, test, beforeEach, vi } from "vitest"
|
|
|
2
2
|
import { setActivePinia } from "pinia"
|
|
3
3
|
import { createTestingPinia } from "@pinia/testing"
|
|
4
4
|
import { registerEndpoint } from "@nuxt/test-utils/runtime"
|
|
5
|
-
import
|
|
5
|
+
import upload_file from "@ogw_front/utils/upload_file"
|
|
6
6
|
import schemas from "@geode/opengeodeweb-back/opengeodeweb_back_schemas.json"
|
|
7
7
|
const schema = schemas.opengeodeweb_back.upload_file
|
|
8
8
|
|
|
@@ -16,8 +16,8 @@ beforeEach(async () => {
|
|
|
16
16
|
|
|
17
17
|
describe("upload_file.js", () => {
|
|
18
18
|
beforeEach(() => {
|
|
19
|
-
const
|
|
20
|
-
|
|
19
|
+
const geodeStore = useGeodeStore()
|
|
20
|
+
geodeStore.base_url = ""
|
|
21
21
|
})
|
|
22
22
|
|
|
23
23
|
test("Throw error", async () => {
|
|
@@ -2,9 +2,8 @@ import { beforeEach, describe, expect, test, vi } from "vitest"
|
|
|
2
2
|
import { createTestingPinia } from "@pinia/testing"
|
|
3
3
|
import { setActivePinia } from "pinia"
|
|
4
4
|
|
|
5
|
-
vi.mock("
|
|
6
|
-
|
|
7
|
-
viewer_call: vi.fn(() => Promise.resolve({})),
|
|
5
|
+
vi.mock("../../../internal/utils/viewer_call.js", () => ({
|
|
6
|
+
viewer_call: vi.fn(() => Promise.resolve()),
|
|
8
7
|
}))
|
|
9
8
|
vi.mock("@/stores/hybrid_viewer.js", () => ({
|
|
10
9
|
useHybridViewerStore: () => ({
|
|
@@ -17,10 +17,10 @@ beforeEach(async () => {
|
|
|
17
17
|
describe("Geode store", () => {
|
|
18
18
|
describe("state", () => {
|
|
19
19
|
test("initial state", () => {
|
|
20
|
-
const
|
|
21
|
-
expectTypeOf(
|
|
22
|
-
expectTypeOf(
|
|
23
|
-
expectTypeOf(
|
|
20
|
+
const geodeStore = useGeodeStore()
|
|
21
|
+
expectTypeOf(geodeStore.default_local_port).toBeString()
|
|
22
|
+
expectTypeOf(geodeStore.request_counter).toBeNumber()
|
|
23
|
+
expectTypeOf(geodeStore.status).toBeString()
|
|
24
24
|
})
|
|
25
25
|
})
|
|
26
26
|
|
|
@@ -28,78 +28,76 @@ describe("Geode store", () => {
|
|
|
28
28
|
describe("protocol", () => {
|
|
29
29
|
test("test app_mode CLOUD", () => {
|
|
30
30
|
const infra_store = useInfraStore()
|
|
31
|
-
const
|
|
31
|
+
const geodeStore = useGeodeStore()
|
|
32
32
|
infra_store.app_mode = appMode.CLOUD
|
|
33
|
-
expect(
|
|
33
|
+
expect(geodeStore.protocol).toBe("https")
|
|
34
34
|
})
|
|
35
35
|
test("test app_mode BROWSER", () => {
|
|
36
36
|
const infra_store = useInfraStore()
|
|
37
|
-
const
|
|
37
|
+
const geodeStore = useGeodeStore()
|
|
38
38
|
infra_store.app_mode = appMode.BROWSER
|
|
39
|
-
expect(
|
|
39
|
+
expect(geodeStore.protocol).toBe("http")
|
|
40
40
|
})
|
|
41
41
|
test("test app_mode DESKTOP", () => {
|
|
42
42
|
const infra_store = useInfraStore()
|
|
43
|
-
const
|
|
43
|
+
const geodeStore = useGeodeStore()
|
|
44
44
|
infra_store.app_mode = appMode.DESKTOP
|
|
45
|
-
expect(
|
|
45
|
+
expect(geodeStore.protocol).toBe("http")
|
|
46
46
|
})
|
|
47
47
|
})
|
|
48
48
|
|
|
49
49
|
describe("port", () => {
|
|
50
50
|
test("test app_mode CLOUD", () => {
|
|
51
51
|
const infra_store = useInfraStore()
|
|
52
|
-
const
|
|
52
|
+
const geodeStore = useGeodeStore()
|
|
53
53
|
infra_store.app_mode = appMode.CLOUD
|
|
54
|
-
expect(
|
|
54
|
+
expect(geodeStore.port).toBe("443")
|
|
55
55
|
})
|
|
56
56
|
test("test app_mode BROWSER", () => {
|
|
57
57
|
const infra_store = useInfraStore()
|
|
58
|
-
const
|
|
58
|
+
const geodeStore = useGeodeStore()
|
|
59
59
|
infra_store.app_mode = appMode.BROWSER
|
|
60
|
-
expect(
|
|
60
|
+
expect(geodeStore.port).toBe(geodeStore.default_local_port)
|
|
61
61
|
})
|
|
62
62
|
test("test app_mode DESKTOP", () => {
|
|
63
63
|
const infra_store = useInfraStore()
|
|
64
|
-
const
|
|
64
|
+
const geodeStore = useGeodeStore()
|
|
65
65
|
infra_store.app_mode = appMode.DESKTOP
|
|
66
|
-
expect(
|
|
66
|
+
expect(geodeStore.port).toBe(geodeStore.default_local_port)
|
|
67
67
|
})
|
|
68
68
|
|
|
69
69
|
test("test override default_local_port", () => {
|
|
70
70
|
const infra_store = useInfraStore()
|
|
71
|
-
const
|
|
71
|
+
const geodeStore = useGeodeStore()
|
|
72
72
|
infra_store.app_mode = appMode.DESKTOP
|
|
73
|
-
|
|
74
|
-
expect(
|
|
73
|
+
geodeStore.default_local_port = "12"
|
|
74
|
+
expect(geodeStore.port).toBe("12")
|
|
75
75
|
})
|
|
76
76
|
})
|
|
77
77
|
|
|
78
78
|
describe("base_url", () => {
|
|
79
79
|
test("test app_mode BROWSER", () => {
|
|
80
80
|
const infra_store = useInfraStore()
|
|
81
|
-
const
|
|
81
|
+
const geodeStore = useGeodeStore()
|
|
82
82
|
infra_store.app_mode = appMode.BROWSER
|
|
83
83
|
infra_store.domain_name = "localhost"
|
|
84
|
-
expect(
|
|
84
|
+
expect(geodeStore.base_url).toBe("http://localhost:5000")
|
|
85
85
|
})
|
|
86
86
|
test("test app_mode CLOUD", () => {
|
|
87
87
|
const infra_store = useInfraStore()
|
|
88
|
-
const
|
|
88
|
+
const geodeStore = useGeodeStore()
|
|
89
89
|
infra_store.app_mode = appMode.CLOUD
|
|
90
90
|
infra_store.ID = "123456"
|
|
91
91
|
infra_store.domain_name = "example.com"
|
|
92
|
-
expect(
|
|
93
|
-
"https://example.com:443/123456/geode",
|
|
94
|
-
)
|
|
92
|
+
expect(geodeStore.base_url).toBe("https://example.com:443/123456/geode")
|
|
95
93
|
})
|
|
96
94
|
test("test app_mode CLOUD, ID empty", () => {
|
|
97
95
|
const infra_store = useInfraStore()
|
|
98
|
-
const
|
|
96
|
+
const geodeStore = useGeodeStore()
|
|
99
97
|
infra_store.app_mode = appMode.CLOUD
|
|
100
98
|
infra_store.ID = ""
|
|
101
99
|
infra_store.domain_name = "example.com"
|
|
102
|
-
expect(() =>
|
|
100
|
+
expect(() => geodeStore.base_url).toThrowError(
|
|
103
101
|
"ID must not be empty in cloud mode",
|
|
104
102
|
)
|
|
105
103
|
})
|
|
@@ -107,14 +105,14 @@ describe("Geode store", () => {
|
|
|
107
105
|
|
|
108
106
|
describe("is_busy", () => {
|
|
109
107
|
test("test is_busy", () => {
|
|
110
|
-
const
|
|
111
|
-
|
|
112
|
-
expect(
|
|
108
|
+
const geodeStore = useGeodeStore()
|
|
109
|
+
geodeStore.request_counter = 1
|
|
110
|
+
expect(geodeStore.is_busy).toBe(true)
|
|
113
111
|
})
|
|
114
112
|
test("test not is_busy", () => {
|
|
115
|
-
const
|
|
116
|
-
|
|
117
|
-
expect(
|
|
113
|
+
const geodeStore = useGeodeStore()
|
|
114
|
+
geodeStore.request_counter = 0
|
|
115
|
+
expect(geodeStore.is_busy).toBe(false)
|
|
118
116
|
})
|
|
119
117
|
})
|
|
120
118
|
})
|
|
@@ -125,40 +123,40 @@ describe("Geode store", () => {
|
|
|
125
123
|
registerEndpoint(back_schemas.opengeodeweb_back.ping.$id, getFakeCall)
|
|
126
124
|
|
|
127
125
|
test("response", async () => {
|
|
128
|
-
const
|
|
129
|
-
|
|
126
|
+
const geodeStore = useGeodeStore()
|
|
127
|
+
geodeStore.base_url = ""
|
|
130
128
|
getFakeCall.mockImplementation(() => ({}))
|
|
131
|
-
await
|
|
132
|
-
expect(
|
|
129
|
+
await geodeStore.do_ping()
|
|
130
|
+
expect(geodeStore.status).toBe(Status.CONNECTED)
|
|
133
131
|
})
|
|
134
132
|
test("response_error", async () => {
|
|
135
|
-
const
|
|
136
|
-
|
|
133
|
+
const geodeStore = useGeodeStore()
|
|
134
|
+
geodeStore.base_url = ""
|
|
137
135
|
getFakeCall.mockImplementation(() => {
|
|
138
136
|
throw createError({
|
|
139
137
|
status: 500,
|
|
140
138
|
})
|
|
141
139
|
})
|
|
142
140
|
|
|
143
|
-
await
|
|
144
|
-
expect(
|
|
141
|
+
await geodeStore.do_ping()
|
|
142
|
+
expect(geodeStore.status).toBe(Status.NOT_CONNECTED)
|
|
145
143
|
})
|
|
146
144
|
})
|
|
147
145
|
|
|
148
146
|
describe("start_request", () => {
|
|
149
147
|
test("test increment", async () => {
|
|
150
|
-
const
|
|
151
|
-
expect(
|
|
152
|
-
await
|
|
153
|
-
expect(
|
|
148
|
+
const geodeStore = useGeodeStore()
|
|
149
|
+
expect(geodeStore.request_counter).toBe(0)
|
|
150
|
+
await geodeStore.start_request()
|
|
151
|
+
expect(geodeStore.request_counter).toBe(1)
|
|
154
152
|
})
|
|
155
153
|
})
|
|
156
154
|
describe("stop_request", () => {
|
|
157
155
|
test("test decrement", async () => {
|
|
158
|
-
const
|
|
159
|
-
|
|
160
|
-
await
|
|
161
|
-
expect(
|
|
156
|
+
const geodeStore = useGeodeStore()
|
|
157
|
+
geodeStore.request_counter = 1
|
|
158
|
+
await geodeStore.stop_request()
|
|
159
|
+
expect(geodeStore.request_counter).toBe(0)
|
|
162
160
|
})
|
|
163
161
|
})
|
|
164
162
|
})
|