Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Reprocessed Modal: Submission History #3343

Merged
merged 15 commits into from
Dec 17, 2024
13 changes: 13 additions & 0 deletions tdrs-frontend/src/assets/Reports.scss
Original file line number Diff line number Diff line change
Expand Up @@ -42,6 +42,19 @@
cursor: pointer;
}

.reprocessed {
background-color: transparent;
border: none;
color: #264A64;
text-align: left;
margin: 0;
padding: 0;
}

.reprocessed:hover {
cursor: pointer;
}

.usa-table caption {
width: 100%;
}
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@ import {
downloadFile,
getErrorReportStatus,
} from './helpers'
import ReprocessedModal from './ReprocessedModal'

const MonthSubRow = ({ data }) =>
data ? (
Expand All @@ -26,13 +27,13 @@ const MonthSubRow = ({ data }) =>

const CaseAggregatesRow = ({ file }) => {
const dispatch = useDispatch()

const reprocessedOn = formatDate(getReprocessedDate(file))
return (
<>
<tr>
<th scope="rowgroup" rowSpan={3}>
{formatDate(file.createdAt) + ' by ' + file.submittedBy}
{hasReparsed(file) && <></>}
{hasReparsed(file) && <ReprocessedModal date={reprocessedOn} />}
elipe17 marked this conversation as resolved.
Show resolved Hide resolved
</th>

<th scope="rowgroup" rowSpan={3}>
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,43 @@
import React, { useState } from 'react'
import Modal from '../Modal'

const Message = ({ date }) => {
return (
<>
We've reprocessed your submission with updated validation criteria, based
on system improvements, to improve accuracy of error reports. No changes
have been made to your original data submission.
<br />
<br />
Data was reprocessed on: {date}
</>
)
}

const ReprocessedModal = ({ date }) => {
const [modalVisible, setModalVisible] = useState(false)
elipe17 marked this conversation as resolved.
Show resolved Hide resolved
const message = <Message date={date} />
return (
<div>
<button className="reprocessed" onClick={() => setModalVisible(true)}>
Reprocessed &#9432;
</button>
<Modal
title="Most Recent Reprocessed Date"
message={message}
isVisible={modalVisible}
buttons={[
{
key: '1',
text: 'Close',
onClick: () => {
setModalVisible(false)
},
},
]}
/>
</div>
)
}

export default ReprocessedModal
Original file line number Diff line number Diff line change
Expand Up @@ -474,4 +474,45 @@ describe('SubmissionHistory', () => {
}
}
)

it('Shows Reprocessed button', () => {
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@elipe17 do we need more tests here to capture the following scenarios:

  • reprocessing tribal TANF file
  • reprocessing SSP file
  • no reprocessing

Asking because I noticed that reprocessing indicators are not appearing for tribal TANF and SSP files. evidence below.

Screenshot 2024-12-16 124333
Screenshot 2024-12-16 123500

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It should be the same exact logic regardless of TANF, SSP, Tribal. I just tested SSP locally and it was fine. Let me checkout the deployed env

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@ADPennington I just tested in the Raft env since it is still deployed there and it is working as expected for TANF, SSP, and Tribal. Maybe we can deploy this back to qasp when you are ready and check it out together?

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

thank you @elipe17 -- one thing i forgot to mention is that I was testing aggregate and stratum files for SSP and tribal TANF.

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Roger. I tested active, closed, and aggregate for TANF. Active and aggregate for SPP. Only active for Tribal. Let me know when you are ready to test it out and we can hop on a call or work async via the deployment

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@elipe17 re-deploying now

const state = {
reports: {
files: [
{
id: '123',
fileName: 'test1.txt',
fileType: 'TANF',
quarter: 'Q1',
section: 'Active Case Data',
uuid: '123-4-4-321',
year: '2023',
s3_version_id: '321-0-0-123',
createdAt: '12/12/2012 12:12',
submittedBy: '[email protected]',
latest_reparse_file_meta: {
finished: true,
success: true,
started_at: '2024-12-09T18:38:14+0000',
finished_at: '2024-12-09T18:38:16+0000',
},
},
],
},
}

const store = appConfigureStore(state)
const dispatch = jest.fn(store.dispatch)
store.dispatch = dispatch

setup(store)

expect(screen.queryByText('test1.txt')).toBeInTheDocument()

const reprocessedBtn = screen.queryByText('Reprocessed ⓘ')
expect(reprocessedBtn).toBeInTheDocument()

fireEvent.click(reprocessedBtn)
expect(screen.queryByText('Data was reprocessed on: 12/9/2024, 1:38:16 PM'))
})
})
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@ import {
downloadFile,
getErrorReportStatus,
} from './helpers'
import ReprocessedModal from './ReprocessedModal'

const MonthSubRow = ({ data }) =>
data ? (
Expand All @@ -24,13 +25,13 @@ const MonthSubRow = ({ data }) =>

const TotalAggregatesRow = ({ file }) => {
const dispatch = useDispatch()

const reprocessedOn = formatDate(getReprocessedDate(file))
return (
<>
<tr>
<th scope="rowgroup" rowSpan={3}>
{formatDate(file.createdAt) + ' by ' + file.submittedBy}
{hasReparsed(file) && <></>}
{hasReparsed(file) && <ReprocessedModal date={reprocessedOn} />}
</th>

<th scope="rowgroup" rowSpan={3}>
Expand Down
3 changes: 2 additions & 1 deletion tdrs-frontend/src/components/SubmissionHistory/helpers.jsx
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,8 @@ export const hasReparsed = (f) =>
f.latest_reparse_file_meta.finished_at &&
f.latest_reparse_file_meta.finished_at !== null

export const getReprocessedDate = (f) => f.latest_reparse_file_meta.finished_at
export const getReprocessedDate = (f) =>
f?.latest_reparse_file_meta?.finished_at

export const getErrorReportStatus = (file) => {
if (
Expand Down
Loading