diff --git a/src/helpers/text-helper.js b/src/helpers/text-helper.js index 8e00c776..51170f7d 100644 --- a/src/helpers/text-helper.js +++ b/src/helpers/text-helper.js @@ -99,3 +99,12 @@ export function formatAmountInDollars(amount) { } return currencyFormatter.format(amount); } + +const defaultDateFormatter = new Intl.DateTimeFormat('en-US'); +export function formatDate(date, formatter) { + const dateFormatter = formatter ?? defaultDateFormatter; + if (!Number.isNaN(date)) { + return dateFormatter.format(date); + } + return ''; +} diff --git a/src/layouts/duplicate-check/duplicate-check.spec.js b/src/layouts/duplicate-check/duplicate-check.spec.js index d588c6b1..c6cce7c8 100644 --- a/src/layouts/duplicate-check/duplicate-check.spec.js +++ b/src/layouts/duplicate-check/duplicate-check.spec.js @@ -135,15 +135,19 @@ describe('duplicateCheck.vue', () => { vehicleYear: null, vehicleMake: getRandomString(5, 5), vehicleModel: getRandomString(5, 5), - responseDate: '1990-09-23T01:12:34', referralNumber, correlationId: getRandomString(5, 5) } ] + }, + order: { + policy: { + dateOfLoss: '1990-09-23' + } } }); - const expectedSubtext = '9/23/1990'; + const expectedSubtext = '09/23/1990'; // Assert expect(wrapper.vm.duplicateOrders.length).toBe(1); @@ -164,15 +168,19 @@ describe('duplicateCheck.vue', () => { vehicleYear: getRandomString(6, 6), vehicleMake: null, vehicleModel: getRandomString(5, 5), - responseDate: '2004-11-01T01:12:34', referralNumber, correlationId: getRandomString(6, 6) } ] + }, + order: { + policy: { + dateOfLoss: '2004-11-01' + } } }); - const expectedSubtext = '11/1/2004'; + const expectedSubtext = '11/01/2004'; // Assert expect(wrapper.vm.duplicateOrders.length).toBe(1); @@ -193,15 +201,19 @@ describe('duplicateCheck.vue', () => { vehicleYear: getRandomString(6, 6), vehicleMake: getRandomString(6, 6), vehicleModel: null, - responseDate: '1999-01-15T01:12:34', referralNumber, correlationId: getRandomString(6, 6) } ] + }, + order: { + policy: { + dateOfLoss: '1999-01-15' + } } }); - const expectedSubtext = '1/15/1999'; + const expectedSubtext = '01/15/1999'; // Assert expect(wrapper.vm.duplicateOrders.length).toBe(1); @@ -222,16 +234,20 @@ describe('duplicateCheck.vue', () => { vehicleYear: 'YEAR', vehicleMake: 'make', vehicleModel: 'MoDel', - responseDate: '2018-03-01T01:12:34', referralNumber, correlationId: getRandomString(6, 6) } ] + }, + order: { + policy: { + dateOfLoss: '2018-03-01' + } } }); const expectedVehicle = 'Year Make Model'; - const expectedDate = '3/1/2018'; + const expectedDate = '03/01/2018'; // Assert expect(wrapper.vm.duplicateOrders.length).toBe(1); diff --git a/src/layouts/duplicate-check/duplicate-check.vue b/src/layouts/duplicate-check/duplicate-check.vue index f27a09e0..18bd068c 100644 --- a/src/layouts/duplicate-check/duplicate-check.vue +++ b/src/layouts/duplicate-check/duplicate-check.vue @@ -56,7 +56,9 @@ import { fetchCmsContentForPage } from '@/helpers/cms-content-helper.js'; import BaseFormMixin from '@/mixins/base-form-mixin.js'; import { useMainStore } from '@/store/index.js'; import globalRules from '@/constants/global-rules.js'; -import { toTitleCase } from '@/helpers/text-helper.js'; +import {formatDate, toTitleCase} from '@/helpers/text-helper.js'; + +const dupeCheckDateFormatter = new Intl.DateTimeFormat('en-US', { timeZone: 'UTC', month: '2-digit', day: '2-digit', year: 'numeric' }); export default { name: 'duplicate-check', @@ -114,10 +116,8 @@ export default { const vehicle = !!o.vehicleYear && !!o.vehicleMake && !!o.vehicleModel ? `${o.vehicleYear} ${o.vehicleMake} ${o.vehicleModel}` : null; - const dateOfLoss = o.responseDate == null - ? '' - : new Date(o.responseDate).toLocaleDateString(); - const subtext = vehicle && o.responseDate + const dateOfLoss = formatDate(new Date(useMainStore().order.policy.dateOfLoss), dupeCheckDateFormatter); + const subtext = vehicle ? `${vehicle}, ${dateOfLoss}` : (vehicle ?? '').concat(dateOfLoss);