diff --git a/src/store/index.js b/src/store/index.js index 2d35422a6..a0c64fcfc 100644 --- a/src/store/index.js +++ b/src/store/index.js @@ -16,11 +16,11 @@ export const state = { style: null, carId: null, category: null, - damage: { - isRepair: null, - numberOfChips: null, - glassToReplace: null, - }, + }, + damage: { + isRepair: null, + numberOfChips: null, + glassToReplace: null, }, }, applicationUser: { @@ -78,12 +78,12 @@ export const mutations = { state.order.vehicle.category = null; }, resetDamageAndDependencies(state) { - state.order.vehicle.damage.isRepair = null; - state.order.vehicle.damage.numberOfChips = null; - state.order.vehicle.damage.windshieldGlassToReplace = null; - state.order.vehicle.damage.driverSideGlassToReplace = null; - state.order.vehicle.damage.passengerSideGlassToReplace = null; - state.order.vehicle.damage.rearGlassToReplace = null; + state.order.damage.isRepair = null; + state.order.damage.numberOfChips = null; + state.order.damage.windshieldGlassToReplace = null; + state.order.damage.driverSideGlassToReplace = null; + state.order.damage.passengerSideGlassToReplace = null; + state.order.damage.rearGlassToReplace = null; }, resetRegistrationAndDependencies(state) { diff --git a/src/store/store.spec.js b/src/store/store.spec.js index 28c727ab9..f33595e58 100644 --- a/src/store/store.spec.js +++ b/src/store/store.spec.js @@ -1,10 +1,11 @@ import globalMethods from "@/global-methods"; -import { mutations, state, actions } from "@/store"; +import { mutations, state, actions, getters } from "@/store"; import { storeMutations } from "@/constants/store-mutations"; // Mock global method globalMethods.callHttpClient = jest.fn(); + describe("Mutations", () => { it("Updates vehicle year in state", () => { @@ -135,7 +136,7 @@ describe("Mutations", () => { // Arrange const storeState = state; - storeState.order.vehicle.damage = { + storeState.order.damage = { isRepair: true, numberOfChips: 2, windshieldGlassToReplace: "Front", @@ -145,23 +146,23 @@ describe("Mutations", () => { } // Expect - expect(storeState.order.vehicle.damage.isRepair).toEqual(true); - expect(storeState.order.vehicle.damage.numberOfChips).toEqual(2); - expect(storeState.order.vehicle.damage.windshieldGlassToReplace).toEqual("Front"); - expect(storeState.order.vehicle.damage.driverSideGlassToReplace).toEqual("Rear"); - expect(storeState.order.vehicle.damage.passengerSideGlassToReplace).toEqual("Rear"); - expect(storeState.order.vehicle.damage.rearGlassToReplace).toEqual("Slider"); + expect(storeState.order.damage.isRepair).toEqual(true); + expect(storeState.order.damage.numberOfChips).toEqual(2); + expect(storeState.order.damage.windshieldGlassToReplace).toEqual("Front"); + expect(storeState.order.damage.driverSideGlassToReplace).toEqual("Rear"); + expect(storeState.order.damage.passengerSideGlassToReplace).toEqual("Rear"); + expect(storeState.order.damage.rearGlassToReplace).toEqual("Slider"); // Act mutations.resetDamageAndDependencies(storeState); // Expect - expect(storeState.order.vehicle.damage.isRepair).toEqual(null); - expect(storeState.order.vehicle.damage.numberOfChips).toEqual(null); - expect(storeState.order.vehicle.damage.windshieldGlassToReplace).toEqual(null); - expect(storeState.order.vehicle.damage.driverSideGlassToReplace).toEqual(null); - expect(storeState.order.vehicle.damage.passengerSideGlassToReplace).toEqual(null); - expect(storeState.order.vehicle.damage.rearGlassToReplace).toEqual(null); + expect(storeState.order.damage.isRepair).toEqual(null); + expect(storeState.order.damage.numberOfChips).toEqual(null); + expect(storeState.order.damage.windshieldGlassToReplace).toEqual(null); + expect(storeState.order.damage.driverSideGlassToReplace).toEqual(null); + expect(storeState.order.damage.passengerSideGlassToReplace).toEqual(null); + expect(storeState.order.damage.rearGlassToReplace).toEqual(null); }); @@ -417,18 +418,66 @@ describe("Actions", () => { }); it("getEvoxImage action, returns image url", async () => { - // Arrange - const context = state; + // Arrange + const context = state; - globalMethods.callHttpClient.mockImplementation(() => { - return Promise.resolve({ data: { imageUrl: "https://test.com" } }); - }); + globalMethods.callHttpClient.mockImplementation(() => { + return Promise.resolve({ data: { imageUrl: "https://test.com" } }); + }); - // Act - const response = await actions.getEvoxImage(context, { relativeUrl: "https://relativeurl.com" } ); + // Act + const response = await actions.getEvoxImage(context, { relativeUrl: "https://relativeurl.com" }); - expect(response.data).toEqual({ imageUrl: "https://test.com" }); + expect(response.data).toEqual({ imageUrl: "https://test.com" }); + }); + +}); + +describe("Getters", () => { + it("Vehicle getter, should return vehicle data", () => { + // Arrange + const storeState = state; + + // Act + mutations.updateYear(storeState, "2019"); + mutations.updateMake(storeState, "Acura"); + mutations.updateModel(storeState, "ILX"); + + // Assert + expect(getters.vehicle(storeState).year).toEqual("2019"); + expect(getters.vehicle(storeState).make).toEqual("Acura"); + expect(getters.vehicle(storeState).model).toEqual("ILX"); + + }); + + it("Get event bus item by event category and eventSubCategory", () => { + // Arrange + const storeState = state; + const event = { category: "CategoryOne", subCategory: "SubCategoryOne", eventValue: "EventValueOne" }; + + // Act + mutations.addEventToBus(storeState, event); + + // Assert + //expect(storeState.applicationUser.eventBus).toEqual([event]); + expect(getters.eventBusItem(storeState)(event.category, event.subCategory)).toEqual(event.eventValue); + + }); + + it("Get event bus", () => { + // Arrange + const storeState = state; + storeState.applicationUser.eventBus = []; + + const event = { category: "CategoryOne", subCategory: "SubCategoryOne", eventValue: "EventValueOne" }; + + // Act + mutations.addEventToBus(storeState, event); + + // Assert + expect(getters.eventBus(storeState)).toEqual([event]); + }); }); \ No newline at end of file