-
Notifications
You must be signed in to change notification settings - Fork 4
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
Changes from all commits
186fe5b
26bebd8
fc56eb5
5809764
224e3d3
dd895c2
aafa81a
75f5ba7
08c346a
eab0955
8f5e524
d04656e
04483ad
6949e82
defdbea
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,53 @@ | ||
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} | ||
</> | ||
) | ||
} | ||
|
||
export const ReprocessedButton = ({ date, reprocessedState }) => { | ||
return ( | ||
<div> | ||
<button | ||
className="reprocessed" | ||
onClick={() => { | ||
reprocessedState.setDate(date) | ||
reprocessedState.setModalVisible(true) | ||
}} | ||
> | ||
Reprocessed ⓘ | ||
</button> | ||
</div> | ||
) | ||
} | ||
|
||
const ReprocessedModal = ({ date, isVisible, setModalVisible }) => { | ||
const message = <Message date={date} /> | ||
return ( | ||
<Modal | ||
title="Most Recent Reprocessed Date" | ||
message={message} | ||
isVisible={isVisible} | ||
buttons={[ | ||
{ | ||
key: '1', | ||
text: 'Close', | ||
onClick: () => { | ||
setModalVisible(false) | ||
}, | ||
}, | ||
]} | ||
/> | ||
) | ||
} | ||
|
||
export default ReprocessedModal |
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -22,10 +22,22 @@ describe('SubmissionHistory', () => { | |
file_type: 'TANF', | ||
} | ||
|
||
const setup = (store = appStore, filterValues = defaultFilterValues) => | ||
const defaultReprocessedState = { | ||
setDate: () => {}, | ||
setModalVisible: () => {}, | ||
} | ||
|
||
const setup = ( | ||
store = appStore, | ||
filterValues = defaultFilterValues, | ||
reprocessedState = defaultReprocessedState | ||
) => | ||
render( | ||
<Provider store={store}> | ||
<SubmissionHistory filterValues={filterValues} /> | ||
<SubmissionHistory | ||
filterValues={filterValues} | ||
reprocessedState={reprocessedState} | ||
/> | ||
</Provider> | ||
) | ||
|
||
|
@@ -474,4 +486,42 @@ describe('SubmissionHistory', () => { | |
} | ||
} | ||
) | ||
|
||
it('Shows Reprocessed button', () => { | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. @elipe17 do we need more tests here to capture the following scenarios:
Asking because I noticed that reprocessing indicators are not appearing for tribal TANF and SSP files. evidence below. There was a problem hiding this comment. Choose a reason for hiding this commentThe 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 There was a problem hiding this comment. Choose a reason for hiding this commentThe 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? There was a problem hiding this comment. Choose a reason for hiding this commentThe 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. There was a problem hiding this comment. Choose a reason for hiding this commentThe 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 There was a problem hiding this comment. Choose a reason for hiding this commentThe 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() | ||
}) | ||
}) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This fixed a bug where we could get an array out of bounds error. We could also escape the modal with tabs when this error occurred.