CSR-514 Add tests
This commit is contained in:
parent
c79f81a344
commit
e592f55a67
3 changed files with 354 additions and 3 deletions
|
|
@ -18,6 +18,7 @@ const storeMutations = {
|
|||
UPDATE_GLASS_TO_REPLACE: "updateGlassToReplace",
|
||||
UPDATE_PART_QUESTION_ANSWERS: "updatePartQuestionAnswers",
|
||||
UPDATE_GLASS_PARTS: "updateGlassParts",
|
||||
UPDATE_OTHER_PARTS: "updateOtherParts",
|
||||
|
||||
UPDATE_REGISTRATION_LICENSE_PLATE : "updateRegistrationLicensePlate",
|
||||
UPDATE_REGISTRATION_ADDRESS: "updateRegistrationAddress",
|
||||
|
|
|
|||
|
|
@ -129,6 +129,9 @@ export const mutations = {
|
|||
updateGlassParts(state, partsData) {
|
||||
state.order.lineItems.glassParts = partsData;
|
||||
},
|
||||
updateOtherParts(state, partsData) {
|
||||
state.order.lineItems.otherParts = partsData;
|
||||
},
|
||||
updatePageData(state, pageData) {
|
||||
state.applicationUser.pageData[pageData.page] = pageData.data;
|
||||
},
|
||||
|
|
@ -379,7 +382,7 @@ export const getters = {
|
|||
isCoverageVerified: state.order.payment.insuranceCoverage.isVerified,
|
||||
orderPartNumbers: [...getAllValuesOfPropertyInArrayOfObjects(state.order.lineItems.glassParts, "partNumber"), ...getAllValuesOfPropertyInArrayOfObjects(state.order.lineItems.otherParts, "partNumber")],
|
||||
orderPartTypes: [...getAllValuesOfPropertyInArrayOfObjects(state.order.lineItems.glassParts, "recalibrationType"), ...getAllValuesOfPropertyInArrayOfObjects(state.order.lineItems.otherParts, "recalibrationType")],
|
||||
hasRecalibrationPart: (state.order.lineItems.glassParts ?? []).filter(x => x.requiresRecalibration)?.length > 0,
|
||||
hasRecalibrationPart: getAllValuesOfPropertyInArrayOfObjects(state.order.lineItems.glassParts, "requiresRecalibration")?.length > 0,
|
||||
selectedMultiGlass: state.order.damage.glassToReplace?.length > 1,
|
||||
selectedWindshieldGlass: getAllValuesOfPropertyInArrayOfObjects(state.order.damage.glassToReplace, "glassLocation").includes(damageLocationsSelected.WINDSHIELD),
|
||||
selectedBackGlass: getAllValuesOfPropertyInArrayOfObjects(state.order.damage.glassToReplace, "glassLocation").includes(damageLocationsSelected.REAR),
|
||||
|
|
|
|||
|
|
@ -249,6 +249,36 @@ describe("Mutations", () => {
|
|||
expect(storeState.order.payment.insuranceCoverage.isVerified).toEqual(true);
|
||||
});
|
||||
|
||||
it("updateExperiments, should set experiments", () => {
|
||||
// Arrange
|
||||
const storeState = state;
|
||||
const mockExperimentsList = [
|
||||
{
|
||||
universeName: "XYZ",
|
||||
settings: {
|
||||
ExperimentSetting: "ExperimentValue"
|
||||
}
|
||||
}
|
||||
]
|
||||
|
||||
// Act
|
||||
mutations.updateExperiments(storeState, mockExperimentsList);
|
||||
|
||||
// Assert
|
||||
expect(storeState.applicationUser.experiments).toEqual(mockExperimentsList);
|
||||
});
|
||||
|
||||
it("updateTriggeredSiteEntry, should set triggeredSiteEntry", () => {
|
||||
// Arrange
|
||||
const storeState = state;
|
||||
|
||||
// Act
|
||||
mutations.updateTriggeredSiteEntry(storeState, true);
|
||||
|
||||
// Assert
|
||||
expect(storeState.applicationUser.triggeredSiteEntry).toEqual(true);
|
||||
});
|
||||
|
||||
});
|
||||
|
||||
describe("Actions", () => {
|
||||
|
|
@ -796,7 +826,7 @@ describe("Actions", () => {
|
|||
// Act
|
||||
const payload = {
|
||||
isCarIdDifferent: true,
|
||||
isSelectedGlassAvailableForVehicle: false,
|
||||
isSelectedupdateStateWithOrderInformationGlassAvailableForVehicle: false,
|
||||
vehicleInfo: {
|
||||
carId: 'C010101', vin: "XXXXX"
|
||||
},
|
||||
|
|
@ -1059,7 +1089,7 @@ describe("Actions", () => {
|
|||
});
|
||||
|
||||
|
||||
describe("Getters", () => {
|
||||
describe.only("Getters", () => {
|
||||
it("Vehicle getter, should return vehicle data", () => {
|
||||
// Arrange
|
||||
const storeState = state;
|
||||
|
|
@ -1153,4 +1183,321 @@ describe("Getters", () => {
|
|||
expect(getters.payment(storeState).insuranceCoverage.isVerified).toEqual(true);
|
||||
});
|
||||
|
||||
describe.only("experimentOrder", () => {
|
||||
test("glassToReplace, glassParts, and otherParts are null > return correct experimentOrder values", () => {
|
||||
// Arrange
|
||||
const storeState = state;
|
||||
const mockStateValues = {
|
||||
vehicleYear: 1000,
|
||||
vehicleMake: "CarMake",
|
||||
vehicleModel: "CarModel",
|
||||
vehicleStyle: "SuperCoolStyle",
|
||||
isRepair: true,
|
||||
numberOfChips: 9999999,
|
||||
carId: "Gibberish",
|
||||
serviceCity: "Columbus",
|
||||
serviceState: "OH-IO",
|
||||
serviceZipCode: 43215,
|
||||
parentAccountNumber: "999999",
|
||||
isCoverageVerified: true,
|
||||
glassParts: null,
|
||||
otherParts: null,
|
||||
glassToReplace: null
|
||||
}
|
||||
|
||||
//Act
|
||||
mutations.updateYear(storeState, mockStateValues.vehicleYear);
|
||||
mutations.updateMake(storeState, mockStateValues.vehicleMake);
|
||||
mutations.updateModel(storeState, mockStateValues.vehicleModel);
|
||||
mutations.updateStyle(storeState, mockStateValues.vehicleStyle);
|
||||
mutations.updateIsRepair(storeState, mockStateValues.isRepair);
|
||||
mutations.updateNumberOfChips(storeState, mockStateValues.numberOfChips);
|
||||
mutations.updateCarId(storeState, mockStateValues.carId);
|
||||
mutations.updateServiceLocation(storeState, {
|
||||
city: mockStateValues.serviceCity,
|
||||
state: mockStateValues.serviceState,
|
||||
zipCode: mockStateValues.serviceZipCode
|
||||
});
|
||||
mutations.updateParentAcctNumber(storeState, mockStateValues.parentAccountNumber);
|
||||
mutations.updateInsuranceVerifiedStatus(storeState, mockStateValues.isCoverageVerified);
|
||||
mutations.updateGlassParts(storeState, mockStateValues.glassParts);
|
||||
mutations.updateOtherParts(storeState, mockStateValues.otherParts);
|
||||
mutations.updateGlassToReplace(storeState, mockStateValues.glassToReplace);
|
||||
|
||||
//Assert
|
||||
expect(getters.experimentOrder(storeState)).toEqual({
|
||||
vehicleYear: mockStateValues.vehicleYear,
|
||||
vehicleMake: mockStateValues.vehicleMake,
|
||||
vehicleModel: mockStateValues.vehicleModel,
|
||||
vehicleStyle: mockStateValues.vehicleStyle,
|
||||
isRepair: mockStateValues.isRepair,
|
||||
numberOfChips: mockStateValues.numberOfChips,
|
||||
carId: mockStateValues.carId,
|
||||
serviceCity: mockStateValues.serviceCity,
|
||||
serviceState: mockStateValues.serviceState,
|
||||
serviceZipCode: mockStateValues.serviceZipCode,
|
||||
parentAccountNumber: mockStateValues.parentAccountNumber,
|
||||
isCoverageVerified: mockStateValues.isCoverageVerified,
|
||||
orderPartNumbers: [],
|
||||
orderPartTypes: [],
|
||||
hasRecalibrationPart: false,
|
||||
selectedMultiGlass: false,
|
||||
selectedWindshieldGlass: false,
|
||||
selectedBackGlass: false,
|
||||
selectedDriverSideGlass: false,
|
||||
selectedPassengerSideGlass: false
|
||||
});
|
||||
});
|
||||
|
||||
test("glassToReplace, glassParts, and otherParts are empty > return correct experimentOrder values", () => {
|
||||
// Arrange
|
||||
const storeState = state;
|
||||
const mockStateValues = {
|
||||
vehicleYear: 1000,
|
||||
vehicleMake: "CarMake",
|
||||
vehicleModel: "CarModel",
|
||||
vehicleStyle: "SuperCoolStyle",
|
||||
isRepair: true,
|
||||
numberOfChips: 9999999,
|
||||
carId: "Gibberish",
|
||||
serviceCity: "Columbus",
|
||||
serviceState: "OH-IO",
|
||||
serviceZipCode: 43215,
|
||||
parentAccountNumber: "999999",
|
||||
isCoverageVerified: true,
|
||||
glassParts: [],
|
||||
otherParts: [],
|
||||
glassToReplace: []
|
||||
}
|
||||
|
||||
//Act
|
||||
mutations.updateYear(storeState, mockStateValues.vehicleYear);
|
||||
mutations.updateMake(storeState, mockStateValues.vehicleMake);
|
||||
mutations.updateModel(storeState, mockStateValues.vehicleModel);
|
||||
mutations.updateStyle(storeState, mockStateValues.vehicleStyle);
|
||||
mutations.updateIsRepair(storeState, mockStateValues.isRepair);
|
||||
mutations.updateNumberOfChips(storeState, mockStateValues.numberOfChips);
|
||||
mutations.updateCarId(storeState, mockStateValues.carId);
|
||||
mutations.updateServiceLocation(storeState, {
|
||||
city: mockStateValues.serviceCity,
|
||||
state: mockStateValues.serviceState,
|
||||
zipCode: mockStateValues.serviceZipCode
|
||||
});
|
||||
mutations.updateParentAcctNumber(storeState, mockStateValues.parentAccountNumber);
|
||||
mutations.updateInsuranceVerifiedStatus(storeState, mockStateValues.isCoverageVerified);
|
||||
mutations.updateGlassParts(storeState, mockStateValues.glassParts);
|
||||
mutations.updateOtherParts(storeState, mockStateValues.otherParts);
|
||||
mutations.updateGlassToReplace(storeState, mockStateValues.glassToReplace);
|
||||
|
||||
//Assert
|
||||
expect(getters.experimentOrder(storeState)).toEqual({
|
||||
vehicleYear: mockStateValues.vehicleYear,
|
||||
vehicleMake: mockStateValues.vehicleMake,
|
||||
vehicleModel: mockStateValues.vehicleModel,
|
||||
vehicleStyle: mockStateValues.vehicleStyle,
|
||||
isRepair: mockStateValues.isRepair,
|
||||
numberOfChips: mockStateValues.numberOfChips,
|
||||
carId: mockStateValues.carId,
|
||||
serviceCity: mockStateValues.serviceCity,
|
||||
serviceState: mockStateValues.serviceState,
|
||||
serviceZipCode: mockStateValues.serviceZipCode,
|
||||
parentAccountNumber: mockStateValues.parentAccountNumber,
|
||||
isCoverageVerified: mockStateValues.isCoverageVerified,
|
||||
orderPartNumbers: [],
|
||||
orderPartTypes: [],
|
||||
hasRecalibrationPart: false,
|
||||
selectedMultiGlass: false,
|
||||
selectedWindshieldGlass: false,
|
||||
selectedBackGlass: false,
|
||||
selectedDriverSideGlass: false,
|
||||
selectedPassengerSideGlass: false
|
||||
});
|
||||
});
|
||||
|
||||
test("Single windshield requiring recalibration is selected > return correct experimentOrder values", () => {
|
||||
// Arrange
|
||||
const storeState = state;
|
||||
const mockStateValues = {
|
||||
vehicleYear: 1000,
|
||||
vehicleMake: "CarMake",
|
||||
vehicleModel: "CarModel",
|
||||
vehicleStyle: "SuperCoolStyle",
|
||||
isRepair: false,
|
||||
numberOfChips: 0,
|
||||
carId: "Gibberish",
|
||||
serviceCity: "Columbus",
|
||||
serviceState: "OH-IO",
|
||||
serviceZipCode: 43215,
|
||||
parentAccountNumber: "999999",
|
||||
isCoverageVerified: false,
|
||||
glassParts: [
|
||||
{
|
||||
partNumber: "WINDSHIELDPARTNUMBER",
|
||||
description: "This is a windshield",
|
||||
recalibrationType: "ADAS, maybe",
|
||||
requiresRecalibration: true,
|
||||
requiresCapabilityQuestions: false
|
||||
}
|
||||
],
|
||||
otherParts: [
|
||||
|
||||
],
|
||||
glassToReplace: [
|
||||
{
|
||||
glassLocation: "Windshield",
|
||||
glassName: "Single"
|
||||
}
|
||||
]
|
||||
}
|
||||
|
||||
//Act
|
||||
mutations.updateYear(storeState, mockStateValues.vehicleYear);
|
||||
mutations.updateMake(storeState, mockStateValues.vehicleMake);
|
||||
mutations.updateModel(storeState, mockStateValues.vehicleModel);
|
||||
mutations.updateStyle(storeState, mockStateValues.vehicleStyle);
|
||||
mutations.updateIsRepair(storeState, mockStateValues.isRepair);
|
||||
mutations.updateNumberOfChips(storeState, mockStateValues.numberOfChips);
|
||||
mutations.updateCarId(storeState, mockStateValues.carId);
|
||||
mutations.updateServiceLocation(storeState, {
|
||||
city: mockStateValues.serviceCity,
|
||||
state: mockStateValues.serviceState,
|
||||
zipCode: mockStateValues.serviceZipCode
|
||||
});
|
||||
mutations.updateParentAcctNumber(storeState, mockStateValues.parentAccountNumber);
|
||||
mutations.updateInsuranceVerifiedStatus(storeState, mockStateValues.isCoverageVerified);
|
||||
mutations.updateGlassParts(storeState, mockStateValues.glassParts);
|
||||
mutations.updateOtherParts(storeState, mockStateValues.otherParts);
|
||||
mutations.updateGlassToReplace(storeState, mockStateValues.glassToReplace);
|
||||
|
||||
//Assert
|
||||
expect(getters.experimentOrder(storeState)).toEqual({
|
||||
vehicleYear: mockStateValues.vehicleYear,
|
||||
vehicleMake: mockStateValues.vehicleMake,
|
||||
vehicleModel: mockStateValues.vehicleModel,
|
||||
vehicleStyle: mockStateValues.vehicleStyle,
|
||||
isRepair: mockStateValues.isRepair,
|
||||
numberOfChips: mockStateValues.numberOfChips,
|
||||
carId: mockStateValues.carId,
|
||||
serviceCity: mockStateValues.serviceCity,
|
||||
serviceState: mockStateValues.serviceState,
|
||||
serviceZipCode: mockStateValues.serviceZipCode,
|
||||
parentAccountNumber: mockStateValues.parentAccountNumber,
|
||||
isCoverageVerified: mockStateValues.isCoverageVerified,
|
||||
orderPartNumbers: ["WINDSHIELDPARTNUMBER"],
|
||||
orderPartTypes: ["ADAS, maybe"],
|
||||
hasRecalibrationPart: true,
|
||||
selectedMultiGlass: false,
|
||||
selectedWindshieldGlass: true,
|
||||
selectedBackGlass: false,
|
||||
selectedDriverSideGlass: false,
|
||||
selectedPassengerSideGlass: false
|
||||
});
|
||||
});
|
||||
|
||||
test("Select multiglass > return correct experimentOrder values", () => {
|
||||
// Arrange
|
||||
const storeState = state;
|
||||
const mockStateValues = {
|
||||
vehicleYear: 1000,
|
||||
vehicleMake: "CarMake",
|
||||
vehicleModel: "CarModel",
|
||||
vehicleStyle: "SuperCoolStyle",
|
||||
isRepair: false,
|
||||
numberOfChips: 0,
|
||||
carId: "Gibberish",
|
||||
serviceCity: "Columbus",
|
||||
serviceState: "OH-IO",
|
||||
serviceZipCode: 43215,
|
||||
parentAccountNumber: "999999",
|
||||
isCoverageVerified: false,
|
||||
glassParts: [
|
||||
{
|
||||
partNumber: "BACKGLASS_PN",
|
||||
description: "This is a back glass",
|
||||
recalibrationType: null,
|
||||
requiresRecalibration: false,
|
||||
requiresCapabilityQuestions: false
|
||||
},
|
||||
{
|
||||
partNumber: "DRIVERGLASS_PN",
|
||||
description: "This is a driver side glass",
|
||||
recalibrationType: null,
|
||||
requiresRecalibration: false,
|
||||
requiresCapabilityQuestions: false
|
||||
},
|
||||
{
|
||||
partNumber: "PASSENGERGLASS_PN",
|
||||
description: "This is a passenger side glass",
|
||||
recalibrationType: null,
|
||||
requiresRecalibration: false,
|
||||
requiresCapabilityQuestions: false
|
||||
}
|
||||
],
|
||||
otherParts: [
|
||||
|
||||
],
|
||||
glassToReplace: [
|
||||
{
|
||||
glassLocation: "Rear",
|
||||
glassName: "Stationary"
|
||||
},
|
||||
{
|
||||
glassLocation: "Driver",
|
||||
glassName: "Front"
|
||||
},
|
||||
{
|
||||
glassLocation: "Passenger",
|
||||
glassName: "Front"
|
||||
},
|
||||
{
|
||||
glassLocation: "Passenger",
|
||||
glassName: "Quarter"
|
||||
}
|
||||
]
|
||||
}
|
||||
|
||||
//Act
|
||||
mutations.updateYear(storeState, mockStateValues.vehicleYear);
|
||||
mutations.updateMake(storeState, mockStateValues.vehicleMake);
|
||||
mutations.updateModel(storeState, mockStateValues.vehicleModel);
|
||||
mutations.updateStyle(storeState, mockStateValues.vehicleStyle);
|
||||
mutations.updateIsRepair(storeState, mockStateValues.isRepair);
|
||||
mutations.updateNumberOfChips(storeState, mockStateValues.numberOfChips);
|
||||
mutations.updateCarId(storeState, mockStateValues.carId);
|
||||
mutations.updateServiceLocation(storeState, {
|
||||
city: mockStateValues.serviceCity,
|
||||
state: mockStateValues.serviceState,
|
||||
zipCode: mockStateValues.serviceZipCode
|
||||
});
|
||||
mutations.updateParentAcctNumber(storeState, mockStateValues.parentAccountNumber);
|
||||
mutations.updateInsuranceVerifiedStatus(storeState, mockStateValues.isCoverageVerified);
|
||||
mutations.updateGlassParts(storeState, mockStateValues.glassParts);
|
||||
mutations.updateOtherParts(storeState, mockStateValues.otherParts);
|
||||
mutations.updateGlassToReplace(storeState, mockStateValues.glassToReplace);
|
||||
|
||||
//Assert
|
||||
expect(getters.experimentOrder(storeState)).toEqual({
|
||||
vehicleYear: mockStateValues.vehicleYear,
|
||||
vehicleMake: mockStateValues.vehicleMake,
|
||||
vehicleModel: mockStateValues.vehicleModel,
|
||||
vehicleStyle: mockStateValues.vehicleStyle,
|
||||
isRepair: mockStateValues.isRepair,
|
||||
numberOfChips: mockStateValues.numberOfChips,
|
||||
carId: mockStateValues.carId,
|
||||
serviceCity: mockStateValues.serviceCity,
|
||||
serviceState: mockStateValues.serviceState,
|
||||
serviceZipCode: mockStateValues.serviceZipCode,
|
||||
parentAccountNumber: mockStateValues.parentAccountNumber,
|
||||
isCoverageVerified: mockStateValues.isCoverageVerified,
|
||||
orderPartNumbers: ["BACKGLASS_PN", "DRIVERGLASS_PN", "PASSENGERGLASS_PN"],
|
||||
orderPartTypes: [],
|
||||
hasRecalibrationPart: false,
|
||||
selectedMultiGlass: true,
|
||||
selectedWindshieldGlass: false,
|
||||
selectedBackGlass: true,
|
||||
selectedDriverSideGlass: true,
|
||||
selectedPassengerSideGlass: true
|
||||
});
|
||||
});
|
||||
})
|
||||
});
|
||||
Loading…
Reference in a new issue