diff --git a/src/constants/MoveHistory/Database/FieldMappings.js b/src/constants/MoveHistory/Database/FieldMappings.js index bc8b54a6e74..44b781b5886 100644 --- a/src/constants/MoveHistory/Database/FieldMappings.js +++ b/src/constants/MoveHistory/Database/FieldMappings.js @@ -151,4 +151,7 @@ export default { assigned_sc: 'Counselor assigned', assigned_too: 'Task ordering officer assigned', assigned_tio: 'Task invoicing officer assigned', + re_assigned_sc: 'Counselor reassigned', + re_assigned_too: 'Task ordering officer reassigned', + re_assigned_tio: 'Task invoicing officer reassigned', }; diff --git a/src/constants/MoveHistory/EventTemplates/UpdateAssignedOfficeUser/UpdateAssignedOfficeUser.test.jsx b/src/constants/MoveHistory/EventTemplates/UpdateAssignedOfficeUser/UpdateAssignedOfficeUser.test.jsx index 218b16bb2a0..bc1e6aa2d73 100644 --- a/src/constants/MoveHistory/EventTemplates/UpdateAssignedOfficeUser/UpdateAssignedOfficeUser.test.jsx +++ b/src/constants/MoveHistory/EventTemplates/UpdateAssignedOfficeUser/UpdateAssignedOfficeUser.test.jsx @@ -11,6 +11,9 @@ describe('When given a move that has been assigned', () => { changedValues: { sc_assigned_id: 'fb625e3c-067c-49d7-8fd9-88ef040e6137', }, + oldValues: { + sc_assigned_id: null, + }, context: [{ assigned_office_user_last_name: 'Daniels', assigned_office_user_first_name: 'Jayden' }], }; @@ -36,6 +39,7 @@ describe('When given a move that has been assigned', () => { }); it('task ordering officer', () => { historyRecord.changedValues = { too_assigned_id: 'fb625e3c-067c-49d7-8fd9-88ef040e6137' }; + historyRecord.oldValues = { too_assigned_id: null }; historyRecord.context = [ { assigned_office_user_last_name: 'Robinson', assigned_office_user_first_name: 'Brian' }, ]; @@ -48,6 +52,7 @@ describe('When given a move that has been assigned', () => { }); it('task invoicing officer', () => { historyRecord.changedValues = { tio_assigned_id: 'fb625e3c-067c-49d7-8fd9-88ef040e6137' }; + historyRecord.oldValues = { tio_assigned_id: null }; historyRecord.context = [{ assigned_office_user_last_name: 'Luvu', assigned_office_user_first_name: 'Frankie' }]; const template = getTemplate(historyRecord); diff --git a/src/constants/MoveHistory/EventTemplates/UpdatePaymentRequestStatus/UpdatePaymentRequestStatusMoves.jsx b/src/constants/MoveHistory/EventTemplates/UpdatePaymentRequestStatus/UpdatePaymentRequestStatusMoves.jsx index fb63a54891d..82fa3b3d2c7 100644 --- a/src/constants/MoveHistory/EventTemplates/UpdatePaymentRequestStatus/UpdatePaymentRequestStatusMoves.jsx +++ b/src/constants/MoveHistory/EventTemplates/UpdatePaymentRequestStatus/UpdatePaymentRequestStatusMoves.jsx @@ -9,8 +9,10 @@ export default { eventName: o.updatePaymentRequestStatus, tableName: t.moves, getEventNameDisplay: () => 'Updated move', - getDetails: ({ changedValues }) => { - if (changedValues?.tio_assigned_id !== undefined) return <> Task Invoicing Officer Unassigned ; - return <> - ; - }, + getDetails: ({ changedValues }) => ( + <> +
Payment Requests Addressed
+ {changedValues?.tio_assigned_id !== undefined ?
Task Invoicing Officer Unassigned
: null} + + ), }; diff --git a/src/constants/MoveHistory/EventTemplates/UpdatePaymentRequestStatus/UpdatePaymentRequestStatusMoves.test.jsx b/src/constants/MoveHistory/EventTemplates/UpdatePaymentRequestStatus/UpdatePaymentRequestStatusMoves.test.jsx index 8e555c10d84..4868aefe01c 100644 --- a/src/constants/MoveHistory/EventTemplates/UpdatePaymentRequestStatus/UpdatePaymentRequestStatusMoves.test.jsx +++ b/src/constants/MoveHistory/EventTemplates/UpdatePaymentRequestStatus/UpdatePaymentRequestStatusMoves.test.jsx @@ -21,11 +21,11 @@ describe('When given a completed services counseling for a move', () => { expect(screen.getByText('Updated move')).toBeInTheDocument(); }); - it('defaults to blank entry if TIO ID is not present in changedValues', () => { + it('displays default when TIO ID is not present', () => { const template = getTemplate(historyRecord); render(template.getDetails(historyRecord)); - expect(screen.getByText('-')).toBeInTheDocument(); + expect(screen.getByText('Payment Requests Addressed')).toBeInTheDocument(); }); it('displays correct details when a TIO is unassigned', () => { @@ -36,6 +36,7 @@ describe('When given a completed services counseling for a move', () => { const template = getTemplate(historyRecord); render(template.getDetails(historyRecord)); + expect(screen.getByText('Payment Requests Addressed')).toBeInTheDocument(); expect(screen.getByText('Task Invoicing Officer Unassigned')).toBeInTheDocument(); }); }); diff --git a/src/constants/MoveHistory/EventTemplates/UpdateServiceItemStatus/updateServiceItemStatusUpdateMove.jsx b/src/constants/MoveHistory/EventTemplates/UpdateServiceItemStatus/updateServiceItemStatusUpdateMove.jsx index 4f0a084d37c..0bd4ffcedd8 100644 --- a/src/constants/MoveHistory/EventTemplates/UpdateServiceItemStatus/updateServiceItemStatusUpdateMove.jsx +++ b/src/constants/MoveHistory/EventTemplates/UpdateServiceItemStatus/updateServiceItemStatusUpdateMove.jsx @@ -14,7 +14,12 @@ export default { return ( <> - {historyRecord.changedValues.too_assigned_id !== undefined ? <>Task Ordering Officer Unassigned : null} + {historyRecord?.changedValues?.too_assigned_id !== undefined ? ( + <> +
Service Items Addressed
+
Task Ordering Officer Unassigned
+ + ) : null} ); }, diff --git a/src/constants/MoveHistory/EventTemplates/UpdateServiceItemStatus/updateServiceItemStatusUpdateMove.test.jsx b/src/constants/MoveHistory/EventTemplates/UpdateServiceItemStatus/updateServiceItemStatusUpdateMove.test.jsx index b77cade3d48..94d6497cd49 100644 --- a/src/constants/MoveHistory/EventTemplates/UpdateServiceItemStatus/updateServiceItemStatusUpdateMove.test.jsx +++ b/src/constants/MoveHistory/EventTemplates/UpdateServiceItemStatus/updateServiceItemStatusUpdateMove.test.jsx @@ -34,6 +34,7 @@ describe('when given a update service item status, update move history record', const template = getTemplate(historyRecord); render(template.getDetails(historyRecord)); + expect(screen.getByText('Service Items Addressed')).toBeInTheDocument(); expect(screen.getByText('Task Ordering Officer Unassigned')).toBeInTheDocument(); }); }); diff --git a/src/utils/formatters.js b/src/utils/formatters.js index 5944ecec67f..d979dcdc624 100644 --- a/src/utils/formatters.js +++ b/src/utils/formatters.js @@ -602,16 +602,24 @@ export const constructSCOrderOconusFields = (values) => { }; export const formatAssignedOfficeUserFromContext = (historyRecord) => { - const { changedValues, context } = historyRecord; + const { changedValues, context, oldValues } = historyRecord; const newValues = {}; if (!context) return newValues; const name = `${context[0].assigned_office_user_last_name}, ${context[0].assigned_office_user_first_name}`; - if (changedValues.sc_assigned_id) newValues.assigned_sc = name; - if (changedValues.too_assigned_id) newValues.assigned_too = name; - if (changedValues.tio_assigned_id) newValues.assigned_tio = name; - + if (changedValues?.sc_assigned_id) { + if (oldValues.sc_assigned_id === null) newValues.assigned_sc = name; + if (oldValues.sc_assigned_id !== null) newValues.re_assigned_sc = name; + } + if (changedValues?.too_assigned_id) { + if (oldValues.too_assigned_id === null) newValues.assigned_too = name; + if (oldValues.too_assigned_id !== null) newValues.re_assigned_too = name; + } + if (changedValues?.tio_assigned_id) { + if (oldValues.tio_assigned_id === null) newValues.assigned_tio = name; + if (oldValues.tio_assigned_id !== null) newValues.re_assigned_tio = name; + } return newValues; }; /** diff --git a/src/utils/formatters.test.js b/src/utils/formatters.test.js index 0165a47aec3..97b99f470a3 100644 --- a/src/utils/formatters.test.js +++ b/src/utils/formatters.test.js @@ -355,6 +355,9 @@ describe('formatAssignedOfficeUserFromContext', () => { changedValues: { sc_assigned_id: 'fb625e3c-067c-49d7-8fd9-88ef040e6137', }, + oldValues: { + sc_assigned_id: null, + }, context: [{ assigned_office_user_last_name: 'Daniels', assigned_office_user_first_name: 'Jayden' }], }; @@ -370,6 +373,9 @@ describe('formatAssignedOfficeUserFromContext', () => { changedValues: { too_assigned_id: 'fb625e3c-067c-49d7-8fd9-88ef040e6137', }, + oldValues: { + too_assigned_id: null, + }, context: [{ assigned_office_user_last_name: 'McLaurin', assigned_office_user_first_name: 'Terry' }], }; @@ -385,6 +391,9 @@ describe('formatAssignedOfficeUserFromContext', () => { changedValues: { tio_assigned_id: 'fb625e3c-067c-49d7-8fd9-88ef040e6137', }, + oldValues: { + tio_assigned_id: null, + }, context: [{ assigned_office_user_last_name: 'Robinson', assigned_office_user_first_name: 'Brian' }], };