From 4dc4e0b7c7fb48611cd09179da07324c1951699f Mon Sep 17 00:00:00 2001 From: Josh Dassinger Date: Fri, 24 May 2024 13:23:45 -0500 Subject: [PATCH 1/2] SSR-1282 Dupe check display date of loss Format Date of loss like ISS heritage dupe check --- src/helpers/text-helper.js | 9 +++++++++ src/layouts/duplicate-check/duplicate-check.vue | 8 ++++---- 2 files changed, 13 insertions(+), 4 deletions(-) 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.vue b/src/layouts/duplicate-check/duplicate-check.vue index f27a09e0..9b308d93 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,9 +116,7 @@ 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 dateOfLoss = formatDate(new Date(useMainStore().order.policy.dateOfLoss), dupeCheckDateFormatter); const subtext = vehicle && o.responseDate ? `${vehicle}, ${dateOfLoss}` : (vehicle ?? '').concat(dateOfLoss); From 060dc98f2cbcbc3e1ea25c1584d142300fd14c6d Mon Sep 17 00:00:00 2001 From: Josh Dassinger Date: Fri, 24 May 2024 14:09:54 -0500 Subject: [PATCH 2/2] SSR-1282 Fix unit tests --- .../duplicate-check/duplicate-check.spec.js | 32 ++++++++++++++----- .../duplicate-check/duplicate-check.vue | 2 +- 2 files changed, 25 insertions(+), 9 deletions(-) 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 9b308d93..18bd068c 100644 --- a/src/layouts/duplicate-check/duplicate-check.vue +++ b/src/layouts/duplicate-check/duplicate-check.vue @@ -117,7 +117,7 @@ export default { ? `${o.vehicleYear} ${o.vehicleMake} ${o.vehicleModel}` : null; const dateOfLoss = formatDate(new Date(useMainStore().order.policy.dateOfLoss), dupeCheckDateFormatter); - const subtext = vehicle && o.responseDate + const subtext = vehicle ? `${vehicle}, ${dateOfLoss}` : (vehicle ?? '').concat(dateOfLoss);