Skip to content

Commit ebb38b5

Browse files
Import schemas dynamically : tests
Co-authored-by: Julien Champagnol <[email protected]>
1 parent b5d4d31 commit ebb38b5

11 files changed

+82
-106
lines changed

components/CrsSelector.vue

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -66,12 +66,13 @@
6666
async function get_crs_table() {
6767
const params = { input_geode_object }
6868
toggle_loading()
69-
69+
console.log("get_crs_table")
7070
await api_fetch(
7171
{ schema, params },
7272
{
7373
response_function: (response) => {
7474
crs_list.value = response._data.crs_list
75+
console.log("crs_list", response._data.crs_list)
7576
},
7677
},
7778
)

components/MissingFilesSelector.vue

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@
2727
<v-col cols="12">
2828
<FileUploader
2929
v-bind="{ multiple, accept }"
30-
@files_uploaded="files_uploaded"
30+
@files_uploaded="files_uploaded_event"
3131
/>
3232
</v-col>
3333
</v-row>
@@ -69,6 +69,7 @@
6969
const toggle_loading = useToggle(loading)
7070
7171
function files_uploaded_event(value) {
72+
console.log("update_values")
7273
emit("update_values", { additional_files: value })
7374
missing_files()
7475
}

composables/api_fetch.js

Lines changed: 1 addition & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -26,14 +26,7 @@ export function api_fetch(
2626
throw new Error(schema.$id.concat(": ", ajv.errorsText()))
2727
}
2828
geode_store.start_request()
29-
var methods = []
30-
for (const method of schema.methods) {
31-
methods.push(method)
32-
}
33-
const indexOf = methods.indexOf("OPTIONS")
34-
const splice = methods.splice(indexOf, 1)
35-
const method = splice[0]
36-
29+
const method = schema.methods.filter((m) => m !== "OPTIONS")[0]
3730
const request_options = {
3831
method: method,
3932
}

test/components/CrsSelector.nuxt.test.js

Lines changed: 10 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -8,15 +8,16 @@ import * as components from "vuetify/components"
88
import * as directives from "vuetify/directives"
99

1010
import CrsSelector from "@/components/CrsSelector.vue"
11-
import schema from "@/assets/schemas/CrsSelector.json"
11+
import schemas from "@geode/opengeodeweb-back/schemas.json"
12+
13+
const crs_selector_schema =
14+
schemas.opengeodeweb_back.geographic_coordinate_systems
1215

1316
const vuetify = createVuetify({
1417
components,
1518
directives,
1619
})
1720

18-
global.ResizeObserver = require("resize-observer-polyfill")
19-
2021
describe("CrsSelector.vue", async () => {
2122
test(`BRep`, async () => {
2223
const crs_list = [
@@ -26,8 +27,8 @@ describe("CrsSelector.vue", async () => {
2627
name: "Anguilla 1957 / British West Indies Grid",
2728
},
2829
]
29-
registerEndpoint(schema.$id, {
30-
method: schema.method,
30+
registerEndpoint(crs_selector_schema.$id, {
31+
method: crs_selector_schema.methods.filter((m) => m !== "OPTIONS")[0],
3132
handler: () => ({
3233
crs_list,
3334
}),
@@ -40,8 +41,10 @@ describe("CrsSelector.vue", async () => {
4041
props: { input_geode_object: "BRep", key_to_update },
4142
})
4243
const td = await wrapper.find("td")
43-
const imput = await td.find("input")
44-
await imput.trigger("click")
44+
await wrapper.vm.$nextTick()
45+
const input = await td.find("input")
46+
console.log("toto", input)
47+
await input.trigger("click")
4548
expect(wrapper.emitted()).toHaveProperty("update_values")
4649
expect(wrapper.emitted().update_values).toHaveLength(1)
4750
expect(wrapper.emitted().update_values[0][0]).toEqual({

test/components/ExtensionSelector.nuxt.test.js

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -8,23 +8,24 @@ import * as components from "vuetify/components"
88
import * as directives from "vuetify/directives"
99

1010
import ExtensionSelector from "@/components/ExtensionSelector.vue"
11-
import schema from "@/assets/schemas/ExtensionSelector.json"
12-
import { flushPromises } from "@vue/test-utils"
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
1316

1417
const vuetify = createVuetify({
1518
components,
1619
directives,
1720
})
1821

19-
global.ResizeObserver = require("resize-observer-polyfill")
20-
2122
describe("ExtensionSelector.vue", async () => {
2223
test(`Select geode_object & extension`, async () => {
2324
const output_geode_object = "BRep"
2425
const output_extension = "msh"
2526

26-
registerEndpoint(schema.$id, {
27-
method: schema.method,
27+
registerEndpoint(geode_objects_and_output_extensions.$id, {
28+
method: geode_objects_and_output_extensions.methods[0],
2829
handler: () => ({
2930
geode_objects_and_output_extensions: {
3031
BRep: { msh: { is_saveable: true } },

test/components/FileSelector.nuxt.test.js

Lines changed: 9 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -10,19 +10,21 @@ import * as directives from "vuetify/directives"
1010

1111
import FileSelector from "@/components/FileSelector.vue"
1212
import FileUploader from "@/components/FileUploader.vue"
13-
import schema from "@/assets/schemas/FileSelector.json"
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
1418

1519
const vuetify = createVuetify({
1620
components,
1721
directives,
1822
})
1923

20-
global.ResizeObserver = require("resize-observer-polyfill")
21-
2224
describe("FileSelector.vue", async () => {
2325
test(`Select file`, async () => {
24-
registerEndpoint(schema.$id, {
25-
method: schema.method,
26+
registerEndpoint(allowed_files_schema.$id, {
27+
method: allowed_files_schema.methods[0],
2628
handler: () => ({
2729
extensions: ["1", "2", "3"],
2830
}),
@@ -36,8 +38,8 @@ describe("FileSelector.vue", async () => {
3638

3739
const file_uploader = wrapper.findComponent(FileUploader)
3840

39-
registerEndpoint("/upload", {
40-
method: "PUT",
41+
registerEndpoint(upload_file_schema.$id, {
42+
method: upload_file_schema.methods[1],
4143
handler: () => ({}),
4244
})
4345

test/components/FileUploader.nuxt.test.js

Lines changed: 12 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -10,17 +10,19 @@ import * as directives from "vuetify/directives"
1010

1111
import FileUploader from "@/components/FileUploader.vue"
1212

13+
import schemas from "@geode/opengeodeweb-back/schemas.json"
14+
15+
const upload_file_schema = schemas.opengeodeweb_back.upload_file
16+
1317
const vuetify = createVuetify({
1418
components,
1519
directives,
1620
})
1721

18-
global.ResizeObserver = require("resize-observer-polyfill")
19-
2022
describe("FileUploader.vue", async () => {
2123
test(`Upload file`, async () => {
22-
registerEndpoint("/upload", {
23-
method: "PUT",
24+
registerEndpoint(upload_file_schema.$id, {
25+
method: upload_file_schema.methods[0],
2426
handler: () => ({}),
2527
})
2628
const wrapper = await mountSuspended(FileUploader, {
@@ -35,6 +37,12 @@ describe("FileUploader.vue", async () => {
3537
await v_file_input.setValue(files)
3638
await v_file_input.trigger("change")
3739
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+
3846
await v_btn.trigger("click")
3947
await flushPromises()
4048
expect(wrapper.emitted().files_uploaded[0][0]).toEqual(files)

test/components/MissingFilesSelector.nuxt.test.js

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -11,19 +11,20 @@ import * as directives from "vuetify/directives"
1111
import MissingFilesSelector from "@/components/MissingFilesSelector.vue"
1212
import FileUploader from "@/components/FileUploader.vue"
1313

14-
import schema from "@/assets/schemas/MissingFilesSelector.json"
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
1518

1619
const vuetify = createVuetify({
1720
components,
1821
directives,
1922
})
2023

21-
global.ResizeObserver = require("resize-observer-polyfill")
22-
2324
describe("MissingFilesSelector.vue", async () => {
2425
test(`Select file`, async () => {
25-
registerEndpoint(schema.$id, {
26-
method: schema.method,
26+
registerEndpoint(missing_files_schema.$id, {
27+
method: missing_files_schema.methods[0],
2728
handler: () => ({
2829
has_missing_files: true,
2930
mandatory_files: ["fake_file.txt"],
@@ -38,7 +39,6 @@ describe("MissingFilesSelector.vue", async () => {
3839
multiple: false,
3940
input_geode_object: "BRep",
4041
filenames: ["fake_file.txt"],
41-
route: "/upload_file",
4242
},
4343
})
4444

@@ -52,8 +52,8 @@ describe("MissingFilesSelector.vue", async () => {
5252
await v_file_input.trigger("change")
5353
const v_btn = file_uploader.findComponent(components.VBtn)
5454

55-
registerEndpoint("/upload_file", {
56-
method: "PUT",
55+
registerEndpoint(upload_file_schema.$id, {
56+
method: upload_file_schema.methods[1],
5757
handler: () => ({}),
5858
})
5959
await v_btn.trigger("click")

test/components/ObjectSelector.nuxt.test.js

Lines changed: 6 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -9,26 +9,25 @@ import * as components from "vuetify/components"
99
import * as directives from "vuetify/directives"
1010

1111
import ObjectSelector from "@/components/ObjectSelector.vue"
12-
import schema from "@/assets/schemas/ObjectSelector.json"
13-
import geode_objects from "@/assets/geode_objects"
12+
13+
import schemas from "@geode/opengeodeweb-back/schemas.json"
14+
15+
const allowed_objects = schemas.opengeodeweb_back.allowed_objects
1416

1517
const vuetify = createVuetify({
1618
components,
1719
directives,
1820
})
1921

20-
global.ResizeObserver = require("resize-observer-polyfill")
21-
22-
// for (const [geode_object] of Object.entries(geode_objects)) {
2322
const geode_object = "BRep"
2423
describe("ObjectSelector.vue", async () => {
2524
test(`BRep`, async () => {
2625
var response = {
2726
allowed_objects: {},
2827
}
2928
response["allowed_objects"][geode_object] = { is_loadable: true }
30-
registerEndpoint(schema.$id, {
31-
method: schema.method,
29+
registerEndpoint(allowed_objects.$id, {
30+
method: allowed_objects.methods[0],
3231
handler: () => response,
3332
})
3433
const wrapper = await mountSuspended(ObjectSelector, {

test/components/PackagesVersions.nuxt.test.js

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -14,19 +14,17 @@ const vuetify = createVuetify({
1414
directives,
1515
})
1616

17-
global.ResizeObserver = require("resize-observer-polyfill")
18-
1917
describe("PackagesVersions.vue", async () => {
2018
test(`Mount`, async () => {
2119
const schema = {
2220
$id: "/versions",
23-
method: "GET",
21+
methods: ["GET"],
2422
type: "object",
2523
properties: {},
2624
additionalProperties: false,
2725
}
2826
registerEndpoint(schema.$id, {
29-
method: schema.method,
27+
method: schema.methods[0],
3028
handler: () => ({
3129
versions: [
3230
{

0 commit comments

Comments
 (0)