Skip to content

Commit 972012d

Browse files
Merge pull request #134 from Geode-solutions/fix/feedback_creators
fix(feedbacks): different function creators for errors & success
2 parents 43891f9 + 0beb707 commit 972012d

File tree

6 files changed

+56
-67
lines changed

6 files changed

+56
-67
lines changed

composables/api_fetch.js

Lines changed: 13 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -12,13 +12,7 @@ export function api_fetch(
1212
const { valid, error } = validate_schema(schema, body)
1313

1414
if (!valid) {
15-
feedback_store.add_feedback({
16-
type: "error",
17-
code: 400,
18-
route: schema.$id,
19-
name: "Bad request",
20-
description: error,
21-
})
15+
feedback_store.add_error(400, schema.$id, "Bad request", error)
2216
throw new Error(schema.$id.concat(": ", error))
2317
}
2418

@@ -40,13 +34,12 @@ export function api_fetch(
4034
...request_options,
4135
onRequestError({ error }) {
4236
geode_store.stop_request()
43-
feedback_store.add_feedback({
44-
type: "error",
45-
code: error.code,
46-
route: schema.$id,
47-
name: error.message,
48-
description: error.stack,
49-
})
37+
feedback_store.add_error(
38+
error.code,
39+
schema.$id,
40+
error.message,
41+
error.stack,
42+
)
5043
if (request_error_function) {
5144
request_error_function(error)
5245
}
@@ -61,13 +54,12 @@ export function api_fetch(
6154
},
6255
onResponseError({ response }) {
6356
geode_store.stop_request()
64-
feedback_store.add_feedback({
65-
type: "error",
66-
code: response.status,
67-
route: schema.$id,
68-
name: response._data.name,
69-
description: response._data.description,
70-
})
57+
feedback_store.add_error(
58+
response.status,
59+
schema.$id,
60+
response._data.name,
61+
response._data.description,
62+
)
7163
if (response_error_function) {
7264
response_error_function(response)
7365
}

composables/upload_file.js

Lines changed: 7 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -22,13 +22,7 @@ export async function upload_file(
2222
...request_options,
2323
onRequestError({ error }) {
2424
geode_store.stop_request()
25-
feedback_store.add_feedback({
26-
type: "error",
27-
code: error.code,
28-
route: route,
29-
name: error.message,
30-
description: error.stack,
31-
})
25+
feedback_store.add_error(error.code, route, error.message, error.stack)
3226
if (request_error_function) {
3327
request_error_function(error)
3428
}
@@ -43,13 +37,12 @@ export async function upload_file(
4337
},
4438
onResponseError({ response }) {
4539
geode_store.stop_request()
46-
feedback_store.add_feedback({
47-
type: "error",
48-
code: response.status,
49-
route: route,
50-
name: response._data.name,
51-
description: response._data.description,
52-
})
40+
feedback_store.add_error(
41+
response.status,
42+
route,
43+
response._data.name,
44+
response._data.description,
45+
)
5346
if (response_error_function) {
5447
response_error_function(response)
5548
}

composables/viewer_call.js

Lines changed: 7 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -8,13 +8,7 @@ export function viewer_call(
88
const { valid, error } = validate_schema(schema, params)
99

1010
if (!valid) {
11-
feedback_store.add_feedback({
12-
type: "error",
13-
code: 400,
14-
route: schema.route,
15-
name: "Bad request",
16-
description: error,
17-
})
11+
feedback_store.add_error(400, schema.route, "Bad request", error)
1812
throw new Error(schema.route.concat(": ", error))
1913
}
2014

@@ -42,13 +36,12 @@ export function viewer_call(
4236
},
4337
)
4438
.catch((error) => {
45-
feedback_store.add_feedback({
46-
type: "error",
47-
code: error.code,
48-
route: schema.route,
49-
name: error.message,
50-
description: error.message,
51-
})
39+
feedback_store.add_error(
40+
error.code,
41+
schema.route,
42+
error.message,
43+
error.message,
44+
)
5245
if (response_error_function) {
5346
response_error_function(error)
5447
}

stores/feedback.js

Lines changed: 14 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,8 +4,20 @@ export const use_feedback_store = defineStore("feedback", {
44
server_error: false,
55
}),
66
actions: {
7-
add_feedback(feedback) {
8-
this.feedbacks.push(feedback)
7+
add_error(code, route, name, description) {
8+
this.feedbacks.push({
9+
type: "error",
10+
code,
11+
route,
12+
name,
13+
description,
14+
})
15+
},
16+
add_success(description) {
17+
this.feedbacks.push({
18+
type: "success",
19+
description,
20+
})
921
},
1022
delete_feedback(feedback_index) {
1123
this.feedbacks.splice(feedback_index, 1)

test/components/FeedBack/Snackers.nuxt.test.js

Lines changed: 6 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -33,14 +33,12 @@ describe("FeedBackSnackers.vue", async () => {
3333
console.log("wrapper", wrapper)
3434

3535
const feedback_store = use_feedback_store()
36-
const error = {
37-
type: "error",
38-
code: 404,
39-
route: "/test",
40-
name: "Test message",
41-
description: "Test desription",
42-
}
43-
await feedback_store.add_feedback(error)
36+
await feedback_store.add_error(
37+
404,
38+
"/test",
39+
"Test message",
40+
"Test desription",
41+
)
4442
expect(feedback_store.feedbacks.length).toBe(1)
4543
const v_btn = await wrapper.findComponent(components.VBtn)
4644
console.log("v_btn", v_btn)

test/stores/Feedback.test.js

Lines changed: 9 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -7,16 +7,17 @@ describe("Feedback store", () => {
77
setActivePinia(createPinia())
88
})
99

10-
it("add_feedback", () => {
10+
it("add_error", () => {
1111
const feedback_store = use_feedback_store()
1212
expect(feedback_store.feedbacks.length).toBe(0)
13-
feedback_store.add_feedback({
14-
type: "error",
15-
code: 500,
16-
route: "/test",
17-
name: "test message",
18-
description: "test description",
19-
})
13+
feedback_store.add_error(500, "/test", "test message", "test description")
14+
expect(feedback_store.feedbacks.length).toBe(1)
15+
})
16+
17+
it("add_success", () => {
18+
const feedback_store = use_feedback_store()
19+
expect(feedback_store.feedbacks.length).toBe(0)
20+
feedback_store.add_success(500, "/test", "test message", "test description")
2021
expect(feedback_store.feedbacks.length).toBe(1)
2122
})
2223

0 commit comments

Comments
 (0)