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

Sprint 10 #1155

Merged
merged 416 commits into from
Mar 19, 2019
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
416 commits
Select commit Hold shift + click to select a range
191e1b3
fix a failing test
rachaelparris Mar 12, 2019
8c191cb
Merge pull request #1068 from flexion/310-modal-caption
kkoskelin Mar 12, 2019
28a0e89
Merge branch 'develop' into 359-validation
rachaelparris Mar 12, 2019
fb1cad7
updating message titles
kkoskelin Mar 12, 2019
17684f7
Update warning about Module
wbyoko Mar 12, 2019
9d431e4
remove unused variable
rachaelparris Mar 12, 2019
da84db6
Merge pull request #1075 from flexion/indefinite-articles
kkoskelin Mar 12, 2019
09f8dfa
Merge pull request #1076 from flexion/update_warning
wbyoko Mar 12, 2019
0a635a4
359: refactor workitem complete
rachaelparris Mar 12, 2019
9ecb149
310 Update Seed Data
wbyoko Mar 12, 2019
8676b9a
remove unused variable
rachaelparris Mar 12, 2019
f0e1baa
Merge branch 'develop' into 310_base_data_initialCaption
wbyoko Mar 12, 2019
170974d
Merge pull request #1074 from flexion/359-validation
rachaelparris Mar 12, 2019
2a29da9
fix a test
rachaelparris Mar 12, 2019
51220b8
don\'t add a message to the array when completing
rachaelparris Mar 12, 2019
95df420
Merge pull request #1078 from flexion/310_base_data_initialCaption
wbyoko Mar 12, 2019
b9b2ea2
359: add new workitems complete endpoint to swagger.json
rachaelparris Mar 12, 2019
8a34c66
Merge pull request #1077 from flexion/359-complete-workitem
rachaelparris Mar 12, 2019
3bb18a6
Merge branch 'develop' into 359-swagger
rachaelparris Mar 12, 2019
ac2f734
Merge branch 'develop' into style-guide
ericsorenson Mar 13, 2019
acdd904
added aria label
ericsorenson Mar 13, 2019
ef54233
Merge pull request #1070 from flexion/style-guide
ericsorenson Mar 13, 2019
6b8d28d
Merge pull request #1079 from flexion/359-swagger
ericsorenson Mar 13, 2019
0d61190
Coverage boost
kkoskelin Mar 13, 2019
70aaede
load the user via dynamo instead of hard coded
codyseibert Mar 13, 2019
fbd78f0
Merge branch 'develop' into bug/section_required_forward_work_item
codyseibert Mar 13, 2019
79d64b7
Merge pull request #48 from flexion/master
waldoj Mar 13, 2019
7f54c5b
adding mock data for seniorattorneuy
codyseibert Mar 13, 2019
eba9c6c
fixing lint
codyseibert Mar 13, 2019
c43b20e
Merge pull request #1082 from flexion/bug/section_required_forward_wo…
codyseibert Mar 13, 2019
751b300
Re-fix test
kkoskelin Mar 13, 2019
b04d27f
Merge branch 'develop' of github.com:flexion/ef-cms into coverage
kkoskelin Mar 13, 2019
f67f1d0
Fix test descriptions
kkoskelin Mar 13, 2019
82e7476
310: scroll error and success notifications to top of page
kkoskelin Mar 13, 2019
67da84d
786: add STIN to start a case form
rachaelparris Mar 13, 2019
0d39647
upgrades
ericsorenson Mar 13, 2019
3f77c9d
Merge pull request #1084 from flexion/786-start-case-form
rachaelparris Mar 13, 2019
9ead44d
Edit caption updates
kkoskelin Mar 13, 2019
546bf99
Merge pull request #1080 from flexion/coverage
kkoskelin Mar 13, 2019
047d4ac
updating the prepare document pdf to latest version
codyseibert Mar 13, 2019
373c8be
Merge pull request #1086 from flexion/task/786_update_prepare_pdf
ericsorenson Mar 13, 2019
3b67964
786: update filePetition use case to include STIN
rachaelparris Mar 13, 2019
261afdd
786 Add STIN as required property
wbyoko Mar 13, 2019
ac9adc4
Update the "Before You Get Started Page" with instructional text
ericsorenson Mar 13, 2019
758102c
Merge branch 'develop' into 786-views
ericsorenson Mar 13, 2019
80cf19d
786 Add stinFile to journey tests
wbyoko Mar 13, 2019
92bea70
scrollTo fix
kkoskelin Mar 13, 2019
2c9180b
Merge branch 'develop' into 786_stinFile_required
wbyoko Mar 13, 2019
611590f
Merge pull request #1085 from flexion/310-updates
kkoskelin Mar 13, 2019
b185f02
786 Add stinFile to cypress tests
wbyoko Mar 13, 2019
4010cdb
Merge branch 'develop' into 786_stinFile_required
wbyoko Mar 13, 2019
a7d91b1
cleaning up the use of the table name string being used everywhere
codyseibert Mar 13, 2019
e4a2564
Merge pull request #1087 from flexion/786_stinFile_required
wbyoko Mar 13, 2019
f89c8a9
doing batch get in chunks of 100
codyseibert Mar 13, 2019
76161d9
update tests, add method to Case entity to add document without docke…
rachaelparris Mar 13, 2019
153e601
typo fix
ericsorenson Mar 13, 2019
c02c0c8
Merge branch 'develop' into 786-views
ericsorenson Mar 13, 2019
4275f19
Merge pull request #1088 from flexion/786-views
ericsorenson Mar 13, 2019
1c7ce01
Merge pull request #1089 from flexion/task/devex_clean_up_table_name
codyseibert Mar 13, 2019
27bb990
Merge branch 'develop' into 786-filepetition-usecase
rachaelparris Mar 13, 2019
7dcc887
getting the users by mapping record instead of storing the users twice
codyseibert Mar 13, 2019
f87dd29
fixing test
codyseibert Mar 13, 2019
9aad612
fix tests, update createCase proxy
rachaelparris Mar 13, 2019
fe73c29
Merge pull request #1091 from flexion/devex/users_by_mapping
codyseibert Mar 13, 2019
5b53cf4
786 Seed Data Stin File
wbyoko Mar 13, 2019
d6ca1ce
Merge branch 'develop' into 786_stinFile_seed_data
wbyoko Mar 13, 2019
bfa1c16
Specify where setup-jenkins.sh must be run
Mar 13, 2019
8790fb6
Merge pull request #1090 from flexion/786-filepetition-usecase
rachaelparris Mar 13, 2019
31a1dcb
fixing various todos
codyseibert Mar 13, 2019
0dba8be
renaming back to contacts
codyseibert Mar 13, 2019
b881ab6
Merge branch 'develop' into 786_stinFile_seed_data
wbyoko Mar 13, 2019
6f4b872
fixing other todos
codyseibert Mar 13, 2019
e717267
fixing imports
codyseibert Mar 13, 2019
3765686
Specify where setup-jobs.sh must be run
Mar 13, 2019
6d204cf
removing todo
codyseibert Mar 13, 2019
f80d48b
Fix bullets
Mar 13, 2019
e5f841a
310: show remainder of caption in dialog
kkoskelin Mar 13, 2019
103fead
Merge pull request #1092 from flexion/786_stinFile_seed_data
wbyoko Mar 13, 2019
b5536ed
786 Update JSDocs
wbyoko Mar 13, 2019
a79c5d3
Merge pull request #1093 from flexion/devex/fixing_various_todos
codyseibert Mar 13, 2019
84acbaa
Merge pull request #1094 from flexion/310-caption-dialog-update
kkoskelin Mar 13, 2019
45037c3
Merge pull request #1095 from flexion/786-Update-JSDocs
wbyoko Mar 13, 2019
d3679ee
parceljs package update
kkoskelin Mar 13, 2019
4255167
Address width of modal dialog in responsive mode
kkoskelin Mar 13, 2019
bfd5a1a
Merge pull request #1097 from flexion/modal-responsive-fix
kkoskelin Mar 13, 2019
ac87ddc
Merge pull request #1096 from flexion/parceljs-package-updates
kkoskelin Mar 13, 2019
0103eb5
creating the modal for creating a new message
codyseibert Mar 13, 2019
f798e89
Tabs Style Guide
wbyoko Mar 13, 2019
c2c4594
Merge branch 'develop' into Tabs_style_guide
wbyoko Mar 13, 2019
584ce6f
working on interactor
codyseibert Mar 14, 2019
a8d2b8f
lint
codyseibert Mar 14, 2019
77117ef
adding a case journey test
codyseibert Mar 14, 2019
c4095f9
updated smoke test for cognito
ericsorenson Mar 14, 2019
ce0ad99
updating swagger
codyseibert Mar 14, 2019
b90733a
Merge pull request #1098 from flexion/task/962_start_message_thread
codyseibert Mar 14, 2019
3e8b955
update the success message text
codyseibert Mar 14, 2019
c2fb792
Merge pull request #1100 from flexion/nightwatch-and-cognito
ericsorenson Mar 14, 2019
eeacb4c
Merge pull request #1099 from flexion/Tabs_style_guide
wbyoko Mar 14, 2019
ea18fa0
Merge pull request #1101 from flexion/task/962_start_message_thread
codyseibert Mar 14, 2019
fe56aec
786: fix validation bug on file uploads - not clearing errors when a …
rachaelparris Mar 14, 2019
ce314be
Merge pull request #1102 from flexion/786-bug-fix
rachaelparris Mar 14, 2019
d6b7bbf
button styling fixes
ericsorenson Mar 14, 2019
8f111c5
Merge branch 'develop' into 962-styles
ericsorenson Mar 14, 2019
adf0ae4
fixing the consistent update request by hooking to the master region
codyseibert Mar 14, 2019
4b69f74
310 Initial Caption
wbyoko Mar 14, 2019
62217d5
Merge pull request #1106 from flexion/bug/fixing_us_west_issues
codyseibert Mar 14, 2019
d942277
pa11y updates
kkoskelin Mar 14, 2019
9d921f8
Merge branch 'develop' of github.com:flexion/ef-cms into 310-786-962-…
kkoskelin Mar 14, 2019
f358ef9
Merge pull request #1107 from flexion/310_initial_caption_set
wbyoko Mar 14, 2019
58402eb
granting lamba permission to us-east-1 master region
codyseibert Mar 14, 2019
58ba3ba
grant access to master region
codyseibert Mar 14, 2019
ee380b1
Merge pull request #1108 from flexion/310-786-962-pa11y
kkoskelin Mar 14, 2019
a4203b8
adding accountId
codyseibert Mar 14, 2019
39e38dc
Merge pull request #1109 from flexion/bug/fixing_us_west_issues
codyseibert Mar 14, 2019
43fcc1f
Add instructions to set up the GitHub token
Mar 14, 2019
f89933f
Fix a typo
Mar 14, 2019
01a9f30
adding to the sent inbox and outbox when a new work item is created
codyseibert Mar 14, 2019
36b48cd
Add GitHub-Jenkins webhook configuration step
Mar 14, 2019
7b2b86b
962 Shared Entity / Validation
wbyoko Mar 14, 2019
6612007
Merge branch 'develop' into 962_validation
wbyoko Mar 14, 2019
429d761
Merge branch 'develop' into 962-styles
ericsorenson Mar 14, 2019
8fdeb77
Merge pull request #1103 from flexion/962-styles
ericsorenson Mar 14, 2019
91638f4
margin fix for optional form fields
ericsorenson Mar 14, 2019
2456ad4
962: update language (Messages In Progress)
rachaelparris Mar 14, 2019
e797c9e
sent inbox
codyseibert Mar 14, 2019
5383c73
when no message defined
kkoskelin Mar 14, 2019
8995694
adding more to the case journey test
codyseibert Mar 14, 2019
2559510
don't show 2 progress indicators
ericsorenson Mar 14, 2019
8b50382
Merge pull request #1110 from flexion/962-update-language
rachaelparris Mar 14, 2019
cba6acf
upgrades
ericsorenson Mar 14, 2019
6e3a886
testing the createWorkItemInteractor
codyseibert Mar 14, 2019
6e07d51
962 Initial Work Item Validation
wbyoko Mar 14, 2019
4a5035d
786: Styling updates for case detail page
kkoskelin Mar 14, 2019
83dc0cb
adding coverage over the persistence createWorkItem
codyseibert Mar 14, 2019
77e3cb2
Merge pull request #1112 from flexion/task/962_sent_box
codyseibert Mar 14, 2019
b71e4f9
Merge pull request #1114 from flexion/962_validation
wbyoko Mar 14, 2019
d8cd1ad
962: add forwarded items to sent box
rachaelparris Mar 14, 2019
d29c6ad
Merge branch 'develop' into task/962_sent_box
rachaelparris Mar 14, 2019
77a7111
962 Validation Styles / Clear Form
wbyoko Mar 14, 2019
4f6c3e7
fixing tests
codyseibert Mar 15, 2019
43eeca9
fixing outbox
codyseibert Mar 15, 2019
2d98e52
Merge pull request #49 from ustaxcourt/setup-updates
waldoj Mar 15, 2019
5f2e44f
Merge pull request #1116 from flexion/task/962_sent_box
rachaelparris Mar 15, 2019
502c1bc
Merge pull request #1111 from flexion/joi-validation-defaults
kkoskelin Mar 15, 2019
b03d32b
Merge pull request #1115 from flexion/762-detail-styling
kkoskelin Mar 15, 2019
534b815
Merge pull request #1117 from flexion/962_validation_reoverride
wbyoko Mar 15, 2019
5cdadcf
making a booleaning to prevent the outbox entries from being created
codyseibert Mar 15, 2019
d13afd0
remove unneeded class
ericsorenson Mar 15, 2019
c54a144
Merge branch 'develop' into style-guide
ericsorenson Mar 15, 2019
00a26f0
962 Clear Form and Validation on Cancel
wbyoko Mar 15, 2019
d987290
Merge pull request #1118 from flexion/task/962_sent_box
codyseibert Mar 15, 2019
f2c1e9d
#962 Clear Users on Cancel and Save
wbyoko Mar 15, 2019
3cc8473
Improvements to coverage
kkoskelin Mar 15, 2019
368c398
Merge pull request #1119 from flexion/962_clear_form_validation_cancel
wbyoko Mar 15, 2019
81b4c83
Restructure headers
Mar 15, 2019
624d587
issue with section not being defined
codyseibert Mar 15, 2019
6513002
962: add casejourney test for docket clerk views outbox
rachaelparris Mar 15, 2019
6ba1e15
Merge pull request #1121 from flexion/task/962_fixing_section_issue
codyseibert Mar 15, 2019
f7c3246
Merge pull request #1120 from flexion/test-improvements
kkoskelin Mar 15, 2019
d58dbd9
Merge pull request #1122 from flexion/962-casejourney
rachaelparris Mar 15, 2019
10b0f69
#962 Update Validation Messages
wbyoko Mar 15, 2019
40b8d76
Merge pull request #1113 from flexion/style-guide
ericsorenson Mar 15, 2019
5de9fd7
Merge pull request #1123 from flexion/962_update_validation_messages
wbyoko Mar 15, 2019
68860c5
962: globally close modals when backend errors occur
rachaelparris Mar 15, 2019
8fda695
Merge pull request #1124 from flexion/962-close-modals
rachaelparris Mar 15, 2019
585375c
Clarify the two login methods
Mar 15, 2019
5c67e70
962: sort messages on case detail and document detail views
kkoskelin Mar 15, 2019
41a4de8
#962 Create WorkItem in sending user section sent outbox
wbyoko Mar 15, 2019
c72444e
Merge pull request #1125 from flexion/962-message-sorting
codyseibert Mar 15, 2019
bce304e
Form padding and spacing fixes
ericsorenson Mar 15, 2019
d097b44
Merge branch 'develop' into style-guide
ericsorenson Mar 15, 2019
5219042
upgrades
ericsorenson Mar 15, 2019
46fa90f
add test to case journey to forward to a different section
rachaelparris Mar 15, 2019
8499c70
fixing createWorkItem tests
rachaelparris Mar 15, 2019
e45d818
Merge pull request #1127 from flexion/962_sender_section_sent
rachaelparris Mar 15, 2019
5550aa8
Merge pull request #1126 from flexion/style-guide
ericsorenson Mar 15, 2019
6ef10ea
Merge pull request #50 from ustaxcourt/readme
waldoj Mar 15, 2019
943b700
Start off code reviews with a blank slate
Mar 15, 2019
b64acdc
Merge pull request #51 from ustaxcourt/code-review
waldoj Mar 15, 2019
2ed8ae6
fixing an issue where selecting section of - select - was not clearin…
codyseibert Mar 15, 2019
a8ac256
updating dependencies
codyseibert Mar 15, 2019
c546489
Merge branch 'develop' into task/962_fixing_issue_with_recipient_not_…
codyseibert Mar 15, 2019
47830ff
updating the package locks
codyseibert Mar 15, 2019
47e766c
Merge branch 'task/962_fixing_issue_with_recipient_not_clearing' of g…
codyseibert Mar 15, 2019
771ba11
ordering the tests
codyseibert Mar 15, 2019
ae14739
Merge branch 'master' into backmerge_master
wbyoko Mar 15, 2019
28be2b5
Merge pull request #1128 from flexion/task/962_fixing_issue_with_reci…
codyseibert Mar 15, 2019
72386d4
Merge branch 'develop' into backmerge_master
wbyoko Mar 15, 2019
ab393b6
Merge pull request #1131 from flexion/backmerge_master
wbyoko Mar 15, 2019
fdbf19d
1083: add endpoint placeholder to run batch process
rachaelparris Mar 15, 2019
4e6c54a
962: option to prevent dialog dismissal
kkoskelin Mar 15, 2019
1112780
Merge branch 'develop' of github.com:flexion/ef-cms into 962-issues
kkoskelin Mar 15, 2019
1008024
Prevent dialog dismissal
kkoskelin Mar 15, 2019
4a80087
add retrieval of actual docs to interactor
rachaelparris Mar 15, 2019
f958f53
the warmup plugin seems broken
codyseibert Mar 15, 2019
b7cd115
Merge pull request #1132 from flexion/962-issues
kkoskelin Mar 15, 2019
0950f91
Merge pull request #1134 from flexion/task/warmup_plugin_is_broken
codyseibert Mar 15, 2019
ea46be3
adding a separate test to verify this create work item logic
codyseibert Mar 16, 2019
c0475c5
putting the s3 logic into a persistence method
codyseibert Mar 18, 2019
66d4c4a
adding sanitize file names
codyseibert Mar 18, 2019
160a582
deleting the stin after creating the zip
codyseibert Mar 18, 2019
2df929a
looping through all cases in the holding queue; deleting the work ite…
codyseibert Mar 18, 2019
ff99b9e
move batch process button to petitions clerk work queue
rachaelparris Mar 18, 2019
67418f3
package lock update
rachaelparris Mar 18, 2019
2a7c649
merge develop
rachaelparris Mar 18, 2019
7196c61
fix lint error
rachaelparris Mar 18, 2019
e8cdc01
jsdoc update
rachaelparris Mar 18, 2019
4a3abe7
962: work queue item sorting
kkoskelin Mar 18, 2019
3ce65ec
Merge branch 'develop' of github.com:flexion/ef-cms into 962-workQueu…
kkoskelin Mar 18, 2019
377f8e3
coverage updates
rachaelparris Mar 18, 2019
8d26aef
Merge pull request #1133 from flexion/1083-runBatch-endpoint
rachaelparris Mar 18, 2019
1ff941f
Merge pull request #1135 from flexion/task/962_additional_tests
codyseibert Mar 18, 2019
ae3acdc
updating the case status
codyseibert Mar 18, 2019
9e11374
fixing unit tests
codyseibert Mar 18, 2019
02dec91
creating a docket record when sent to the irs
codyseibert Mar 18, 2019
c78d92d
1083 Display Docket Record DocumentId Link
wbyoko Mar 18, 2019
3df3961
Merge pull request #1138 from flexion/1083_docket_record_display
wbyoko Mar 18, 2019
6b517da
Merge branch 'develop' into task/1083_update_case_status
codyseibert Mar 18, 2019
ac3ec10
962: cleaner architecture
kkoskelin Mar 18, 2019
32bd7d2
Merge pull request #1137 from flexion/task/1083_update_case_status
codyseibert Mar 18, 2019
b9570e9
Modal Enhancements
kkoskelin Mar 18, 2019
f06c45b
Merge pull request #1136 from flexion/962-workQueue-formatting
kkoskelin Mar 18, 2019
cf15280
Merge pull request #1139 from flexion/modal-enhancements
kkoskelin Mar 18, 2019
2aae37d
Bug - remove horizontal scroll bars in qc scrollable tabs on windows
rachaelparris Mar 18, 2019
6157ef7
markAsPaidByPayGov function should only sets docket record once per t…
wbyoko Mar 18, 2019
fe37e2c
Merge pull request #1141 from flexion/bug/horizontal-scrollbars
rachaelparris Mar 18, 2019
a3d4d2a
Merge pull request #1142 from flexion/markAsPaidByPayGov-one-docket-r…
wbyoko Mar 18, 2019
89eba88
1140: bug - Serve to IRS not adding entry to individual sent box
rachaelparris Mar 18, 2019
0ee7ff1
1140: reposition ‘create message’ modal
kkoskelin Mar 18, 2019
3be24d0
remove the generated records from the docket record
codyseibert Mar 18, 2019
aebe1f0
Closer to the top
kkoskelin Mar 18, 2019
2af2c9f
fixing lint
codyseibert Mar 18, 2019
8ea934f
1140: Case Info Tab - Document Detail Tab Display
wbyoko Mar 18, 2019
91e7c29
adjust z-index to compete with .usa-nav
kkoskelin Mar 18, 2019
0e64db5
Merge pull request #1143 from flexion/1140-sent-box-fix
rachaelparris Mar 18, 2019
6d483ea
removing unneeded test
codyseibert Mar 18, 2019
6a9f81e
Merge pull request #1144 from flexion/1140-modal-position
kkoskelin Mar 18, 2019
ec37c8b
Merge pull request #1146 from flexion/1140_case-info-tab-default
wbyoko Mar 18, 2019
cd25dde
Merge pull request #1145 from flexion/bug/1083_remove_from_docket_Record
codyseibert Mar 18, 2019
4cca5f5
1140: fix ordering of messages in progress on case detail
rachaelparris Mar 18, 2019
3102320
1104: fix filing fee paid showing up in docket record multiple times
rachaelparris Mar 18, 2019
ddcd8ac
remove console log
rachaelparris Mar 18, 2019
bfe4cfb
setting test to be more like what is occuring;
codyseibert Mar 19, 2019
1357fb3
Merge pull request #1148 from flexion/1140-filing-fee-fix
codyseibert Mar 19, 2019
0cfc081
Merge pull request #1147 from flexion/1140-messages-in-progress
ericsorenson Mar 19, 2019
c5b81a2
always use UTC
ericsorenson Mar 19, 2019
5d0737e
Merge pull request #1149 from flexion/1140-timestamp-fun
ericsorenson Mar 19, 2019
33d82b6
Merge pull request #1151 from flexion/task/sprint_10_cut
codyseibert Mar 19, 2019
1e4ade3
Merge remote-tracking branch 'court/staging' into task/pull_in_court
codyseibert Mar 19, 2019
89d952c
Merge pull request #1154 from flexion/task/pull_in_court
codyseibert Mar 19, 2019
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
28 changes: 12 additions & 16 deletions CODE_REVIEW.md
Original file line number Diff line number Diff line change
Expand Up @@ -87,35 +87,31 @@ We wouldn’t want anyone being mean to us because of an oversight, mistake, or

