CASH-132 tech review updates.

This commit is contained in:
Bryan Mauger 2025-02-24 09:36:20 -05:00
parent 5987e78e2a
commit 5302d04f22
9 changed files with 105 additions and 103 deletions

View file

@ -2,6 +2,7 @@ const partNumberStrings = {
// Recalibration
MOBILE_STATIC_RECAL_FEE: "RECAL MOBILE",
MOBILE_DUAL_RECAL_FEE: "RECAL MOBILEDUAL",
DONATION: "DONATION",
};
export { partNumberStrings };

View file

@ -130,10 +130,6 @@ export default {
},
methods: {
handleDonationAction(submitEvent) {
console.log(
"running handleDonationAction(), submitEvent.target.elements.amount.value: ",
submitEvent.target.elements.amount.value
);
this.selectedValue = submitEvent.target.elements.amount.value;
},
},

View file

@ -208,7 +208,7 @@ export default {
}
@include media-breakpoint-up(lg) {
&:before {
top: .5rem;
top: 0.5rem;
}
&:after {
top: 1.4375rem;
@ -223,7 +223,7 @@ export default {
+ .package-label.pricing-by-day-pkg-lbl-ins {
&:before {
top: .3125rem;
top: 0.3125rem;
}
&:after {
top: 1.25rem;
@ -234,7 +234,7 @@ export default {
&:before {
top: 0.9375rem;
@include media-breakpoint-up(lg) {
top: .3125rem;
top: 0.3125rem;
}
}
&:after {
@ -258,7 +258,7 @@ export default {
min-height: 52px;
max-height: 126px;
@include media-breakpoint-up(md) {
max-height: 500px;
max-height: 500px;
}
transition: max-height 0.25s ease-in;

View file

@ -181,7 +181,7 @@ export default {
transition: background 0s 0s ease-in-out;
}
}
.modal.modal-component .modal-dialog .modal-content {
.modal-header {
padding-top: 0;

View file

@ -361,13 +361,16 @@ export default {
if (!this.customerQuestions.emailOrSms) {
await this.dispatchStoreAction(storeActions.SAVE_PHONE_NUMBER, "", false);
await this.dispatchStoreAction(storeActions.SAVE_EMAIL, "", false);
}
else {
} else {
if (vinPagesMixin.methods.isPhoneNumber(this.customerQuestions.emailOrSms)) {
const phone = this.customerQuestions.emailOrSms.replace(/[()]/g, "");
await this.dispatchStoreAction(storeActions.SAVE_PHONE_NUMBER, phone, false);
} else {
await this.dispatchStoreAction(storeActions.SAVE_EMAIL, this.customerQuestions.emailOrSms, false);
await this.dispatchStoreAction(
storeActions.SAVE_EMAIL,
this.customerQuestions.emailOrSms,
false
);
}
}

View file

@ -64,7 +64,7 @@
:isItac="isItac"
:isNoComp="isNoComp" />
<div class="mt-3" v-if="displayFosterLove">
<div class="mt-3" v-if="DisplayFosterLove">
<donationBlock
cmsWidgetName="DonationWidget"
v-model="donationAmount"
@ -73,10 +73,6 @@
:showDonationError="showDonationError" />
</div>
<!-- <button type="button" @click="addDonation(3)">
Add Donation of $3
</button> -->
<hr class="mb-5" />
<div class="emailtext" v-html="ConfirmationEmailText"></div>
@ -122,6 +118,7 @@ import { partTypeStrings } from "@/constants/part-type-strings";
import { containsLineItemWithPartType } from "@/helpers/service-package-helper";
import { containsRecalParts } from "@/helpers/recal-helper.js";
import donationBlock from "@/experiment-components/donation-block.vue";
import { partNumberStrings } from "@/constants/part-number-strings";
export default {
name: "confirmation",
@ -219,7 +216,7 @@ export default {
};
const donationItems = lineItemsFromSubmittedOrder.supportingItems?.filter(
(item) => item.partNumber === "DONATION"
(item) => item.partNumber === partNumberStrings.DONATION
);
const donationAmount = donationItems?.length > 0 ? donationItems[0].sellingPrice : 0;
@ -532,13 +529,9 @@ export default {
"test",
false
).catch((error) => {
// this.$refs.navbar.removeLoader();
console.error("Error!!! error: ", error);
return error;
});
console.log("ran addDonation()... (*fake call*) donationResponse: ", donationResponse);
if (donationResponse?.status == "200") {
this.showDonationSuccess = true;
this.showDonationError = false;
@ -561,7 +554,6 @@ export default {
watch: {
donationAmount(newValue) {
newValue = parseInt(newValue);
console.log("WATCHED donationAmount changed: ", newValue);
// this.addDonation(newValue);
// TODO - when backend code is final, then remove the below and restore the line above

View file

@ -1,105 +1,102 @@
import { shallowMount } from '@vue/test-utils';
import InsuranceCompany from '@/layouts/insurance-company/insurance-company.vue';
import { applicationConfig } from '@/constants/application-config.js';
import { shallowMount } from "@vue/test-utils";
import InsuranceCompany from "@/layouts/insurance-company/insurance-company.vue";
import { applicationConfig } from "@/constants/application-config.js";
import store from "@/store";
import baseMixin from "@/mixins/base-mixin.js";
jest.mock('@/store', () => ({
jest.mock("@/store", () => ({
getters: {
order: {
payment: {
parentAccountNumber: '12345',
order: {
payment: {
parentAccountNumber: "12345",
},
},
},
},
}));
}));
var mockRouter = {
navigateWithoutSaving: jest.fn(),
};
};
jest.mock('@/mixins/base-mixin.js', () => ({
jest.mock("@/mixins/base-mixin.js", () => ({
methods: {
navigateWithoutSaving: jest.fn(),
navigateWithoutSaving: jest.fn(),
},
data() {
return {
navigationScenarios: {
CLICKED_BACK: 'clicked_back',
},
};
return {
navigationScenarios: {
CLICKED_BACK: "clicked_back",
},
};
},
}));
}));
describe("insurance-company.vue", () => {
beforeEach(() => {
// Reset the store's parentAccountNumber before each test
store.getters.order.payment.parentAccountNumber = '12345';
});
store.getters.order.payment.parentAccountNumber = "12345";
});
test('should return true when parentAccountNumber matches CASH_PARENT_ACCOUNT_NUMBER', () => {
test("should return true when parentAccountNumber matches CASH_PARENT_ACCOUNT_NUMBER", () => {
applicationConfig.CASH_PARENT_ACCOUNT_NUMBER = "12345";
const wrapper = shallowMount(InsuranceCompany, {
global: {
mocks: {
$store: store
},
},
});
expect(wrapper.vm.isCashParentAccountNumber()).toBe(true);
});
test('should return false when parentAccountNumber does not match CASH_PARENT_ACCOUNT_NUMBER', () => {
applicationConfig.CASH_PARENT_ACCOUNT_NUMBER = "12345";
store.getters.order.payment.parentAccountNumber = '67890';
const wrapper = shallowMount(InsuranceCompany, {
global: {
mocks: {
$store: store,
},
},
});
expect(wrapper.vm.isCashParentAccountNumber()).toBe(false);
});
test('should call navigateWithoutSaving with { isCashSelected: true } when forceCashSelection is true', () => {
const wrapper = shallowMount(InsuranceCompany, {
global: {
mocks: {
$store: store,
$router: mockRouter,
},
mixins: [baseMixin],
mocks: {
$store: store,
},
},
});
});
expect(wrapper.vm.isCashParentAccountNumber()).toBe(true);
});
test("should return false when parentAccountNumber does not match CASH_PARENT_ACCOUNT_NUMBER", () => {
applicationConfig.CASH_PARENT_ACCOUNT_NUMBER = "12345";
store.getters.order.payment.parentAccountNumber = "67890";
const wrapper = shallowMount(InsuranceCompany, {
global: {
mocks: {
$store: store,
},
},
});
expect(wrapper.vm.isCashParentAccountNumber()).toBe(false);
});
test("should call navigateWithoutSaving with { isCashSelected: true } when forceCashSelection is true", () => {
const wrapper = shallowMount(InsuranceCompany, {
global: {
mocks: {
$store: store,
$router: mockRouter,
},
mixins: [baseMixin],
},
});
wrapper.vm.backButtonAction(true);
expect(mockRouter.navigateWithoutSaving).toHaveBeenCalledWith(
wrapper.vm.navigationScenarios.CLICKED_BACK,
wrapper.vm.$route,
{ isCashSelected: true }
wrapper.vm.navigationScenarios.CLICKED_BACK,
wrapper.vm.$route,
{ isCashSelected: true }
);
});
test('should call navigateWithoutSaving with no extra parameter when forceCashSelection is false', () => {
});
test("should call navigateWithoutSaving with no extra parameter when forceCashSelection is false", () => {
const wrapper = shallowMount(InsuranceCompany, {
global: {
mocks: {
$store: store,
$router: mockRouter,
mocks: {
$store: store,
$router: mockRouter,
},
mixins: [baseMixin],
},
mixins: [baseMixin],
},
});
});
wrapper.vm.backButtonAction(false);
expect(mockRouter.navigateWithoutSaving).toHaveBeenCalledWith(
wrapper.vm.navigationScenarios.CLICKED_BACK,
wrapper.vm.$route
wrapper.vm.navigationScenarios.CLICKED_BACK,
wrapper.vm.$route
);
});
});
});

View file

@ -315,8 +315,7 @@ export default {
if (!this.emailOrSms) {
await this.dispatchStoreAction(storeActions.SAVE_PHONE_NUMBER, "", false);
await this.dispatchStoreAction(storeActions.SAVE_EMAIL, "", false);
}
else {
} else {
if (vinPagesMixin.methods.isPhoneNumber(this.emailOrSms)) {
const phone = this.emailOrSms.replace(/[()]/g, "");
await this.dispatchStoreAction(storeActions.SAVE_PHONE_NUMBER, phone, false);

View file

@ -334,13 +334,20 @@ export default {
if (!this.emailOrSms) {
await this.dispatchStoreAction(storeActions.SAVE_PHONE_NUMBER, "", false);
await this.dispatchStoreAction(storeActions.SAVE_EMAIL, "", false);
}
else {
} else {
if (vinPagesMixin.methods.isPhoneNumber(this.emailOrSms)) {
const phone = this.emailOrSms.replace(/[()]/g, "");
await this.dispatchStoreAction(storeActions.SAVE_PHONE_NUMBER, phone, false);
await this.dispatchStoreAction(
storeActions.SAVE_PHONE_NUMBER,
phone,
false
);
} else {
await this.dispatchStoreAction(storeActions.SAVE_EMAIL, this.emailOrSms, false);
await this.dispatchStoreAction(
storeActions.SAVE_EMAIL,
this.emailOrSms,
false
);
}
}
@ -391,13 +398,20 @@ export default {
if (!this.emailOrSms) {
await this.dispatchStoreAction(storeActions.SAVE_PHONE_NUMBER, "", false);
await this.dispatchStoreAction(storeActions.SAVE_EMAIL, "", false);
}
else {
} else {
if (vinPagesMixin.methods.isPhoneNumber(this.emailOrSms)) {
const phone = this.emailOrSms.replace(/[()]/g, "");
await this.dispatchStoreAction(storeActions.SAVE_PHONE_NUMBER, phone, false);
await this.dispatchStoreAction(
storeActions.SAVE_PHONE_NUMBER,
phone,
false
);
} else {
await this.dispatchStoreAction(storeActions.SAVE_EMAIL, this.emailOrSms, false);
await this.dispatchStoreAction(
storeActions.SAVE_EMAIL,
this.emailOrSms,
false
);
}
}