Skip to content

Commit fa165af

Browse files
fix(feedbacks): different function creators for errors & success
1 parent 43891f9 commit fa165af

File tree

6 files changed

+57
-67
lines changed

6 files changed

+57
-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: 12 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -22,13 +22,12 @@ 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(
26+
error.code,
27+
route,
28+
error.message,
29+
error.stack
30+
)
3231
if (request_error_function) {
3332
request_error_function(error)
3433
}
@@ -43,13 +42,12 @@ export async function upload_file(
4342
},
4443
onResponseError({ response }) {
4544
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-
})
45+
feedback_store.add_error(
46+
response.status,
47+
route,
48+
response._data.name,
49+
response._data.description,
50+
)
5351
if (response_error_function) {
5452
response_error_function(response)
5553
}

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: 15 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,8 +4,21 @@ 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+
17+
add_success( description) {
18+
this.feedbacks.push({
19+
type: "success",
20+
description,
21+
})
922
},
1023
delete_feedback(feedback_index) {
1124
this.feedbacks.splice(feedback_index, 1)

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

Lines changed: 1 addition & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -33,14 +33,7 @@ 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(404, "/test", "Test message", "Test desription")
4437
expect(feedback_store.feedbacks.length).toBe(1)
4538
const v_btn = await wrapper.findComponent(components.VBtn)
4639
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)