We use this list when performing a code review to ensure that all tasks have been completed.

- [ ] begin by deleting any existing copy of the Git repository and cloning a fresh copy, and running `docker system prune` to remove any cached artifacts from any prior code review
- [ ] review the pull request itself, to get oriented
- [ ] read the description of the pull request, which should summarize the changes made
- [ ] read through every task on the Scrum board that's encompassed by this pull request
- [ ] read the description of every commit that comprises the pull request
- [ ] read the description of the commits that comprise the pull request
- [ ] stand up the site locally
- [ ] test all functionality in all major browsers, emphasizing the functionality that this pull request addresses
- [ ] perform the most thorough testing in Chrome and Internet Explorer 11, on Windows 7 and 10
- [ ] test in Edge and Firefox
- [ ] test in Mobile Safari and Mobile Chrome, with the caveat that not all functionality will be necessary on these platforms
- [ ] for internal Court functionality, perform the most thorough testing in Chrome, though also test in Edge and Firefox
- [ ] for public-facing functionality, test in browsers consistent with [public browser use data](https://analytics.usa.gov/), including Internet Explorer 11
- [ ] test in Mobile Safari and Mobile Chrome, with the caveat that not all internal Court functionality will be necessary on these platforms
- [ ] use an automated audit tool for code quality and practices (recommended: [Chrome DevTools](https://developers.google.com/web/tools/chrome-devtools/), aka [Lighthouse](https://chrome.google.com/webstore/detail/lighthouse/blipmdconlkpinefehnmjammfjpmpbjk))
- [ ] look at efficiency of page loads, asset sizes, HTTP connection management, etc.
- [ ] review for accessibility
- [ ] use an automated audit tool, such as Chrome Audit or aXe
- [ ] navigate site only with the keyboard
- [ ] use VoiceOver or Narrator to navigate the site with audio only, with the display turned off
- [ ] manually test anything that pa11y cannot test automatically (e.g., contrast of text over images)
- [ ] review static code analysis results
- [ ] examine OWASP ZAP output in `docs/`, ensure that any errors are known to be false positives or have been previously declared to be acceptable
- [ ] critically read all new code, in the context of existing code, [looking for problems](#what-we-look-for), e.g.:
- [ ] make sure names of methods and variables are sensible
- [ ] make sure code does not contain secrets
- [ ] be suspicious of commented-out code
- [ ] any code with a purpose that isn’t immediately clear should have a comment explaining it
- [ ] check that code style is consistent
- [ ] be suspicious of any code that accepts input from the outside world, ensure that it doesn’t enable any kind of buffer overflows or SQL injection attacks
- [ ] tests
- [ ] review static code analysis results in SonarCloud
- [ ] run a security audit of dependencies (`npm audit`) in `efcms-service`, `web-client`, and `shared`, to ensure that there are no vulnerabilities that will be deployed to production (as opposed to vulnerabilities that only have an impact on the development environment)
- [ ] examine OWASP ZAP output in `docs/`, to ensure that any errors are known to be false positives or have been previously declared to be acceptable
- [ ] skim all new code, in the context of existing code, [looking for problems](#what-we-look-for) (knowing that the vast majority of new code will be covered by tests)
- [ ] review all tests
- [ ] look at code coverage of tests in SonarCloud
- [ ] review all new tests for correctness, quality of naming
- [ ] determine what code isn’t tested, review that especially carefully
- [ ] methodically review all new tests for correctness, quality of naming
- [ ] determine what code isn’t tested, review that rigorously
- [ ] review documentation to ensure that it matches changes
- [ ] provide comments on the pull request on GitHub, as necessary
- [ ] for comments that are specific to a particular line of code, comment on those specific lines
Expand Down
41 changes: 39 additions & 2 deletions Jenkinsfile
Original file line number Diff line number Diff line change
Expand Up @@ -70,7 +70,7 @@ pipeline {
}
}
}
stage('Tests') {
stage('Testing') {
parallel {
stage('Pa11y') {
agent any
Expand All @@ -87,7 +87,7 @@ pipeline {
stage('Cypress') {
agent any
steps {
sh "CONTAINER_NAME=ui-cypress-${BUILD_NUMBER} ./docker-cypress.sh"
sh "CONTAINER_NAME=ui-cypress-${BUILD_NUMBER}-${GIT_COMMIT} ./docker-cypress.sh"
}
post {
always {
Expand All @@ -98,6 +98,38 @@ pipeline {
}
}
}
stage('Deploy') {
parallel {
stage('efcms-service') {
when {
expression {
shouldDeploy(env.BRANCH_NAME)
}
}
steps {
build job: 'ef-cms-api-deploy', parameters: [
[$class: 'StringParameterValue', name: 'sha1', value: "${GIT_COMMIT}"],
[$class: 'StringParameterValue', name: 'target_sha1', value: "${env.CHANGE_TARGET}"],
[$class: 'StringParameterValue', name: 'branch_name', value: "${env.BRANCH_NAME}"]
]
}
}
stage('web-client') {
when {
expression {
shouldDeploy(env.BRANCH_NAME)
}
}
steps {
build job: 'ef-cms-ui-deploy', parameters: [
[$class: 'StringParameterValue', name: 'sha1', value: "${GIT_COMMIT}"],
[$class: 'StringParameterValue', name: 'target_sha1', value: "${env.CHANGE_TARGET}"],
[$class: 'StringParameterValue', name: 'branch_name', value: "${env.BRANCH_NAME}"]
]
}
}
}
}
}
post {
always {
Expand All @@ -106,6 +138,11 @@ pipeline {
}
}

def shouldDeploy(branchName) {
['develop', 'staging', 'master'].contains(branchName) == true
}


def checkCommit(folder) {
if (env.CHANGE_TARGET) {
def matches = sh(returnStatus:true, script: "git diff --name-only origin/${env.CHANGE_TARGET} | grep '^${folder}'")
Expand Down
40 changes: 25 additions & 15 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,10 @@ This is a React-based Javascript application. It’s housed in a [monorepo](http
- A [glossary of terminology](https://github.com/flexion/ef-cms/wiki/Glossary) is found on Flexion's wiki.
- Flexion maintains [a collection of UX documentation](https://github.com/flexion/ef-cms/wiki/UX-Documentation), including [initial onsite user research](https://drive.google.com/open?id=1iapbWu6FFk6jWUdZyO_E4MUrwBpk0S9VCfhs_04yWJ0), [system user flows](https://www.lucidchart.com/invitations/accept/3548e4bf-2677-43ba-9707-c8ee797381eb), [user roles and permissions](https://docs.google.com/spreadsheets/d/1Hh7xMlnW87ospse50CWlwnGBrifrINeCyR2a8E--9wg/edit?usp=sharing), and a [content document](https://docs.google.com/spreadsheets/d/1lDbnSUwi85e-nQ7o1sNLpj2vzRFiTSeav5u3B3z_SZ4/edit?usp=sharing).

## AWS Diagram

<a href="docs/images/aws-diagram.png"><img src="docs/images/aws-diagram.png" style="border: 2px solid #000; " /></a>

## Backlog

The backlog is stored [in GitHub Issues in Flexion’s repository](https://github.com/flexion/ef-cms/issues), _not_ on this repository. Although they can be viewed like any other GitHub issues, they are managed on a scrum board that requires the [ZenHub browser plugin](https://www.zenhub.com/) to see.
Expand Down Expand Up @@ -75,9 +79,13 @@ Both the web-client and efcms-service share code that exists in the `shared` dir

- `cd efcms-service && npm start`

#### Login and Test Users
## Login and Test Users

There are two login mechanisms available — the legacy mock login system, and a new one that emulates AWS Cognito.

- for /mock-login you can login using:
## Mock Login

You can log in using these usernames:

```
taxpayer
Expand All @@ -88,30 +96,32 @@ respondent
seniorattorney
```

- to run the project locally using the dev cognito:
`npm run dev:cognito`
You can then login with:
No password is required.

## AWS Cognito

To run use Cognito, start the web client with `npm run dev:cognito` (instead of `npm start`) You can then log in with:

```
petitioner1@example.com - petitioner5@example.com
petitionsclerk1@example.com - petitionsclerk5@example.com
docketclerk1@example.com - docketclerk5@example.com
intakeclerk1@example.com - intakeclerk5@example.com
respondent1@example.com - respondent5@example.com
seniorattorney1@example.com - seniorattorney5@example.com
petitioner1@example.com petitioner5@example.com
petitionsclerk1@example.com petitionsclerk5@example.com
docketclerk1@example.com docketclerk5@example.com
intakeclerk1@example.com intakeclerk5@example.com
respondent1@example.com respondent5@example.com
seniorattorney1@example.com seniorattorney5@example.com
```

all passwords are:
The password for all accounts is:

`Testing1234$`

### CI/CD Setup
## CI/CD Setup

For instructions on how to build the DevOps pipeline and deploy the software to AWS, see [SETUP.md](SETUP.md).

### Editor configuration
## Editor configuration

#### Atom.io
### Atom.io

Install the following for best results:

Expand Down
24 changes: 13 additions & 11 deletions SETUP.md
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,7 @@ The end result of this is not a dev, staging, or production website, but is inst
- [Configure the AWS CLI account](https://docs.aws.amazon.com/cli/latest/userguide/cli-config-files.html) on your local machine to use the role or user you just created in IAM.
- Clone this GitHub repository locally.
- [Create a new GitHub account](https://github.com/join), with read-level access to the repository, which Jenkins will use to interact with GitHub. (GitHub describes these as “bot accounts” or “machine accounts,” and they are the exception to GitHub’s rule that accounts are intended for humans.)
- [Create a GitHub personal access token](https://github.com/settings/tokens), which Jenkins will use to build pull requests. Give it the following permissions: `repo:status`, `public_repo`, `admin:repo_hook`, `write:repo_hook`, and `read:repo_hook`. (This will be referred to as `GITHUB_TOKEN` when setting up Jenkins.)
- [Create a SonarCloud account](https://sonarcloud.io/). SonarCloud will be used to tests each build.
- [Create a new SonarCloud organization](https://sonarcloud.io/create-organization).
- [Create a token](https://sonarcloud.io/account/security) that Jenkins can use to interact with SonarCloud. (This will be referred to as `SONAR_TOKEN` when setting up Jenkins.)
Expand All @@ -46,37 +47,38 @@ The end result of this is not a dev, staging, or production website, but is inst
- Note the values of the four `NS` domains. These are what need to be added to the DNS entry for your main domain name.
- The method of modifying your main domain name’s DNS will vary enormously, so specific guidance is impossible, but you need to create four new `NS` records, one for each of those Route 53 records, with a host name of the subdomain (e.g., `ef-cms`) and a value of the AWS DNS (e.g., `ns-123.awsdns-56.net`). If you are limited in the number of `NS` records that you can create, simply create as many of the four as you can.
6. If completing the prior step took more than a few minutes, then step 3 failed. That’s OK! Simply re-run `deploy-infrastructure.sh`.
7. After `deploy-infrastructure.sh` has completed successfully, run the script to install plugins into Jenkins, `setup-jenkins.sh`, found in `management/bin/`.
7. After `deploy-infrastructure.sh` has completed successfully, run the script to install plugins into Jenkins, `setup-jenkins.sh`, found in `management/bin/`. This must be run from within `management/management/`, like such: `../bin/setup-jenkins.sh`.
8. Log into Jenkins.
- Get the Jenkins credentials, using `show-passwords.sh`, found in `management/management/`.
- Note the Jenkins username and password.
- Open Jenkins in your browser. This is found on the subdomain that you figured, at the `jenkins-ef-cms-ops` sub-subdomain, and in the `/jenkins/` subdirectory, e.g. `https://jenkins-ef-cms-ops.ef-cms.example.gov/jenkins/`.
- Click the `x` in the top right off the modal that appears.
- You may be prompted to restart Jenkins, in which case you should do so.
- After restarting, the modal will pop up again — just click the `x` again.
9. Create 3 global credentials in Jenkins, so that Jenkins has permission to interact with GitHub and SonarCloud, using the credentials that you set up per [the prerequisites](#Prerequisites). This is done at a URL like `https://jenkins-ef-cms-ops.ef-cms.ustaxcourt.gov/jenkins/credentials/store/system/domain/_/`, which you can get to by choosing `Credentials` from the home page menu, `System` ⟶ `Global credentials` ⟶ `Add Credentials`.
9. Create five global credentials in Jenkins, so that Jenkins has permission to interact with GitHub, SonarCloud, and AWS Cognito using the credentials that you set up per [the prerequisites](#Prerequisites). This is done at a URL like `https://jenkins-ef-cms-ops.ef-cms.ustaxcourt.gov/jenkins/credentials/store/system/domain/_/`, which you can get to by choosing `Credentials` from the home page menu, `System` ⟶ `Global credentials` ⟶ `Add Credentials`.
- Create a “username with password” type. Provide an ID of `GITHUB_USER`, and enter the username and password for the GitHub account that you created.
- Create a “secret text” type. Provide an ID of `API_SONAR_TOKEN`, and a `secret` that is the value of the token that you created in SonarCloud.
- Create a “secret text” type. Provide an ID of `UI_SONAR_TOKEN`, and a `secret` that is the value of the token that you created in SonarCloud.
- Create a “secret text” type. Provide an ID of `SHARED_SONAR_TOKEN`, and a `secret` that is the value of the token that you created in SonarCloud.
- Create a “secret text” type. Provide an ID of `USTC_ADMIN_PASS`, and a `secret` of your choice. When the deploy runs, a Cognito user with the email of 'ustcadmin@example.com' will be created with the password you supplied in `secret`. This ustcadmin@example.com user is currently only used for hitting the POST@v1/users endpoint for creating users.
- Create a “secret text” type. Provide an ID of `GITHUB_TOKEN`, and a `secret` that is the value of the token that you created in GitHub.

10. Set up the Sonar organization properties in Jenkins. This is done in `Jenkins` ⟶ `Manage Jenkins` ⟶ `Configure System` ⟶ `Global properties`, and then by checking off `Environment variables` to reveal the interface to add new variables. Add the following name/value pairs:

- `SONAR_ORG` / your sonar organization’s name
- `EFCMS_DOMAIN` / your subdomain, e.g. `ef-cms.example.gov`
- `UI_SONAR_KEY` / your Sonar UI project key, e.g. `ef-cms-ui`
- `API_SONAR_KEY` / your Sonar API project key, e.g. `ef-cms-api`
- `SHARED_SONAR_KEY` / your Sonar API project key, e.g. `ef-cms-shared`
- `COGNITO_SUFFIX` / your suffix to use for the Cognito URL, e.g. `flexion-efcms`
- `SONAR_ORG` / your sonar organization’s name
- `EFCMS_DOMAIN` / your subdomain, e.g. `ef-cms.example.gov`
- `UI_SONAR_KEY` / your Sonar UI project key, e.g. `ef-cms-ui`
- `API_SONAR_KEY` / your Sonar API project key, e.g. `ef-cms-api`
- `SHARED_SONAR_KEY` / your Sonar API project key, e.g. `ef-cms-shared`
- `COGNITO_SUFFIX` / your suffix to use for the Cognito URL, e.g. `flexion-efcms`

11. At the CLI, set up the jobs via the `setup-jobs.sh` script, which is in `management/bin/`. This script takes three arguments, with a complete command like: `../bin/setup-jobs.sh https://github.com/flexion/ef-cms.git flexion ef-cms`. Those arguments are, in this order:
- Your Git repository’s URL, e.g. `https://github.com/examplecourt/ef-cms.git`.

- Your organization’s name in GitHub, e.g. `examplecourt`.
- The project repository’s name in GitHub, e.g. `ef-cms`.
- Your organization’s name in GitHub, e.g. `examplecourt`.
- The project repository’s name in GitHub, e.g. `ef-cms`.

12. Increase the number of Jenkins executors to five. Choose `Jenkins` ⟶ `Build Executor Status` ⟶ `Master` ⟶ `Configure`, and change `# of executors` from `2` to `5`.
13. Restart Jenkins. This can be done by choosing `Jenkins` (i.e., going to the home page), and appending `safeRestart` to the URL, e.g. `https://jenkins-ef-cms-ops.ef-cms.example.gov/jenkins/safeRestart`.
14. Set up Jenkins to build pull requests on GitHub. In the GitHub repository housing this project, [create a new webhook](https://github.com/ustaxcourt/ef-cms/settings/hooks). For the `Payload URL`, enter the Jenkins server URL with `/github-webhook/` appended, e.g. `https://jenkins-ef-cms-ops.ef-cms.example.gov/jenkins/github-webhook/`. Select a `Content type` of `application/x-www-form-urlencoded`, enable SSL verification, and send all events to trigger the webhook.

You are done — the CI/CD pipeline is now ready to operate. To run a build, [see Jenkins documentation](https://jenkins.io/doc/).
28 changes: 28 additions & 0 deletions build-all-local.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
#!/bin/bash -e

# This script runs lint, tests, cypress, and pa11y over an already running application. This can only be ran
# with a clean start of the efcms-service.

# For more thorough validations, run the ./build-all.sh script since that
# runs basically all the same things Jenkins runs.

# shared
pushd shared
npm run lint
npm test
popd

# efcms-service
pushd efcms-service
npm run lint
npm test
popd

# web-client
pushd web-client
npm run lint
npm run test:unit
npm test
npm run cypress
npm run test:pa11y
popd
17 changes: 17 additions & 0 deletions clean-up.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
pushd shared
rm -rf node_modules
rm package-lock.json
npm i
popd

pushd efcms-service
rm -rf node_modules
rm package-lock.json
npm i
popd

pushd web-client
rm -rf node_modules
rm package-lock.json
npm i
popd
Binary file added docs/images/aws-diagram.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
4 changes: 2 additions & 2 deletions efcms-service/.eslintrc.js
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
module.exports = {
extends: ['prettier', 'eslint:recommended', 'plugin:security/recommended'],
plugins: ['prettier', 'security', 'jsdoc', 'sort-keys-fix'],
plugins: ['prettier', 'security', 'jsdoc', 'sort-keys-fix', 'jest'],
rules: {
quotes: ['error', 'single'],
'arrow-parens': ['error', 'as-needed'],
Expand Down Expand Up @@ -38,7 +38,7 @@ module.exports = {
},
env: {
es6: true,
mocha: true,
'jest/globals': true,
node: true,
},
parserOptions: {
Expand Down
Loading