Skip to content

Commit d7b6044

Browse files
Merge pull request #177 from Geode-solutions/next
Next
2 parents 4b3feb2 + a21fab6 commit d7b6044

File tree

3 files changed

+38
-7
lines changed

3 files changed

+38
-7
lines changed

components/ObjectSelector.vue

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
<template>
22
<FetchingData v-if="loading" />
33
<v-row v-else-if="Object.keys(allowed_objects).length" class="justify-left">
4-
<v-col v-for="(value, key) in allowed_objects" :key="key" cols="2" md="4">
4+
<v-col v-for="(value, key) in allowed_objects" :key="key" cols="3" md="4">
55
<v-tooltip
66
:text="
77
value['is_loadable']
@@ -107,6 +107,9 @@
107107
}
108108
109109
allowed_objects.value = final_object
110+
if (Object.keys(allowed_objects.value).length == 1) {
111+
set_geode_object(Object.keys(allowed_objects.value)[0])
112+
}
110113
toggle_loading()
111114
}
112115

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -73,4 +73,4 @@
7373
"publishConfig": {
7474
"access": "public"
7575
}
76-
}
76+
}

test/components/ObjectSelector.nuxt.test.js

Lines changed: 33 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -21,18 +21,18 @@ const vuetify = createVuetify({
2121
directives,
2222
})
2323

24-
const geode_object = "BRep"
2524
describe("ObjectSelector.vue", async () => {
2625
const pinia = createTestingPinia()
2726
setActivePinia(pinia)
2827
const geode_store = use_geode_store()
2928
geode_store.base_url = ""
3029

31-
test(`BRep`, async () => {
30+
test(`test loadable with one class`, async () => {
3231
var response = {
3332
allowed_objects: {},
3433
}
35-
response["allowed_objects"][geode_object] = { is_loadable: true }
34+
const geode_object_1 = "BRep"
35+
response["allowed_objects"][geode_object_1] = { is_loadable: true }
3636
registerEndpoint(allowed_objects.$id, {
3737
method: allowed_objects.methods[0],
3838
handler: () => response,
@@ -45,12 +45,40 @@ describe("ObjectSelector.vue", async () => {
4545
})
4646
const v_card = wrapper.findComponent(components.VCard)
4747
const v_img = v_card.findComponent(components.VImg)
48-
expect(v_img.vm.src).toContain(`${geode_object}.svg`)
48+
expect(v_img.vm.src).toContain(`${geode_object_1}.svg`)
49+
expect(wrapper.emitted()).toHaveProperty("update_values")
50+
expect(wrapper.emitted().update_values).toHaveLength(1)
51+
expect(wrapper.emitted().update_values[0][0]).toEqual({
52+
input_geode_object: geode_object_1,
53+
})
54+
})
55+
56+
test(`test loabable with multiple classes`, async () => {
57+
var response = {
58+
allowed_objects: {},
59+
}
60+
const geode_object_1 = "BRep"
61+
const geode_object_2 = "EdgedCurve3D"
62+
response["allowed_objects"][geode_object_1] = { is_loadable: true }
63+
response["allowed_objects"][geode_object_2] = { is_loadable: true }
64+
registerEndpoint(allowed_objects.$id, {
65+
method: allowed_objects.methods[0],
66+
handler: () => response,
67+
})
68+
const wrapper = await mountSuspended(ObjectSelector, {
69+
global: {
70+
plugins: [vuetify, pinia],
71+
},
72+
props: { filenames: ["test.toto"], supported_feature: "test" },
73+
})
74+
const v_card = wrapper.findComponent(components.VCard)
75+
const v_img = v_card.findComponent(components.VImg)
76+
expect(v_img.vm.src).toContain(`${geode_object_1}.svg`)
4977
await v_card.trigger("click")
5078
expect(wrapper.emitted()).toHaveProperty("update_values")
5179
expect(wrapper.emitted().update_values).toHaveLength(1)
5280
expect(wrapper.emitted().update_values[0][0]).toEqual({
53-
input_geode_object: geode_object,
81+
input_geode_object: geode_object_1,
5482
})
5583
})
5684
})

0 commit comments

Comments
 (0)