Skip to content

Commit 64444aa

Browse files
authored
Merge branch 'staging' into devex-argument-parser
2 parents 226e59e + 11cdb6e commit 64444aa

File tree

47 files changed

+1181
-284
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

47 files changed

+1181
-284
lines changed
Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
import { fillPaperFilingForm } from './fill-paper-filing-form';
2+
3+
export function createAndSaveForLaterPaperFiling({
4+
dateReceived,
5+
documentType,
6+
}: {
7+
documentType: string;
8+
dateReceived: string;
9+
}) {
10+
fillPaperFilingForm({ dateReceived, documentType });
11+
12+
cy.get('[data-testid="save-for-later"]').click();
13+
}
Lines changed: 13 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -1,27 +1,18 @@
1-
import { attachFile } from '../../../file/upload-file';
2-
import { selectTypeaheadInput } from '../../../components/typeAhead/select-typeahead-input';
1+
import { fillPaperFilingForm } from './fill-paper-filing-form';
32

4-
export function createAndServePaperFiling(
5-
documentType: string,
6-
dateReceived: string,
7-
) {
8-
cy.get('[data-testid="case-detail-menu-button"]').click();
9-
cy.get('[data-testid="menu-button-add-paper-filing"]').click();
10-
cy.get(
11-
'.usa-date-picker__wrapper > [data-testid="date-received-picker"]',
12-
).type(dateReceived);
13-
selectTypeaheadInput('primary-document-type-search', documentType);
14-
cy.get('[data-testid="filed-by-option"]').click();
15-
cy.get('[data-testid="objections-No"]').click();
16-
cy.get('[data-testid="upload-pdf-button"]').click();
17-
18-
attachFile({
19-
filePath: '../../helpers/file/sample.pdf',
20-
selector: 'input#primaryDocumentFile-file',
21-
selectorToAwaitOnSuccess: '[data-testid="remove-pdf"]',
22-
});
3+
export function createAndServePaperFiling({
4+
dateReceived,
5+
documentType,
6+
isPaperCase = true,
7+
}: {
8+
documentType: string;
9+
dateReceived: string;
10+
isPaperCase?: boolean;
11+
}) {
12+
fillPaperFilingForm({ dateReceived, documentType });
2313

2414
cy.get('[data-testid="save-and-serve"]').click();
2515
cy.get('[data-testid="modal-button-confirm"]').click();
26-
cy.get('[data-testid="print-paper-service-done-button"]').click();
16+
if (isPaperCase)
17+
cy.get('[data-testid="print-paper-service-done-button"]').click();
2718
}
Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
import { attachFile } from '../../../file/upload-file';
2+
import { selectTypeaheadInput } from '../../../components/typeAhead/select-typeahead-input';
3+
4+
export function fillPaperFilingForm({
5+
dateReceived,
6+
documentType,
7+
}: {
8+
documentType: string;
9+
dateReceived: string;
10+
}) {
11+
cy.get('[data-testid="case-detail-menu-button"]').click();
12+
cy.get('[data-testid="menu-button-add-paper-filing"]').click();
13+
cy.get(
14+
'.usa-date-picker__wrapper > [data-testid="date-received-picker"]',
15+
).type(dateReceived);
16+
selectTypeaheadInput('primary-document-type-search', documentType);
17+
cy.get('[data-testid="filed-by-option"]').click();
18+
cy.get('[data-testid="objections-No"]').click();
19+
cy.get('[data-testid="upload-pdf-button"]').click();
20+
21+
attachFile({
22+
filePath: '../../helpers/file/sample.pdf',
23+
selector: 'input#primaryDocumentFile-file',
24+
selectorToAwaitOnSuccess: '[data-testid="remove-pdf"]',
25+
});
26+
}

cypress/helpers/fileAPetition/create-and-serve-paper-petition.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -147,12 +147,12 @@ export function createAndServePaperPetition(
147147
];
148148

149149
expectedDocuments.forEach(({ eventCode, index, servedTo }) => {
150-
cy.get(`[data-testid="docket-entry-index-${index}-eventCode"]`).should(
150+
cy.get(`[data-testid="docket-entry-eventCode-${index}"]`).should(
151151
'have.text',
152152
eventCode,
153153
);
154154
cy.get(
155-
`[data-testid="docket-entry-index-${index}-servedPartiesCode"]`,
155+
`[data-testid="docket-entry-servedPartiesCode-${index}"]`,
156156
).should('have.text', servedTo);
157157
});
158158

cypress/local-only/tests/integration/caseDetail/consolidated-case.cy.ts

Lines changed: 17 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -10,17 +10,25 @@ describe('Docket clerk views consolidated case', function () {
1010
});
1111

1212
it('should persist the selected sort filter by navigating away from the tab', () => {
13-
cy.get('select[name="docketRecordSort.111-19"]').should(
14-
'have.value',
15-
'byDate',
16-
);
17-
cy.get('select[name="docketRecordSort.111-19"]').select('Newest');
13+
cy.get('[data-testid="descriptionDisplay-sortable-button"]')
14+
.find('svg')
15+
.invoke('attr', 'data-icon')
16+
.should('equal', 'exchange-alt');
17+
18+
cy.get('[data-testid="descriptionDisplay-sortable-button"]').click();
19+
20+
cy.get('[data-testid="descriptionDisplay-sortable-button"]')
21+
.find('svg')
22+
.invoke('attr', 'data-icon')
23+
.should('equal', 'long-arrow-alt-up');
24+
1825
cy.get('#tab-document-view').click();
1926
cy.get('#tab-docket-sub-record').click();
20-
cy.get('select[name="docketRecordSort.111-19"]').should(
21-
'have.value',
22-
'byDateDesc',
23-
);
27+
28+
cy.get('[data-testid="descriptionDisplay-sortable-button"]')
29+
.find('svg')
30+
.invoke('attr', 'data-icon')
31+
.should('equal', 'long-arrow-alt-up');
2432
});
2533

2634
it('should persist the populated consolidated cases in the overview tab when petitioner counsel is added to parties', () => {

cypress/local-only/tests/integration/caseDetail/docketRecord/courtIssuedFiling/clerk-of-court-stamp-order.cy.ts

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -88,7 +88,10 @@ describe('Judge`s chambers stamps an order', () => {
8888
createAndServePaperPetition().then(({ docketNumber }) => {
8989
loginAsDocketClerk1();
9090
goToCase(docketNumber);
91-
createAndServePaperFiling('Motion to Proceed Remotely', '01/01/2022');
91+
createAndServePaperFiling({
92+
dateReceived: '01/01/2022',
93+
documentType: 'Motion to Proceed Remotely',
94+
});
9295
cy.get(
9396
'[data-testid="docket-record-table"] td:contains("Motion to Proceed Remotely")',
9497
)

cypress/local-only/tests/integration/caseDetail/docketRecord/courtIssuedFiling/judge-stamp-order.cy.ts

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -92,7 +92,10 @@ describe('Judge`s chambers stamps an order', () => {
9292
createAndServePaperPetition().then(({ docketNumber }) => {
9393
loginAsDocketClerk1();
9494
goToCase(docketNumber);
95-
createAndServePaperFiling('Motion to Proceed Remotely', '01/01/2022');
95+
createAndServePaperFiling({
96+
dateReceived: '01/01/2022',
97+
documentType: 'Motion to Proceed Remotely',
98+
});
9699
cy.get(
97100
'[data-testid="docket-record-table"] td:contains("Motion to Proceed Remotely")',
98101
)
Lines changed: 156 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,156 @@
1+
import { createAndSaveForLaterPaperFiling } from '../../../../../helpers/caseDetail/docketRecord/paperFiling/create-and-save-for-later-paper-filing';
2+
import { createAndServePaperFiling } from '../../../../../helpers/caseDetail/docketRecord/paperFiling/create-and-serve-paper-filing';
3+
import { externalUserCreatesElectronicCase } from '../../../../../helpers/fileAPetition/petitioner-creates-electronic-case';
4+
import { goToCase } from '../../../../../helpers/caseDetail/go-to-case';
5+
import {
6+
loginAsDocketClerk,
7+
loginAsPetitioner,
8+
} from '../../../../../helpers/authentication/login-as-helpers';
9+
import { logout } from '../../../../../helpers/authentication/logout';
10+
import { petitionsClerkServesPetition } from '../../../../../helpers/documentQC/petitionsclerk-serves-petition';
11+
12+
describe('Docket record sort', () => {
13+
before(() => {
14+
loginAsPetitioner();
15+
externalUserCreatesElectronicCase().then(docketNumber => {
16+
cy.wrap(docketNumber).as('DOCKET_NUMBER');
17+
petitionsClerkServesPetition(docketNumber);
18+
logout();
19+
loginAsDocketClerk();
20+
goToCase(docketNumber);
21+
createAndServePaperFiling({
22+
dateReceived: '01/01/2022',
23+
documentType: 'Motion for a New Trial',
24+
isPaperCase: false,
25+
});
26+
createAndSaveForLaterPaperFiling({
27+
dateReceived: '01/01/2022',
28+
documentType: 'Motion for a New Trial',
29+
});
30+
goToCase(docketNumber);
31+
});
32+
});
33+
34+
beforeEach(() => {
35+
cy.reload(true);
36+
cy.keepAliases();
37+
});
38+
39+
it('should display docket entries in default sort order', () => {
40+
getColumnTextFields('docket-entry-filedDate').then(columnTextFields => {
41+
const sortedColumnsTextFieldsAsc = [...columnTextFields].sort(
42+
sortColumnsAsc,
43+
);
44+
45+
expect(columnTextFields).to.deep.equal(sortedColumnsTextFieldsAsc);
46+
});
47+
});
48+
49+
[
50+
{
51+
columnId: 'docket-entry-index',
52+
fieldName: 'index',
53+
sortButtonId: 'index-sortable-button',
54+
},
55+
{
56+
columnId: 'docket-entry-filedDate',
57+
defaultSort: true,
58+
fieldName: 'date',
59+
sortButtonId: 'sortingFilingDate-sortable-button',
60+
},
61+
{
62+
columnId: 'docket-entry-eventCode',
63+
fieldName: 'event code',
64+
sortButtonId: 'eventCode-sortable-button',
65+
},
66+
{
67+
columnId: 'docket-entry-filingsAndProceedings',
68+
fieldName: 'filings and proceedings',
69+
sortButtonId: 'descriptionDisplay-sortable-button',
70+
},
71+
{
72+
columnId: 'docket-entry-numberOfPages',
73+
fieldName: 'number of pages',
74+
sortButtonId: 'numberOfPages-sortable-button',
75+
},
76+
{
77+
columnId: 'docket-entry-filedBy',
78+
fieldName: 'filed by',
79+
sortButtonId: 'filedBy-sortable-button',
80+
},
81+
{
82+
columnId: 'docket-entry-action',
83+
fieldName: 'action',
84+
sortButtonId: 'action-sortable-button',
85+
},
86+
{
87+
columnId: 'docket-record-cell-not-served',
88+
fieldName: 'served',
89+
sortButtonId: 'servedAt-sortable-button',
90+
},
91+
{
92+
columnId: 'docket-entry-servedPartiesCode',
93+
fieldName: 'served parties',
94+
sortButtonId: 'servedPartiesCode-sortable-button',
95+
},
96+
].forEach(testInfo => {
97+
it(`should display docket entries in correct order when sorting by ${testInfo.fieldName} ascending and descending`, () => {
98+
if (!testInfo.defaultSort) {
99+
cy.get(`[data-testid="${testInfo.sortButtonId}"]`).click();
100+
}
101+
getColumnTextFields(testInfo.columnId).then(columnTextFields => {
102+
const sortedColumnsTextFieldsAsc = [...columnTextFields].sort(
103+
sortColumnsAsc,
104+
);
105+
106+
expect(columnTextFields).to.deep.equal(sortedColumnsTextFieldsAsc);
107+
});
108+
109+
cy.get(`[data-testid="${testInfo.sortButtonId}"]`).click();
110+
111+
getColumnTextFields(testInfo.columnId).then(columnTextFields => {
112+
const sortedColumnsTextFieldsDesc = [...columnTextFields]
113+
.sort(sortColumnsAsc)
114+
.reverse();
115+
expect(columnTextFields).to.deep.equal(sortedColumnsTextFieldsDesc);
116+
});
117+
});
118+
});
119+
120+
describe('Mobile View', () => {
121+
beforeEach(() => {
122+
cy.viewport('iphone-5');
123+
});
124+
it('should update the dropdown value when user selects an option', () => {
125+
cy.get('[data-testid="docket-record-sort-select"]').should(
126+
'have.value',
127+
'byDate',
128+
);
129+
cy.get('[data-testid="docket-record-sort-select"]').select('byIndexDesc');
130+
cy.get('[data-testid="docket-record-sort-select"]').should(
131+
'have.value',
132+
'byIndexDesc',
133+
);
134+
});
135+
});
136+
});
137+
138+
const getColumnTextFields = (dataTestId: string) => {
139+
return cy.get(`[data-testid^="${dataTestId}"]`).then($cells => {
140+
return $cells.toArray().map(cell => cell.innerText);
141+
});
142+
};
143+
144+
function sortColumnsAsc(a: string, b: string) {
145+
const getPriority = (value: string) => {
146+
if (value === '') return 1;
147+
if (value?.toLocaleLowerCase() === 'not served') return 2;
148+
return 0;
149+
};
150+
151+
const priorityA = getPriority(a);
152+
const priorityB = getPriority(b);
153+
154+
if (priorityA !== priorityB) return priorityA - priorityB;
155+
return a.localeCompare(b);
156+
}

cypress/local-only/tests/integration/judgeActivityReport/judge-activity-report.cy.ts

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -219,7 +219,10 @@ describe('Verify the activity report', () => {
219219
goToCase(docketNumber);
220220
updateCaseStatus('Submitted', 'Colvin');
221221
goToCase(docketNumber);
222-
createAndServePaperFiling('Motion for a New Trial', '01/01/2022');
222+
createAndServePaperFiling({
223+
dateReceived: '01/01/2022',
224+
documentType: 'Motion for a New Trial',
225+
});
223226
goToCase(docketNumber);
224227

225228
cy.get(

shared/src/business/entities/EntityConstants.ts

Lines changed: 14 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,11 @@ import courtIssuedEventCodesJson from '../../tools/courtIssuedEventCodes.json';
66
import externalFilingEventsJson from '../../tools/externalFilingEvents.json';
77
import internalFilingEventsJson from '../../tools/internalFilingEvents.json';
88

9+
export const STATE_KEYS = {
10+
DOCKET_RECORD_TABLE_SORT:
11+
'DOCKET_RECORD_TABLE_SORT' as 'DOCKET_RECORD_TABLE_SORT',
12+
};
13+
914
export const DEBOUNCE_TIME_MILLISECONDS = 500;
1015

1116
interface FilingEvent {
@@ -1644,10 +1649,15 @@ export const DOCKET_ENTRY_SEALED_TO_TYPES = {
16441649
export const ASCENDING: 'asc' = 'asc';
16451650
export const DESCENDING: 'desc' = 'desc';
16461651

1647-
export const CHRONOLOGICALLY_ASCENDING = 'Oldest to newest';
1648-
export const CHRONOLOGICALLY_DESCENDING = 'Newest to oldest';
1649-
export const ALPHABETICALLY_ASCENDING = 'In A-Z ascending order';
1650-
export const ALPHABETICALLY_DESCENDING = 'In Z-A descending order';
1652+
export const SORT_ASCENDING_TEXT = {
1653+
date: 'Oldest to newest',
1654+
string: 'In A-Z ascending order',
1655+
};
1656+
1657+
export const SORT_DESCENDING_TEXT = {
1658+
date: 'Newest to oldest',
1659+
string: 'In Z-A descending order',
1660+
};
16511661

16521662
export const PRACTITIONER_DOCUMENT_TYPES_MAP = {
16531663
APPLICATION_PACKAGE: 'Application Package',

0 commit comments

Comments
 (0)