diff --git a/jest.config.js b/jest.config.js index 40025f122..aaf2d9ff8 100644 --- a/jest.config.js +++ b/jest.config.js @@ -26,7 +26,7 @@ module.exports = { testMatch: ["**/*.spec.(js|jsx|ts|tsx)|**/__tests__/*.(js|jsx|ts|tsx)"], coverageThreshold: { global: { - statements: 76, + statements: 75, // Got the go ahead from Mark to temporarily lower this. Taking out initialize component made the year,make,model and style coverage drop a bit. Once unit tests for license plate lookup, vin lookup and address lookup are in the coverage should go back up to 90 }, }, diff --git a/src/constants/error-messages.js b/src/constants/error-messages.js index 810929d20..415647879 100644 --- a/src/constants/error-messages.js +++ b/src/constants/error-messages.js @@ -27,6 +27,8 @@ const errorMessages = { VEHICLE_REQUIRED: "Please select a vehicle", MOBILE_LOCATION_REQUIRED: "Please enter your service address", DATE_REQUIRED: "Please select a date", + PHONE_REQUIRED: "Please enter your phone number", + PHONE_FORMAT: "Phone number must be 10 digits", }; export { errorMessages }; diff --git a/src/constants/store-actions.js b/src/constants/store-actions.js index 392e7b59e..9d7d3ea6a 100644 --- a/src/constants/store-actions.js +++ b/src/constants/store-actions.js @@ -84,6 +84,7 @@ const storeActions = { SAVE_SUPPORTING_ITEMS_SUPPRESSING_STATE_RESETTING: "saveSupportingItemsSuppressingStateResetting", SAVE_VAPS: "saveVaps", + SAVE_CUSTOMER_DETAILS: "saveCustomerDetails", }; export { storeActions }; diff --git a/src/constants/store-mutations.js b/src/constants/store-mutations.js index d4e07cf0a..76d510507 100644 --- a/src/constants/store-mutations.js +++ b/src/constants/store-mutations.js @@ -38,6 +38,9 @@ const storeMutations = { UPDATE_CUSTOMER_EMAIL_ADDRESS: "updateCustomerEmailAddress", + //CUSTOMER MUTATIONS + UPDATE_CUSTOMER_DETAILS: "updateCustomerDetails", + // ORDER MUTATIONS UPDATE_REFERRAL_NUMBER: "updateReferralNumber", UPDATE_REFERRAL_DATE: "updateReferralDate", diff --git a/src/digital-components/button-question/button-question.vue b/src/digital-components/button-question/button-question.vue index 7441ab422..2c2c662dc 100644 --- a/src/digital-components/button-question/button-question.vue +++ b/src/digital-components/button-question/button-question.vue @@ -72,7 +72,7 @@ https://safelite.atlassian.net/wiki/spaces/DC/pages/76644418/Button+Question+Com -
+
{ +// Mock CMS content +const questionText = "Question Text"; +const mockMixin = { + methods: { + getCmsContent: jest.fn().mockImplementation(() => { + return questionText; + }), + }, +}; + +describe("checkbox-question.vue", () => { it("Should return checkbox name", async () => { // Act - const wrapper = shallowMount(checkbox, { + const wrapper = shallowMount(checkboxQuestion, { propsData: { checkboxName: "Checkbox", }, + mixins: [mockMixin], }); // Assert @@ -20,10 +31,11 @@ describe("checkbox.vue", () => { it("Should return checkbox id", async () => { // Act - const wrapper = shallowMount(checkbox, { + const wrapper = shallowMount(checkboxQuestion, { propsData: { buttonID: "Checkbox ID", }, + mixins: [mockMixin], }); // Assert @@ -35,10 +47,11 @@ describe("checkbox.vue", () => { it("Should return tabindex value", async () => { // Act - const wrapper = shallowMount(checkbox, { + const wrapper = shallowMount(checkboxQuestion, { propsData: { tabIndex: "1", }, + mixins: [mockMixin], }); // Assert @@ -50,24 +63,11 @@ describe("checkbox.vue", () => { it("Should return label text", async () => { // Act - const wrapper = shallowMount(checkbox, { - propsData: { - checkboxLabel: "label text", - }, - }); - - // Assert - const paragraph = wrapper.find("p"); - - expect(paragraph.text()).toEqual("label text"); - }); - - it("Should return label text", async () => { - // Act - const wrapper = shallowMount(checkbox, { + const wrapper = shallowMount(checkboxQuestion, { propsData: { screenReaderOnlyText: "screenreader text", }, + mixins: [mockMixin], }); // Assert diff --git a/src/ux-components/checkbox/checkbox.vue b/src/digital-components/checkbox-question/checkbox-question.vue similarity index 72% rename from src/ux-components/checkbox/checkbox.vue rename to src/digital-components/checkbox-question/checkbox-question.vue index cbc1120c5..e63c24523 100644 --- a/src/ux-components/checkbox/checkbox.vue +++ b/src/digital-components/checkbox-question/checkbox-question.vue @@ -2,6 +2,7 @@
@@ -18,15 +19,32 @@ diff --git a/src/digital-components/date-picker/date-picker.vue b/src/digital-components/date-picker/date-picker.vue index 8b2cdc9ce..368aca135 100644 --- a/src/digital-components/date-picker/date-picker.vue +++ b/src/digital-components/date-picker/date-picker.vue @@ -878,7 +878,7 @@ export default { font-weight: 500; text-underline-offset: 4px; position: absolute; - top: 90%; + bottom: 0; } .past { @@ -941,7 +941,7 @@ export default { .btn-link { display: block; position: relative; - height: 3rem; + height: 2rem; width: 100%; justify-content: center; background: transparent; diff --git a/src/digital-components/modal/modal.vue b/src/digital-components/modal/modal.vue index 2956e7784..090887c75 100644 --- a/src/digital-components/modal/modal.vue +++ b/src/digital-components/modal/modal.vue @@ -168,8 +168,7 @@ export default { } .modal-footer { border-top: none; - background-color: $gray-100; - box-shadow: 0px -1px 0px rgba(179, 180, 181, 0.3); + button { margin: 0; } diff --git a/src/digital-components/phonenumber-question/phonenumber-question.spec.js b/src/digital-components/phonenumber-question/phonenumber-question.spec.js new file mode 100644 index 000000000..3d0843e10 --- /dev/null +++ b/src/digital-components/phonenumber-question/phonenumber-question.spec.js @@ -0,0 +1 @@ +test.todo("some test to be written in the future"); diff --git a/src/digital-components/phonenumber-question/phonenumber-question.vue b/src/digital-components/phonenumber-question/phonenumber-question.vue new file mode 100644 index 000000000..7f2525bcb --- /dev/null +++ b/src/digital-components/phonenumber-question/phonenumber-question.vue @@ -0,0 +1,119 @@ + + + + + diff --git a/src/digital-components/text-block/text-block.vue b/src/digital-components/text-block/text-block.vue index 50927781c..bb7ae8963 100644 --- a/src/digital-components/text-block/text-block.vue +++ b/src/digital-components/text-block/text-block.vue @@ -91,5 +91,8 @@ export default { &.bold { font-weight: 500; } + &.dark { + color: $black; + } } diff --git a/src/digital-components/textarea-question/textarea-question.spec.js b/src/digital-components/textarea-question/textarea-question.spec.js new file mode 100644 index 000000000..3d0843e10 --- /dev/null +++ b/src/digital-components/textarea-question/textarea-question.spec.js @@ -0,0 +1 @@ +test.todo("some test to be written in the future"); diff --git a/src/digital-components/textarea-question/textarea-question.vue b/src/digital-components/textarea-question/textarea-question.vue new file mode 100644 index 000000000..e4e48092d --- /dev/null +++ b/src/digital-components/textarea-question/textarea-question.vue @@ -0,0 +1,126 @@ + + + + + diff --git a/src/digital-components/textbox-question/textbox-question.vue b/src/digital-components/textbox-question/textbox-question.vue index 1c87a2ac5..b6934a2ab 100644 --- a/src/digital-components/textbox-question/textbox-question.vue +++ b/src/digital-components/textbox-question/textbox-question.vue @@ -44,7 +44,8 @@ @change="handleChange" @blur="handleChange" :maxlength="maxLength ? maxLength : '999'" - @focus="$emit('focus', $event.target.value)" /> + @focus="$emit('focus', $event.target.value)" + @keydown="keyDownHandler" />