Merge branch 'develop' into feature/SSR-129

This commit is contained in:
Kulbhushan Kaushik 2022-11-28 13:00:16 -05:00
commit 8a04f2e2ae
2 changed files with 55 additions and 43 deletions

View file

@ -9,6 +9,7 @@ const featureListData = {
ColorAnswerText: "Green Tint", ColorAnswerText: "Green Tint",
FeatureAnswers: [ FeatureAnswers: [
{ FeatureAnswerText: "heated glass, solar, 1 hole", PartNumber: "DB12209GTYN" }, { FeatureAnswerText: "heated glass, solar, 1 hole", PartNumber: "DB12209GTYN" },
], ],
}, },
{ {
@ -72,7 +73,6 @@ describe("glass-part-question.vue", () => {
test("Should emit updateModelValue, and have correct attributes", async () => { test("Should emit updateModelValue, and have correct attributes", async () => {
//Arrange //Arrange
featureListData.pageData = { featureListData.pageData = {
partsOrQuestions: [ partsOrQuestions: [
{ {
@ -90,7 +90,6 @@ describe("glass-part-question.vue", () => {
const listCard = await wrapper.findComponent({ const listCard = await wrapper.findComponent({
name: "buttonQuestion", name: "buttonQuestion",
}); });
console.log(listCard)
await wrapper.setData({ selectedTint: "Green Tint" }); await wrapper.setData({ selectedTint: "Green Tint" });
// to trigger the computed setter // to trigger the computed setter
wrapper.vm.selectedPartNumber = "DB12209GTYN"; wrapper.vm.selectedPartNumber = "DB12209GTYN";
@ -102,17 +101,29 @@ describe("glass-part-question.vue", () => {
expect(listCard.attributes("groupname")).toBe("Rear-Stationary"); expect(listCard.attributes("groupname")).toBe("Rear-Stationary");
expect(listCard.attributes("validationrules")).toBe("Rear-Stationary-tint-required"); expect(listCard.attributes("validationrules")).toBe("Rear-Stationary-tint-required");
}); });
/*
test("ResetTintAndPartSelections, should reset data elements ", async () => { test("ResetTintAndPartSelections, should reset data elements ", async () => {
//Arrange //Arrange
featureListData.pageData = {
partsOrQuestions: [
{
glassName: "Stationary",
glassLocation: "Rear",
parts: [{ partNumber: "DB12209GTYN", color: "Green Tint" },
{ partNumber: "DB12209GTYN2", color: "Green Tint" }
],
},
],
};
const { wrapper } = setupMocks(featureListData); const { wrapper } = setupMocks(featureListData);
//Act //Act
await wrapper.vm.$nextTick(); await wrapper.vm.$nextTick();
await wrapper.setData({ selectedTint: "Green Tint", selectedPartNumber: "test" }); await wrapper.setData({ selectedTint: "Green Tint", selectedPartNumber: "DB12209GTYN" });
expect(wrapper.vm.selectedTint).toEqual("Green Tint"); expect(wrapper.vm.selectedTint).toEqual("Green Tint");
expect(wrapper.vm.selectedPartNumber).toEqual("test"); expect(wrapper.vm.selectedPartNumber).toEqual("DB12209GTYN");
await wrapper.vm.ResetTintAndPartSelections(); await wrapper.vm.ResetTintAndPartSelections();
@ -122,8 +133,7 @@ describe("glass-part-question.vue", () => {
test("default is selected if only one option", async () => { test("default is selected if only one option", async () => {
// Arrange // Arrange
store.getters.pageData.mockReset(); featureListData.pageData = {
store.getters.pageData.mockReturnValueOnce({
partsOrQuestions: [ partsOrQuestions: [
{ {
glassName: "Stationary", glassName: "Stationary",
@ -131,7 +141,7 @@ describe("glass-part-question.vue", () => {
parts: [{ partNumber: "DB12209GTYN", color: "Green Tint" }], parts: [{ partNumber: "DB12209GTYN", color: "Green Tint" }],
}, },
], ],
}); };
const { wrapper } = setupMocks(featureListData); const { wrapper } = setupMocks(featureListData);
// Act // Act
@ -148,8 +158,7 @@ describe("glass-part-question.vue", () => {
test("default is not selected if more than one option", async () => { test("default is not selected if more than one option", async () => {
// Arrange // Arrange
store.getters.pageData.mockReset(); featureListData.pageData = {
store.getters.pageData.mockReturnValueOnce({
partsOrQuestions: [ partsOrQuestions: [
{ {
glassName: "Stationary", glassName: "Stationary",
@ -160,7 +169,7 @@ describe("glass-part-question.vue", () => {
], ],
}, },
], ],
}); };
const { wrapper } = setupMocks(featureListData); const { wrapper } = setupMocks(featureListData);
// Act // Act
@ -213,35 +222,36 @@ describe("glass-part-question.vue", () => {
async (glassLocation, glassName, selectedTint, expectedResults) => { async (glassLocation, glassName, selectedTint, expectedResults) => {
// Arrange // Arrange
useMainStore().applicationUser.pageData = {
partsOrQuestions: [ const pageData = { partsOrQuestions: [
{ {
glassName: "Stationary", glassName: "Stationary",
glassLocation: "Rear", glassLocation: "Rear",
parts: [ parts: [
{ partNumber: "Glass1", color: "Green Tint" }, { partNumber: "Glass1", color: "Green Tint" },
{ partNumber: "Glass2", color: "Blue Tint" }, { partNumber: "Glass2", color: "Blue Tint" },
{ partNumber: "Glass3", color: "Green Tint" }, { partNumber: "Glass3", color: "Green Tint" },
{ partNumber: "Glass4", color: "Green Tint" }, { partNumber: "Glass4", color: "Green Tint" },
{ partNumber: "Glass5", color: "Blue Tint" }, { partNumber: "Glass5", color: "Blue Tint" },
{ partNumber: "Glass6", color: "Green Tint" }, { partNumber: "Glass6", color: "Green Tint" },
{ partNumber: "Glass7", color: "Red Tint" }, { partNumber: "Glass7", color: "Red Tint" },
], ],
}, },
{ {
glassName: "Single", glassName: "Single",
glassLocation: "Windshield", glassLocation: "Windshield",
parts: [ parts: [
{ partNumber: "Windshield1", color: "Green Tint" }, { partNumber: "Windshield1", color: "Green Tint" },
{ partNumber: "Windshield2", color: "Green Tint" }, { partNumber: "Windshield2", color: "Green Tint" },
], ],
}, },
], ]}
};
const { wrapper } = setupMocks({ const { wrapper } = setupMocks({
glassLocationProp: glassLocation, glassLocationProp: glassLocation,
glassNameProp: glassName, glassNameProp: glassName,
colorAnswersProp: [], colorAnswersProp: [],
pageData
}); });
// Act // Act
@ -251,15 +261,11 @@ describe("glass-part-question.vue", () => {
expect(expectedResults).toEqual(wrapper.vm.partsForSelectedTint); expect(expectedResults).toEqual(wrapper.vm.partsForSelectedTint);
} }
); );
*/
}); });
function setupMocks({ glassNameProp, glassLocationProp, colorAnswersProp, modelValueProp, pageData }) { function setupMocks({ glassNameProp, glassLocationProp, colorAnswersProp, modelValueProp, pageData }) {
//Mock store
const store = useMainStore();
store.applicationUser.pageData = pageData ?? {
partsOrQuestions: [{ glassName: "Stationary", glassLocation: "Rear", parts: [] }],
};
const mountOptions = getMountOptions({ const mountOptions = getMountOptions({
route: { route: {
@ -274,9 +280,15 @@ function setupMocks({ glassNameProp, glassLocationProp, colorAnswersProp, modelV
glassLocation: glassLocationProp, glassLocation: glassLocationProp,
colorAnswers: colorAnswersProp, colorAnswers: colorAnswersProp,
modelValue: modelValueProp, modelValue: modelValueProp,
}; };
const wrapper = shallowMount(glassPartQuestion, mountOptions); const wrapper = shallowMount(glassPartQuestion, mountOptions);
//Mock store
const partsOrQuestions = pageData ?? { partsOrQuestions: [{ glassName: "Stationary", glassLocation: "Rear", parts: [] }] };
useMainStore().pageData = jest.fn();
useMainStore().pageData.mockReturnValueOnce(partsOrQuestions);
return { wrapper }; return { wrapper };
} }

View file

@ -158,7 +158,7 @@ export default {
}, },
PartDataFromApi() { PartDataFromApi() {
return this.mainStore.applicationUser.pageData[this.$route.query.iisPage] ?? {}; return this.mainStore.pageData(this.$route.query.iisPage) ?? {};
}, },
}, },
methods: { methods: {