diff --git a/src/constants/endpoints.js b/src/constants/endpoints.js index 19400bc2..36d21a69 100644 --- a/src/constants/endpoints.js +++ b/src/constants/endpoints.js @@ -43,6 +43,10 @@ const endpoints = { url: "/parts/api/v1/parts/capability-questions", method: "GET", }, + GetPartFromCapabilityAnswer: { + url: "/parts/api/v1/parts/part-from-capability-answer", + method: "POST", +}, GetVehicle: { url: "/vehicle/api/v1/vehicle/lookup", method: "GET", diff --git a/src/layouts/capability-questions/capability-questions.spec.js b/src/layouts/capability-questions/capability-questions.spec.js index 0e488e9e..5447597f 100644 --- a/src/layouts/capability-questions/capability-questions.spec.js +++ b/src/layouts/capability-questions/capability-questions.spec.js @@ -259,7 +259,7 @@ describe("capabilityQuestions.vue", () => { expect(wrapper.vm.saveCapabilityQuestionAnswers).toHaveBeenCalled; wrapper.unmount(); }); - test("Should call GET_PARTS_OR_QUESTIONS API", async () => { + test("Should call GET_PART_FROM_CAPABILITY_QUESTION_ANSWER API", async () => { // Arrange const { wrapper } = setupMocks({}); @@ -279,13 +279,12 @@ describe("capabilityQuestions.vue", () => { ], }, ]; - useMainStore().getPartsOrQuestions = jest.fn(() => { + wrapper.vm.dispatchStoreAction = jest.fn(() => { return { - data: { - partsOrQuestions: [], - }, + data: [], }; }); + // Act wrapper.vm.forwardButtonAction(); @@ -293,7 +292,7 @@ describe("capabilityQuestions.vue", () => { await nextTick(); //Assert - expect(wrapper.vm.getPartsOrQuestions).toHaveBeenCalled; + expect(wrapper.vm.getPartFromCapabilityQuestionAnswer).toHaveBeenCalled; wrapper.unmount(); }); diff --git a/src/store/index.js b/src/store/index.js index 65f26992..19aff5c1 100644 --- a/src/store/index.js +++ b/src/store/index.js @@ -395,6 +395,25 @@ export const useMainStore = defineStore({ }); }, + getPartFromCapabilityQuestionAnswer(glassLocation) { + const pageData =this.pageData(issPageValues.CAPABILITY_QUESTIONS); + + const part = pageData.partsOrQuestions.find((x) => x.glassLocation === glassLocation) + .parts[0]; + const capabilityQuestionAnswers = this.order.damage.capabilityQuestionAnswers; + const capabilityQuestionAnswersForPart = capabilityQuestionAnswers.find( + (x) => x.glassLocation === glassLocation + ); + + return globalMethods.callHttpClient({ + method: endpoints.GetPartFromCapabilityAnswer.method, + endpoint: endpoints.GetPartFromCapabilityAnswer.url, + payload: { + part, + capabilityAnswerResults: capabilityQuestionAnswersForPart, + }, + }); + }, lookupVehicleByVin(vin) { return globalMethods.callHttpClient({ method: endpoints.LookupVehicleByVin.method,