Merge branch 'develop' into feature/SSR-129
This commit is contained in:
commit
8a04f2e2ae
2 changed files with 55 additions and 43 deletions
|
|
@ -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 };
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -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: {
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue