@geode/opengeodeweb-front 6.3.0-rc.1 → 6.3.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.
- package/components/CrsSelector.vue +5 -1
- package/components/ExtensionSelector.vue +2 -2
- package/components/FileSelector.vue +4 -4
- package/components/FileUploader.vue +5 -3
- package/components/MissingFilesSelector.vue +6 -4
- package/components/ObjectSelector.vue +3 -1
- package/composables/api_fetch.js +6 -3
- package/package.json +2 -2
- package/test/components/CrsSelector.nuxt.test.js +10 -7
- package/test/components/ExtensionSelector.nuxt.test.js +7 -6
- package/test/components/FileSelector.nuxt.test.js +9 -7
- package/test/components/FileUploader.nuxt.test.js +12 -4
- package/test/components/MissingFilesSelector.nuxt.test.js +8 -8
- package/test/components/ObjectSelector.nuxt.test.js +6 -7
- package/test/components/PackagesVersions.nuxt.test.js +2 -4
- package/test/composables/api_fetch.nuxt.test.js +23 -53
- package/assets/schemas/CrsSelector.json +0 -12
- package/assets/schemas/ExtensionSelector.json +0 -15
- package/assets/schemas/FileSelector.json +0 -12
- package/assets/schemas/MissingFilesSelector.json +0 -15
- package/assets/schemas/ObjectSelector.json +0 -15
|
@@ -24,7 +24,9 @@
|
|
|
24
24
|
</template>
|
|
25
25
|
|
|
26
26
|
<script setup>
|
|
27
|
-
import
|
|
27
|
+
import schemas from "@geode/opengeodeweb-back/schemas.json"
|
|
28
|
+
const schema = schemas.opengeodeweb_back.geographic_coordinate_systems
|
|
29
|
+
|
|
28
30
|
const emit = defineEmits([
|
|
29
31
|
"update_values",
|
|
30
32
|
"increment_step",
|
|
@@ -64,11 +66,13 @@
|
|
|
64
66
|
async function get_crs_table() {
|
|
65
67
|
const params = { input_geode_object }
|
|
66
68
|
toggle_loading()
|
|
69
|
+
console.log("get_crs_table")
|
|
67
70
|
await api_fetch(
|
|
68
71
|
{ schema, params },
|
|
69
72
|
{
|
|
70
73
|
response_function: (response) => {
|
|
71
74
|
crs_list.value = response._data.crs_list
|
|
75
|
+
console.log("crs_list", response._data.crs_list)
|
|
72
76
|
},
|
|
73
77
|
},
|
|
74
78
|
)
|
|
@@ -59,8 +59,8 @@
|
|
|
59
59
|
</template>
|
|
60
60
|
|
|
61
61
|
<script setup>
|
|
62
|
-
import
|
|
63
|
-
|
|
62
|
+
import schemas from "@geode/opengeodeweb-back/schemas.json"
|
|
63
|
+
const schema = schemas.opengeodeweb_back.geode_objects_and_output_extensions
|
|
64
64
|
const emit = defineEmits([
|
|
65
65
|
"update_values",
|
|
66
66
|
"increment_step",
|
|
@@ -2,14 +2,15 @@
|
|
|
2
2
|
<FetchingData v-if="loading" />
|
|
3
3
|
<FileUploader
|
|
4
4
|
v-else
|
|
5
|
-
v-bind="{ multiple, accept
|
|
5
|
+
v-bind="{ multiple, accept }"
|
|
6
6
|
@files_uploaded="files_uploaded_event"
|
|
7
7
|
/>
|
|
8
8
|
</template>
|
|
9
9
|
|
|
10
10
|
<script setup>
|
|
11
|
-
import
|
|
11
|
+
import schemas from "@geode/opengeodeweb-back/schemas.json"
|
|
12
12
|
|
|
13
|
+
const schema = schemas.opengeodeweb_back.allowed_files
|
|
13
14
|
const emit = defineEmits([
|
|
14
15
|
"update_values",
|
|
15
16
|
"increment_step",
|
|
@@ -19,10 +20,9 @@
|
|
|
19
20
|
const props = defineProps({
|
|
20
21
|
multiple: { type: Boolean, required: true },
|
|
21
22
|
key: { type: String, required: false, default: "" },
|
|
22
|
-
route: { type: String, required: false, default: "" },
|
|
23
23
|
})
|
|
24
24
|
|
|
25
|
-
const { multiple, key
|
|
25
|
+
const { multiple, key } = props
|
|
26
26
|
|
|
27
27
|
const accept = ref("")
|
|
28
28
|
const loading = ref(false)
|
|
@@ -30,14 +30,16 @@
|
|
|
30
30
|
</template>
|
|
31
31
|
|
|
32
32
|
<script setup>
|
|
33
|
+
import schemas from "@geode/opengeodeweb-back/schemas.json"
|
|
34
|
+
const schema = schemas.opengeodeweb_back.upload_file
|
|
35
|
+
|
|
33
36
|
const emit = defineEmits(["files_uploaded", "decrement_step"])
|
|
34
37
|
|
|
35
38
|
const props = defineProps({
|
|
36
39
|
multiple: { type: Boolean, required: true },
|
|
37
40
|
accept: { type: String, required: true },
|
|
38
|
-
route: { type: String, required: true },
|
|
39
41
|
})
|
|
40
|
-
const { multiple, accept
|
|
42
|
+
const { multiple, accept } = toRefs(props)
|
|
41
43
|
|
|
42
44
|
const label = multiple ? "Please select file(s)" : "Please select a file"
|
|
43
45
|
const files = ref([])
|
|
@@ -52,7 +54,7 @@
|
|
|
52
54
|
for (const file of files.value) {
|
|
53
55
|
const promise = new Promise((resolve, reject) => {
|
|
54
56
|
upload_file(
|
|
55
|
-
{ route, file },
|
|
57
|
+
{ route: schema.$id, file },
|
|
56
58
|
{
|
|
57
59
|
request_error_function: () => {
|
|
58
60
|
reject()
|
|
@@ -26,7 +26,7 @@
|
|
|
26
26
|
<v-row>
|
|
27
27
|
<v-col cols="12">
|
|
28
28
|
<FileUploader
|
|
29
|
-
v-bind="{ multiple, accept
|
|
29
|
+
v-bind="{ multiple, accept }"
|
|
30
30
|
@files_uploaded="files_uploaded_event"
|
|
31
31
|
/>
|
|
32
32
|
</v-col>
|
|
@@ -43,7 +43,9 @@
|
|
|
43
43
|
</template>
|
|
44
44
|
|
|
45
45
|
<script setup>
|
|
46
|
-
import
|
|
46
|
+
import schemas from "@geode/opengeodeweb-back/schemas.json"
|
|
47
|
+
|
|
48
|
+
const schema = schemas.opengeodeweb_back.missing_files
|
|
47
49
|
|
|
48
50
|
const emit = defineEmits([
|
|
49
51
|
"update_values",
|
|
@@ -55,10 +57,9 @@
|
|
|
55
57
|
multiple: { type: Boolean, required: true },
|
|
56
58
|
input_geode_object: { type: String, required: true },
|
|
57
59
|
filenames: { type: Array, required: true },
|
|
58
|
-
route: { type: String, required: true },
|
|
59
60
|
})
|
|
60
61
|
|
|
61
|
-
const { multiple, input_geode_object, filenames
|
|
62
|
+
const { multiple, input_geode_object, filenames } = props
|
|
62
63
|
|
|
63
64
|
const accept = ref("")
|
|
64
65
|
const loading = ref(false)
|
|
@@ -68,6 +69,7 @@
|
|
|
68
69
|
const toggle_loading = useToggle(loading)
|
|
69
70
|
|
|
70
71
|
function files_uploaded_event(value) {
|
|
72
|
+
console.log("update_values")
|
|
71
73
|
emit("update_values", { additional_files: value })
|
|
72
74
|
missing_files()
|
|
73
75
|
}
|
|
@@ -50,7 +50,9 @@
|
|
|
50
50
|
|
|
51
51
|
<script setup>
|
|
52
52
|
import geode_objects from "@/assets/geode_objects"
|
|
53
|
-
import
|
|
53
|
+
import schemas from "@geode/opengeodeweb-back/schemas.json"
|
|
54
|
+
|
|
55
|
+
const schema = schemas.opengeodeweb_back.allowed_objects
|
|
54
56
|
|
|
55
57
|
const emit = defineEmits(["update_values", "increment_step"])
|
|
56
58
|
|
package/composables/api_fetch.js
CHANGED
|
@@ -12,7 +12,8 @@ export function api_fetch(
|
|
|
12
12
|
|
|
13
13
|
const ajv = new Ajv()
|
|
14
14
|
|
|
15
|
-
ajv.addKeyword("
|
|
15
|
+
ajv.addKeyword("methods")
|
|
16
|
+
ajv.addKeyword("route")
|
|
16
17
|
ajv.addKeyword("max_retry")
|
|
17
18
|
const valid = ajv.validate(schema, body)
|
|
18
19
|
if (!valid) {
|
|
@@ -25,8 +26,10 @@ export function api_fetch(
|
|
|
25
26
|
throw new Error(schema.$id.concat(": ", ajv.errorsText()))
|
|
26
27
|
}
|
|
27
28
|
geode_store.start_request()
|
|
28
|
-
|
|
29
|
-
const request_options = {
|
|
29
|
+
const method = schema.methods.filter((m) => m !== "OPTIONS")[0]
|
|
30
|
+
const request_options = {
|
|
31
|
+
method: method,
|
|
32
|
+
}
|
|
30
33
|
if (!_.isEmpty(body)) {
|
|
31
34
|
request_options.body = body
|
|
32
35
|
}
|
package/package.json
CHANGED
|
@@ -33,9 +33,10 @@
|
|
|
33
33
|
},
|
|
34
34
|
"description": "OpenSource Vue/Vuetify framework for web applications",
|
|
35
35
|
"type": "module",
|
|
36
|
-
"version": "6.3.0
|
|
36
|
+
"version": "6.3.0",
|
|
37
37
|
"main": "./nuxt.config.js",
|
|
38
38
|
"dependencies": {
|
|
39
|
+
"@geode/opengeodeweb-back": "3.3.2",
|
|
39
40
|
"@kitware/vtk.js": "^29.4.6",
|
|
40
41
|
"@mdi/font": "^7.4.47",
|
|
41
42
|
"@pinia/nuxt": "^0.5.1",
|
|
@@ -44,7 +45,6 @@
|
|
|
44
45
|
"@vueuse/core": "^10.7.2",
|
|
45
46
|
"@vueuse/nuxt": "^10.7.2",
|
|
46
47
|
"ajv": "^8.12.0",
|
|
47
|
-
"lodash": "^4.17.21",
|
|
48
48
|
"pinia": "^2.1.7",
|
|
49
49
|
"sass": "^1.70.0",
|
|
50
50
|
"semver": "^7.5.4",
|
|
@@ -8,15 +8,16 @@ import * as components from "vuetify/components"
|
|
|
8
8
|
import * as directives from "vuetify/directives"
|
|
9
9
|
|
|
10
10
|
import CrsSelector from "@/components/CrsSelector.vue"
|
|
11
|
-
import
|
|
11
|
+
import schemas from "@geode/opengeodeweb-back/schemas.json"
|
|
12
|
+
|
|
13
|
+
const crs_selector_schema =
|
|
14
|
+
schemas.opengeodeweb_back.geographic_coordinate_systems
|
|
12
15
|
|
|
13
16
|
const vuetify = createVuetify({
|
|
14
17
|
components,
|
|
15
18
|
directives,
|
|
16
19
|
})
|
|
17
20
|
|
|
18
|
-
global.ResizeObserver = require("resize-observer-polyfill")
|
|
19
|
-
|
|
20
21
|
describe("CrsSelector.vue", async () => {
|
|
21
22
|
test(`BRep`, async () => {
|
|
22
23
|
const crs_list = [
|
|
@@ -26,8 +27,8 @@ describe("CrsSelector.vue", async () => {
|
|
|
26
27
|
name: "Anguilla 1957 / British West Indies Grid",
|
|
27
28
|
},
|
|
28
29
|
]
|
|
29
|
-
registerEndpoint(
|
|
30
|
-
method:
|
|
30
|
+
registerEndpoint(crs_selector_schema.$id, {
|
|
31
|
+
method: crs_selector_schema.methods.filter((m) => m !== "OPTIONS")[0],
|
|
31
32
|
handler: () => ({
|
|
32
33
|
crs_list,
|
|
33
34
|
}),
|
|
@@ -40,8 +41,10 @@ describe("CrsSelector.vue", async () => {
|
|
|
40
41
|
props: { input_geode_object: "BRep", key_to_update },
|
|
41
42
|
})
|
|
42
43
|
const td = await wrapper.find("td")
|
|
43
|
-
|
|
44
|
-
await
|
|
44
|
+
await wrapper.vm.$nextTick()
|
|
45
|
+
const input = await td.find("input")
|
|
46
|
+
console.log("toto", input)
|
|
47
|
+
await input.trigger("click")
|
|
45
48
|
expect(wrapper.emitted()).toHaveProperty("update_values")
|
|
46
49
|
expect(wrapper.emitted().update_values).toHaveLength(1)
|
|
47
50
|
expect(wrapper.emitted().update_values[0][0]).toEqual({
|
|
@@ -8,23 +8,24 @@ import * as components from "vuetify/components"
|
|
|
8
8
|
import * as directives from "vuetify/directives"
|
|
9
9
|
|
|
10
10
|
import ExtensionSelector from "@/components/ExtensionSelector.vue"
|
|
11
|
-
|
|
12
|
-
import
|
|
11
|
+
|
|
12
|
+
import schemas from "@geode/opengeodeweb-back/schemas.json"
|
|
13
|
+
|
|
14
|
+
const geode_objects_and_output_extensions =
|
|
15
|
+
schemas.opengeodeweb_back.geode_objects_and_output_extensions
|
|
13
16
|
|
|
14
17
|
const vuetify = createVuetify({
|
|
15
18
|
components,
|
|
16
19
|
directives,
|
|
17
20
|
})
|
|
18
21
|
|
|
19
|
-
global.ResizeObserver = require("resize-observer-polyfill")
|
|
20
|
-
|
|
21
22
|
describe("ExtensionSelector.vue", async () => {
|
|
22
23
|
test(`Select geode_object & extension`, async () => {
|
|
23
24
|
const output_geode_object = "BRep"
|
|
24
25
|
const output_extension = "msh"
|
|
25
26
|
|
|
26
|
-
registerEndpoint(
|
|
27
|
-
method:
|
|
27
|
+
registerEndpoint(geode_objects_and_output_extensions.$id, {
|
|
28
|
+
method: geode_objects_and_output_extensions.methods[0],
|
|
28
29
|
handler: () => ({
|
|
29
30
|
geode_objects_and_output_extensions: {
|
|
30
31
|
BRep: { msh: { is_saveable: true } },
|
|
@@ -10,19 +10,21 @@ import * as directives from "vuetify/directives"
|
|
|
10
10
|
|
|
11
11
|
import FileSelector from "@/components/FileSelector.vue"
|
|
12
12
|
import FileUploader from "@/components/FileUploader.vue"
|
|
13
|
-
|
|
13
|
+
|
|
14
|
+
import schemas from "@geode/opengeodeweb-back/schemas.json"
|
|
15
|
+
|
|
16
|
+
const allowed_files_schema = schemas.opengeodeweb_back.allowed_files
|
|
17
|
+
const upload_file_schema = schemas.opengeodeweb_back.upload_file
|
|
14
18
|
|
|
15
19
|
const vuetify = createVuetify({
|
|
16
20
|
components,
|
|
17
21
|
directives,
|
|
18
22
|
})
|
|
19
23
|
|
|
20
|
-
global.ResizeObserver = require("resize-observer-polyfill")
|
|
21
|
-
|
|
22
24
|
describe("FileSelector.vue", async () => {
|
|
23
25
|
test(`Select file`, async () => {
|
|
24
|
-
registerEndpoint(
|
|
25
|
-
method:
|
|
26
|
+
registerEndpoint(allowed_files_schema.$id, {
|
|
27
|
+
method: allowed_files_schema.methods[0],
|
|
26
28
|
handler: () => ({
|
|
27
29
|
extensions: ["1", "2", "3"],
|
|
28
30
|
}),
|
|
@@ -36,8 +38,8 @@ describe("FileSelector.vue", async () => {
|
|
|
36
38
|
|
|
37
39
|
const file_uploader = wrapper.findComponent(FileUploader)
|
|
38
40
|
|
|
39
|
-
registerEndpoint(
|
|
40
|
-
method:
|
|
41
|
+
registerEndpoint(upload_file_schema.$id, {
|
|
42
|
+
method: upload_file_schema.methods[1],
|
|
41
43
|
handler: () => ({}),
|
|
42
44
|
})
|
|
43
45
|
|
|
@@ -10,17 +10,19 @@ import * as directives from "vuetify/directives"
|
|
|
10
10
|
|
|
11
11
|
import FileUploader from "@/components/FileUploader.vue"
|
|
12
12
|
|
|
13
|
+
import schemas from "@geode/opengeodeweb-back/schemas.json"
|
|
14
|
+
|
|
15
|
+
const upload_file_schema = schemas.opengeodeweb_back.upload_file
|
|
16
|
+
|
|
13
17
|
const vuetify = createVuetify({
|
|
14
18
|
components,
|
|
15
19
|
directives,
|
|
16
20
|
})
|
|
17
21
|
|
|
18
|
-
global.ResizeObserver = require("resize-observer-polyfill")
|
|
19
|
-
|
|
20
22
|
describe("FileUploader.vue", async () => {
|
|
21
23
|
test(`Upload file`, async () => {
|
|
22
|
-
registerEndpoint(
|
|
23
|
-
method:
|
|
24
|
+
registerEndpoint(upload_file_schema.$id, {
|
|
25
|
+
method: upload_file_schema.methods[0],
|
|
24
26
|
handler: () => ({}),
|
|
25
27
|
})
|
|
26
28
|
const wrapper = await mountSuspended(FileUploader, {
|
|
@@ -35,6 +37,12 @@ describe("FileUploader.vue", async () => {
|
|
|
35
37
|
await v_file_input.setValue(files)
|
|
36
38
|
await v_file_input.trigger("change")
|
|
37
39
|
const v_btn = wrapper.findComponent(components.VBtn)
|
|
40
|
+
|
|
41
|
+
registerEndpoint(upload_file_schema.$id, {
|
|
42
|
+
method: upload_file_schema.methods[1],
|
|
43
|
+
handler: () => ({}),
|
|
44
|
+
})
|
|
45
|
+
|
|
38
46
|
await v_btn.trigger("click")
|
|
39
47
|
await flushPromises()
|
|
40
48
|
expect(wrapper.emitted().files_uploaded[0][0]).toEqual(files)
|
|
@@ -11,19 +11,20 @@ import * as directives from "vuetify/directives"
|
|
|
11
11
|
import MissingFilesSelector from "@/components/MissingFilesSelector.vue"
|
|
12
12
|
import FileUploader from "@/components/FileUploader.vue"
|
|
13
13
|
|
|
14
|
-
import
|
|
14
|
+
import schemas from "@geode/opengeodeweb-back/schemas.json"
|
|
15
|
+
|
|
16
|
+
const missing_files_schema = schemas.opengeodeweb_back.missing_files
|
|
17
|
+
const upload_file_schema = schemas.opengeodeweb_back.upload_file
|
|
15
18
|
|
|
16
19
|
const vuetify = createVuetify({
|
|
17
20
|
components,
|
|
18
21
|
directives,
|
|
19
22
|
})
|
|
20
23
|
|
|
21
|
-
global.ResizeObserver = require("resize-observer-polyfill")
|
|
22
|
-
|
|
23
24
|
describe("MissingFilesSelector.vue", async () => {
|
|
24
25
|
test(`Select file`, async () => {
|
|
25
|
-
registerEndpoint(
|
|
26
|
-
method:
|
|
26
|
+
registerEndpoint(missing_files_schema.$id, {
|
|
27
|
+
method: missing_files_schema.methods[0],
|
|
27
28
|
handler: () => ({
|
|
28
29
|
has_missing_files: true,
|
|
29
30
|
mandatory_files: ["fake_file.txt"],
|
|
@@ -38,7 +39,6 @@ describe("MissingFilesSelector.vue", async () => {
|
|
|
38
39
|
multiple: false,
|
|
39
40
|
input_geode_object: "BRep",
|
|
40
41
|
filenames: ["fake_file.txt"],
|
|
41
|
-
route: "/upload_file",
|
|
42
42
|
},
|
|
43
43
|
})
|
|
44
44
|
|
|
@@ -52,8 +52,8 @@ describe("MissingFilesSelector.vue", async () => {
|
|
|
52
52
|
await v_file_input.trigger("change")
|
|
53
53
|
const v_btn = file_uploader.findComponent(components.VBtn)
|
|
54
54
|
|
|
55
|
-
registerEndpoint(
|
|
56
|
-
method:
|
|
55
|
+
registerEndpoint(upload_file_schema.$id, {
|
|
56
|
+
method: upload_file_schema.methods[1],
|
|
57
57
|
handler: () => ({}),
|
|
58
58
|
})
|
|
59
59
|
await v_btn.trigger("click")
|
|
@@ -9,17 +9,16 @@ import * as components from "vuetify/components"
|
|
|
9
9
|
import * as directives from "vuetify/directives"
|
|
10
10
|
|
|
11
11
|
import ObjectSelector from "@/components/ObjectSelector.vue"
|
|
12
|
-
|
|
13
|
-
import
|
|
12
|
+
|
|
13
|
+
import schemas from "@geode/opengeodeweb-back/schemas.json"
|
|
14
|
+
|
|
15
|
+
const allowed_objects = schemas.opengeodeweb_back.allowed_objects
|
|
14
16
|
|
|
15
17
|
const vuetify = createVuetify({
|
|
16
18
|
components,
|
|
17
19
|
directives,
|
|
18
20
|
})
|
|
19
21
|
|
|
20
|
-
global.ResizeObserver = require("resize-observer-polyfill")
|
|
21
|
-
|
|
22
|
-
// for (const [geode_object] of Object.entries(geode_objects)) {
|
|
23
22
|
const geode_object = "BRep"
|
|
24
23
|
describe("ObjectSelector.vue", async () => {
|
|
25
24
|
test(`BRep`, async () => {
|
|
@@ -27,8 +26,8 @@ describe("ObjectSelector.vue", async () => {
|
|
|
27
26
|
allowed_objects: {},
|
|
28
27
|
}
|
|
29
28
|
response["allowed_objects"][geode_object] = { is_loadable: true }
|
|
30
|
-
registerEndpoint(
|
|
31
|
-
method:
|
|
29
|
+
registerEndpoint(allowed_objects.$id, {
|
|
30
|
+
method: allowed_objects.methods[0],
|
|
32
31
|
handler: () => response,
|
|
33
32
|
})
|
|
34
33
|
const wrapper = await mountSuspended(ObjectSelector, {
|
|
@@ -14,19 +14,17 @@ const vuetify = createVuetify({
|
|
|
14
14
|
directives,
|
|
15
15
|
})
|
|
16
16
|
|
|
17
|
-
global.ResizeObserver = require("resize-observer-polyfill")
|
|
18
|
-
|
|
19
17
|
describe("PackagesVersions.vue", async () => {
|
|
20
18
|
test(`Mount`, async () => {
|
|
21
19
|
const schema = {
|
|
22
20
|
$id: "/versions",
|
|
23
|
-
|
|
21
|
+
methods: ["GET"],
|
|
24
22
|
type: "object",
|
|
25
23
|
properties: {},
|
|
26
24
|
additionalProperties: false,
|
|
27
25
|
}
|
|
28
26
|
registerEndpoint(schema.$id, {
|
|
29
|
-
method: schema.
|
|
27
|
+
method: schema.methods[0],
|
|
30
28
|
handler: () => ({
|
|
31
29
|
versions: [
|
|
32
30
|
{
|
|
@@ -7,7 +7,7 @@ describe("api_fetch.js", () => {
|
|
|
7
7
|
const schema = {
|
|
8
8
|
$id: "/test",
|
|
9
9
|
type: "object",
|
|
10
|
-
|
|
10
|
+
methods: ["POST"],
|
|
11
11
|
properties: {
|
|
12
12
|
test: {
|
|
13
13
|
type: "string",
|
|
@@ -16,16 +16,18 @@ describe("api_fetch.js", () => {
|
|
|
16
16
|
required: ["test"],
|
|
17
17
|
additionalProperties: false,
|
|
18
18
|
}
|
|
19
|
+
var params
|
|
20
|
+
|
|
19
21
|
beforeEach(async () => {
|
|
20
22
|
await errors_store.$patch({ errors: [] })
|
|
21
23
|
})
|
|
22
24
|
|
|
23
25
|
test("Ajv wrong params", async () => {
|
|
24
26
|
registerEndpoint(schema.$id, {
|
|
25
|
-
method: schema.
|
|
27
|
+
method: schema.methods[0],
|
|
26
28
|
handler: () => ({ return: "toto" }),
|
|
27
29
|
})
|
|
28
|
-
|
|
30
|
+
params = {}
|
|
29
31
|
try {
|
|
30
32
|
await api_fetch({ schema, params })
|
|
31
33
|
} catch (error) {
|
|
@@ -37,64 +39,32 @@ describe("api_fetch.js", () => {
|
|
|
37
39
|
expect(errors_store.errors[0].code).toBe(400)
|
|
38
40
|
})
|
|
39
41
|
|
|
40
|
-
// test("onRequestError", async () => {
|
|
41
|
-
// const schema = {
|
|
42
|
-
// $id: "/test",
|
|
43
|
-
// type: "object",
|
|
44
|
-
// method: "POST",
|
|
45
|
-
// properties: {
|
|
46
|
-
// test: {
|
|
47
|
-
// type: "string",
|
|
48
|
-
// },
|
|
49
|
-
// },
|
|
50
|
-
// required: ["test"],
|
|
51
|
-
// additionalProperties: false,
|
|
52
|
-
// }
|
|
53
|
-
// registerEndpoint(schema.$id, {
|
|
54
|
-
// method: schema.method,
|
|
55
|
-
// handler: async () => {
|
|
56
|
-
// setTimeout(() => {}, 100 * 1000)
|
|
57
|
-
// },
|
|
58
|
-
// })
|
|
59
|
-
// const params = { test: "test" }
|
|
60
|
-
// var request_error_value
|
|
61
|
-
// await api_fetch(
|
|
62
|
-
// { schema, params },
|
|
63
|
-
// {
|
|
64
|
-
// request_error_function: () => {
|
|
65
|
-
// request_error_value = "error"
|
|
66
|
-
// },
|
|
67
|
-
// },
|
|
68
|
-
// )
|
|
69
|
-
// expect(errors_store.errors.length).toBe(1)
|
|
70
|
-
// expect(errors_store.errors[0].code).toBe(404)
|
|
71
|
-
// expect(request_error_value).toBe("error")
|
|
72
|
-
// })
|
|
73
|
-
|
|
74
42
|
test("onResponse", async () => {
|
|
75
|
-
registerEndpoint(schema.$id, {
|
|
76
|
-
method: schema.method,
|
|
77
|
-
handler: () => ({ return: "toto" }),
|
|
78
|
-
})
|
|
79
|
-
const params = { test: "test" }
|
|
80
43
|
var response_value
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
44
|
+
for (var i = 0; i < 3; i++) {
|
|
45
|
+
registerEndpoint(schema.$id, {
|
|
46
|
+
method: schema.methods[0],
|
|
47
|
+
handler: () => ({ return: "toto" }),
|
|
48
|
+
})
|
|
49
|
+
params = { test: "test" }
|
|
50
|
+
await api_fetch(
|
|
51
|
+
{ schema, params },
|
|
52
|
+
{
|
|
53
|
+
response_function: (response) => {
|
|
54
|
+
response_value = response._data.return
|
|
55
|
+
},
|
|
86
56
|
},
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
57
|
+
)
|
|
58
|
+
expect(errors_store.errors.length).toBe(0)
|
|
59
|
+
expect(response_value).toBe("toto")
|
|
60
|
+
}
|
|
91
61
|
})
|
|
92
62
|
|
|
93
63
|
test("onResponseError", async () => {
|
|
94
64
|
const schema = {
|
|
95
65
|
$id: "/toto",
|
|
96
66
|
type: "object",
|
|
97
|
-
|
|
67
|
+
methods: ["POST"],
|
|
98
68
|
properties: {
|
|
99
69
|
test: {
|
|
100
70
|
type: "string",
|
|
@@ -103,7 +73,7 @@ describe("api_fetch.js", () => {
|
|
|
103
73
|
required: ["test"],
|
|
104
74
|
additionalProperties: false,
|
|
105
75
|
}
|
|
106
|
-
|
|
76
|
+
params = { test: "test" }
|
|
107
77
|
var response_error_value
|
|
108
78
|
await api_fetch(
|
|
109
79
|
{ schema, params },
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"$id": "/tools/geode_objects_and_output_extensions",
|
|
3
|
-
"type": "object",
|
|
4
|
-
"method": "POST",
|
|
5
|
-
"properties": {
|
|
6
|
-
"input_geode_object": {
|
|
7
|
-
"type": "string"
|
|
8
|
-
},
|
|
9
|
-
"filename": {
|
|
10
|
-
"type": "string"
|
|
11
|
-
}
|
|
12
|
-
},
|
|
13
|
-
"required": ["input_geode_object", "filename"],
|
|
14
|
-
"additionalProperties": false
|
|
15
|
-
}
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"$id": "/tools/missing_files",
|
|
3
|
-
"type": "object",
|
|
4
|
-
"method": "POST",
|
|
5
|
-
"properties": {
|
|
6
|
-
"input_geode_object": {
|
|
7
|
-
"type": "string"
|
|
8
|
-
},
|
|
9
|
-
"filename": {
|
|
10
|
-
"type": "string"
|
|
11
|
-
}
|
|
12
|
-
},
|
|
13
|
-
"required": ["input_geode_object", "filename"],
|
|
14
|
-
"additionalProperties": false
|
|
15
|
-
}
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"$id": "/tools/allowed_objects",
|
|
3
|
-
"type": "object",
|
|
4
|
-
"method": "POST",
|
|
5
|
-
"properties": {
|
|
6
|
-
"filename": {
|
|
7
|
-
"type": "string"
|
|
8
|
-
},
|
|
9
|
-
"key": {
|
|
10
|
-
"type": ["string", "null"]
|
|
11
|
-
}
|
|
12
|
-
},
|
|
13
|
-
"required": ["filename", "key"],
|
|
14
|
-
"additionalProperties": false
|
|
15
|
-
}
|