-
Notifications
You must be signed in to change notification settings - Fork 5
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
Document architecture in README #278
Conversation
QA SummarySee our documentation for tips on how to resolve failing QA checks.
Test CoverageCoverage report for
|
St | File | % Stmts | % Branch | % Funcs | % Lines | Uncovered Line #s |
---|---|---|---|---|---|---|
🔴 | All files | 44.33 | 25.79 | 48.51 | 44.86 | |
🔴 | src | 0 | 100 | 0 | 0 | |
🔴 | server.ts | 0 | 100 | 0 | 0 | 6-13 |
🟢 | src/directives/requireAuth | 100 | 100 | 100 | 100 | |
🟢 | requireAuth.ts | 100 | 100 | 100 | 100 | |
🟡 | src/directives/skipAuth | 50 | 100 | 0 | 50 | |
🟡 | skipAuth.ts | 50 | 100 | 0 | 50 | 13 |
🔴 | src/functions | 0 | 100 | 0 | 0 | |
🔴 | graphql.ts | 0 | 100 | 0 | 0 | 15-27 |
🟡 | src/functions/processValidationJson | 56 | 50 | 50 | 56 | |
🟢 | processValidationJson.scenarios.ts | 100 | 100 | 100 | 100 | |
🟡 | processValidationJson.ts | 55.1 | 50 | 50 | 55.1 | 36-75,95-96,132-140,152-153,168-171,183-184,197 |
🔴 | src/graphql | 0 | 100 | 100 | 0 | |
🔴 | agencies.sdl.ts | 0 | 100 | 100 | 0 | 1 |
🔴 | expenditureCategories.sdl.ts | 0 | 100 | 100 | 0 | 1 |
🔴 | inputTemplates.sdl.ts | 0 | 100 | 100 | 0 | 1 |
🔴 | organizations.sdl.ts | 0 | 100 | 100 | 0 | 1 |
🔴 | outputTemplates.sdl.ts | 0 | 100 | 100 | 0 | 1 |
🔴 | projects.sdl.ts | 0 | 100 | 100 | 0 | 1 |
🔴 | reportingPeriods.sdl.ts | 0 | 100 | 100 | 0 | 1 |
🔴 | subrecipients.sdl.ts | 0 | 100 | 100 | 0 | 1 |
🔴 | uploadValidations.sdl.ts | 0 | 100 | 100 | 0 | 1 |
🔴 | uploads.sdl.ts | 0 | 100 | 100 | 0 | 1 |
🔴 | users.sdl.ts | 0 | 100 | 100 | 0 | 1 |
🔴 | validationRuleses.sdl.ts | 0 | 100 | 100 | 0 | 1 |
🔴 | src/lib | 13.08 | 8.82 | 11.49 | 13.41 | |
🟡 | auth.ts | 64.7 | 48.38 | 57.14 | 67.34 | 70-71,77-78,94-95,117,124,127,132-139,163,167 |
🔴 | aws.ts | 38.23 | 12.5 | 33.33 | 38.23 | 46-51,67-90,127-159 |
🟢 | constants.ts | 100 | 100 | 100 | 100 | |
🔴 | db.ts | 45.45 | 50 | 50 | 45.45 | 15-35,41,43,50 |
🔴 | ec-codes.ts | 0 | 100 | 100 | 0 | 1 |
🟢 | logger.ts | 100 | 100 | 100 | 100 | |
🔴 | persist-upload.js | 0 | 0 | 0 | 0 | 16-295 |
🔴 | preconditions.ts | 0 | 0 | 0 | 0 | 2-3 |
🔴 | records.js | 0 | 0 | 0 | 0 | 12-214 |
🔴 | templateRules.ts | 0 | 0 | 0 | 0 | |
🔴 | tracer.ts | 0 | 100 | 100 | 0 | 5-14 |
🔴 | validate-upload.js | 0 | 0 | 0 | 0 | 18-790 |
🟢 | validation-error.ts | 83.33 | 100 | 50 | 83.33 | 22 |
🔴 | validation-rules.js | 0 | 0 | 0 | 0 | 6-194 |
🟡 | src/services/agencies | 76.19 | 62.5 | 88.88 | 76.19 | |
🟢 | agencies.scenarios.ts | 100 | 100 | 100 | 100 | |
🟡 | agencies.ts | 74.35 | 62.5 | 85.71 | 74.35 | 43-47,80-81,87,96-104 |
🟡 | src/services/expenditureCategories | 78.57 | 66.66 | 88.88 | 78.57 | |
🟢 | expenditureCategories.scenarios.ts | 100 | 100 | 100 | 100 | |
🟡 | expenditureCategories.ts | 77.77 | 66.66 | 88.88 | 77.77 | 30-34,49-52,60,91 |
🟡 | src/services/inputTemplates | 77.77 | 66.66 | 85.71 | 77.77 | |
🟢 | inputTemplates.scenarios.ts | 100 | 100 | 100 | 100 | |
🟡 | inputTemplates.ts | 76.92 | 66.66 | 85.71 | 76.92 | 25-29,39-40,50,85 |
🟡 | src/services/organizations | 67.39 | 87.5 | 50 | 67.39 | |
🟢 | organizations.scenarios.ts | 100 | 100 | 100 | 100 | |
🟡 | organizations.ts | 65.11 | 87.5 | 42.85 | 65.11 | 34-38,73,86-116,139-163 |
🟡 | src/services/outputTemplates | 77.77 | 66.66 | 85.71 | 77.77 | |
🟢 | outputTemplates.scenarios.ts | 100 | 100 | 100 | 100 | |
🟡 | outputTemplates.ts | 76.92 | 66.66 | 85.71 | 76.92 | 25-29,39-40,50,81 |
🟡 | src/services/passage | 74.07 | 62.5 | 100 | 74.07 | |
🟡 | passage.ts | 74.07 | 62.5 | 100 | 74.07 | 18-19,65-76 |
🟡 | src/services/projects | 80 | 100 | 62.5 | 80 | |
🟢 | projects.scenarios.ts | 100 | 100 | 100 | 100 | |
🟡 | projects.ts | 78.57 | 100 | 62.5 | 78.57 | 45-51 |
🟡 | src/services/reportingPeriods | 67.5 | 70 | 50 | 67.5 | |
🟢 | reportingPeriods.scenarios.ts | 100 | 100 | 100 | 100 | |
🟡 | reportingPeriods.ts | 66.66 | 70 | 50 | 66.66 | 25-29,39-40,55-58,74,105-126 |
🟢 | src/services/subrecipients | 85.71 | 100 | 71.42 | 85.71 | |
🟢 | subrecipients.scenarios.ts | 100 | 100 | 100 | 100 | |
🟢 | subrecipients.ts | 84.61 | 100 | 71.42 | 84.61 | 47-52 |
🟡 | src/services/uploadValidations | 57.14 | 100 | 14.28 | 57.14 | |
🟢 | uploadValidations.scenarios.ts | 100 | 100 | 100 | 100 | |
🟡 | uploadValidations.ts | 53.84 | 100 | 14.28 | 53.84 | 10,16,30,38,45-48 |
🟢 | src/services/uploads | 86.04 | 75 | 76.19 | 86.04 | |
🟢 | uploads.scenarios.ts | 100 | 100 | 100 | 100 | |
🟢 | uploads.ts | 81.81 | 75 | 58.33 | 81.81 | 31,107-121 |
🟢 | src/services/users | 85.96 | 79.41 | 92 | 85.96 | |
🟢 | users.scenarios.ts | 100 | 100 | 100 | 100 | |
🟢 | users.ts | 84.9 | 79.41 | 88.88 | 84.9 | 227-229,238-242,260-261,275-278,296-298,306-307,312,321-324 |
🟢 | src/services/validationRuleses | 85.71 | 100 | 71.42 | 85.71 | |
🟢 | validationRuleses.scenarios.ts | 100 | 100 | 100 | 100 | |
🟢 | validationRuleses.ts | 84.61 | 100 | 71.42 | 84.61 | 43-48 |
Coverage report for web
suite
St | File | % Stmts | % Branch | % Funcs | % Lines | Uncovered Line #s |
---|---|---|---|---|---|---|
🔴 | All files | 13.74 | 14.43 | 11.56 | 13.08 | |
🟢 | api/src/lib | 100 | 100 | 100 | 100 | |
🟢 | constants.ts | 100 | 100 | 100 | 100 | |
🔴 | web/src | 28.57 | 18.75 | 66.66 | 28.57 | |
🔴 | App.tsx | 0 | 0 | 0 | 0 | 3-36 |
🟢 | Routes.tsx | 100 | 100 | 100 | 100 | |
🟡 | auth.ts | 50 | 50 | 100 | 50 | 19-24 |
🔴 | entry.client.tsx | 0 | 0 | 100 | 0 | 10-22 |
🔴 | web/src/auth | 7.14 | 0 | 4.16 | 7.14 | |
🔴 | localAuth.ts | 9.09 | 0 | 8.33 | 9.09 | 39-68,76-80 |
🔴 | passageAuth.ts | 5 | 0 | 0 | 5 | 22-25,31-60 |
🔴 | web/src/components/Agency/Agencies | 0 | 100 | 0 | 0 | |
🔴 | Agencies.tsx | 0 | 100 | 0 | 0 | 9-21 |
🔴 | web/src/components/Agency/AgenciesCell | 0 | 100 | 0 | 0 | |
🔴 | AgenciesCell.tsx | 0 | 100 | 0 | 0 | 8-39 |
🔴 | web/src/components/Agency/Agency | 0 | 0 | 0 | 0 | |
🔴 | Agency.tsx | 0 | 0 | 0 | 0 | 10-78 |
🔴 | web/src/components/Agency/AgencyCell | 0 | 100 | 0 | 0 | |
🔴 | AgencyCell.tsx | 0 | 100 | 0 | 0 | 7-27 |
🔴 | web/src/components/Agency/AgencyForm | 0 | 0 | 0 | 0 | |
🔴 | AgencyForm.tsx | 0 | 0 | 0 | 0 | 25-45 |
🔴 | web/src/components/Agency/EditAgencyCell | 0 | 100 | 0 | 0 | |
🔴 | EditAgencyCell.tsx | 0 | 100 | 0 | 0 | 10-59 |
🔴 | web/src/components/Agency/NewAgency | 0 | 100 | 0 | 0 | |
🔴 | NewAgency.tsx | 0 | 100 | 0 | 0 | 9-35 |
🟢 | web/src/components/Navigation | 100 | 37.5 | 100 | 100 | |
🟢 | Navigation.tsx | 100 | 37.5 | 100 | 100 | 26-70 |
🔴 | web/src/components/Organization/EditOrganizationCell | 0 | 100 | 0 | 0 | |
🔴 | EditOrganizationCell.tsx | 0 | 100 | 0 | 0 | 13-62 |
🔴 | web/src/components/Organization/EditOrganizationForm | 0 | 0 | 0 | 0 | |
🔴 | EditOrganizationForm.tsx | 0 | 0 | 0 | 0 | 27-41 |
🔴 | web/src/components/Organization/NewOrganization | 0 | 100 | 0 | 0 | |
🔴 | NewOrganization.tsx | 0 | 100 | 0 | 0 | 9-37 |
🔴 | web/src/components/Organization/NewOrganizationForm | 0 | 0 | 0 | 0 | |
🔴 | NewOrganizationForm.tsx | 0 | 0 | 0 | 0 | 25-54 |
🔴 | web/src/components/Organization/Organization | 0 | 0 | 0 | 0 | |
🔴 | Organization.tsx | 0 | 0 | 0 | 0 | 10-70 |
🔴 | web/src/components/Organization/OrganizationCell | 0 | 100 | 0 | 0 | |
🔴 | OrganizationCell.tsx | 0 | 100 | 0 | 0 | 7-27 |
🔴 | web/src/components/Organization/OrganizationPickListsCell | 42.85 | 0 | 30 | 38.88 | |
🟡 | OrganizationPickListsCell.mock.ts | 50 | 100 | 0 | 100 | |
🔴 | OrganizationPickListsCell.stories.tsx | 0 | 0 | 0 | 0 | 6-32 |
🟡 | OrganizationPickListsCell.tsx | 80 | 100 | 60 | 75 | 39-58 |
🔴 | web/src/components/Organization/Organizations | 0 | 100 | 0 | 0 | |
🔴 | Organizations.tsx | 0 | 100 | 0 | 0 | 9-21 |
🔴 | web/src/components/Organization/OrganizationsCell | 0 | 100 | 0 | 0 | |
🔴 | OrganizationsCell.tsx | 0 | 100 | 0 | 0 | 8-37 |
🔴 | web/src/components/ReportingPeriod/EditReportingPeriodCell | 0 | 100 | 0 | 0 | |
🔴 | EditReportingPeriodCell.tsx | 0 | 100 | 0 | 0 | 13-76 |
🔴 | web/src/components/ReportingPeriod/NewReportingPeriod | 0 | 100 | 0 | 0 | |
🔴 | NewReportingPeriod.tsx | 0 | 100 | 0 | 0 | 9-35 |
🔴 | web/src/components/ReportingPeriod/ReportingPeriod | 0 | 0 | 0 | 0 | |
🔴 | ReportingPeriod.tsx | 0 | 0 | 0 | 0 | 12-105 |
🔴 | web/src/components/ReportingPeriod/ReportingPeriodCell | 0 | 100 | 0 | 0 | |
🔴 | ReportingPeriodCell.tsx | 0 | 100 | 0 | 0 | 7-34 |
🔴 | web/src/components/ReportingPeriod/ReportingPeriodForm | 0 | 0 | 0 | 0 | |
🔴 | ReportingPeriodForm.tsx | 0 | 0 | 0 | 0 | 18-43 |
🔴 | web/src/components/ReportingPeriod/ReportingPeriods | 0 | 0 | 0 | 0 | |
🔴 | ReportingPeriods.tsx | 0 | 0 | 0 | 0 | 13-98 |
🔴 | web/src/components/ReportingPeriod/ReportingPeriodsCell | 0 | 100 | 0 | 0 | |
🔴 | ReportingPeriodsCell.tsx | 0 | 100 | 0 | 0 | 8-44 |
🟡 | web/src/components/ReportingPeriodsCell | 57.14 | 0 | 60 | 50 | |
🟢 | ReportingPeriodsCell.mock.ts | 100 | 100 | 100 | 100 | |
🔴 | ReportingPeriodsCell.stories.tsx | 0 | 0 | 0 | 0 | 6-32 |
🟢 | ReportingPeriodsCell.tsx | 100 | 100 | 100 | 100 | |
🔴 | web/src/components/TableBuilder | 0 | 0 | 0 | 0 | |
🔴 | DebouncedInput.tsx | 0 | 0 | 0 | 0 | 13-32 |
🔴 | Filter.tsx | 0 | 0 | 0 | 0 | 6-15 |
🔴 | TableBuilder.tsx | 0 | 0 | 0 | 0 | 22-70 |
🔴 | TableHeader.tsx | 0 | 0 | 0 | 0 | 5-42 |
🔴 | TableRow.tsx | 0 | 100 | 0 | 0 | 3-7 |
🟡 | web/src/components/TemplateUploadReportingPeriodCell | 55 | 0 | 55.55 | 47.05 | |
🟢 | TemplateUploadReportingPeriodCell.mock.ts | 100 | 100 | 100 | 100 | |
🔴 | TemplateUploadReportingPeriodCell.stories.tsx | 0 | 0 | 0 | 0 | 11-37 |
🟢 | TemplateUploadReportingPeriodCell.tsx | 100 | 100 | 100 | 100 | |
🔴 | web/src/components/Upload/EditUploadCell | 0 | 100 | 0 | 0 | |
🔴 | EditUploadCell.tsx | 0 | 100 | 0 | 0 | 10-66 |
🔴 | web/src/components/Upload/NewUpload | 0 | 100 | 0 | 0 | |
🔴 | NewUpload.tsx | 0 | 100 | 0 | 0 | 8-38 |
🔴 | web/src/components/Upload/Upload | 0 | 0 | 0 | 0 | |
🔴 | Upload.stories.tsx | 0 | 100 | 100 | 0 | 5-93 |
🔴 | Upload.tsx | 0 | 0 | 0 | 0 | 11-61 |
🔴 | web/src/components/Upload/UploadCell | 0 | 100 | 0 | 0 | |
🔴 | UploadCell.tsx | 0 | 100 | 0 | 0 | 7-59 |
🔴 | web/src/components/Upload/UploadForm | 0 | 0 | 0 | 0 | |
🔴 | UploadForm.tsx | 0 | 0 | 0 | 0 | 19-99 |
🔴 | web/src/components/Upload/UploadValidationButtonGroup | 0 | 0 | 0 | 0 | |
🔴 | UploadValidationButtonGroup.stories.tsx | 0 | 100 | 0 | 0 | 5-47 |
🔴 | UploadValidationButtonGroup.tsx | 0 | 0 | 0 | 0 | 24-57 |
🔴 | web/src/components/Upload/UploadValidationResultsTable | 42.85 | 100 | 100 | 42.85 | |
🔴 | UploadValidationResultsTable.stories.tsx | 0 | 100 | 100 | 0 | 6-41 |
🟢 | UploadValidationResultsTable.tsx | 100 | 100 | 100 | 100 | |
🔴 | web/src/components/Upload/UploadValidationStatus | 0 | 0 | 0 | 0 | |
🔴 | UploadValidationStatus.tsx | 0 | 0 | 0 | 0 | 3-30 |
🔴 | web/src/components/Upload/Uploads | 0 | 0 | 0 | 0 | |
🔴 | Uploads.tsx | 0 | 100 | 0 | 0 | 9-17 |
🔴 | columns.tsx | 0 | 0 | 0 | 0 | 7-63 |
🔴 | web/src/components/Upload/UploadsCell | 0 | 100 | 0 | 0 | |
🔴 | UploadsCell.tsx | 0 | 100 | 0 | 0 | 8-55 |
🔴 | web/src/components/User/EditUserCell | 0 | 100 | 0 | 0 | |
🔴 | EditUserCell.tsx | 0 | 100 | 0 | 0 | 10-58 |
🔴 | web/src/components/User/NewUser | 0 | 100 | 0 | 0 | |
🔴 | NewUser.tsx | 0 | 100 | 0 | 0 | 9-32 |
🔴 | web/src/components/User/User | 0 | 0 | 0 | 0 | |
🔴 | User.tsx | 0 | 0 | 0 | 0 | 10-94 |
🔴 | web/src/components/User/UserCell | 0 | 100 | 0 | 0 | |
🔴 | UserCell.tsx | 0 | 100 | 0 | 0 | 7-30 |
🔴 | web/src/components/User/UserForm | 0 | 0 | 0 | 0 | |
🔴 | UserForm.tsx | 0 | 0 | 0 | 0 | 28-202 |
🔴 | web/src/components/User/Users | 0 | 100 | 0 | 0 | |
🔴 | Users.tsx | 0 | 100 | 0 | 0 | 9-24 |
🔴 | web/src/components/User/UsersCell | 0 | 100 | 0 | 0 | |
🔴 | UsersCell.tsx | 0 | 100 | 0 | 0 | 8-44 |
🟡 | web/src/layouts/AuthenticatedLayout | 60 | 50 | 100 | 60 | |
🔴 | AuthenticatedLayout.stories.tsx | 0 | 100 | 100 | 0 | 5-13 |
🟢 | AuthenticatedLayout.tsx | 100 | 50 | 100 | 100 | 24 |
🟢 | web/src/lib | 100 | 100 | 100 | 100 | |
🟢 | formatters.tsx | 100 | 100 | 100 | 100 | |
🟢 | seeds.ts | 100 | 100 | 100 | 100 | |
🔴 | web/src/pages/Agency/AgenciesPage | 0 | 100 | 0 | 0 | |
🔴 | AgenciesPage.tsx | 0 | 100 | 0 | 0 | 8-12 |
🔴 | web/src/pages/Agency/AgencyPage | 0 | 100 | 0 | 0 | |
🔴 | AgencyPage.tsx | 0 | 100 | 0 | 0 | 7-8 |
🔴 | web/src/pages/Agency/EditAgencyPage | 0 | 100 | 0 | 0 | |
🔴 | EditAgencyPage.tsx | 0 | 100 | 0 | 0 | 7-8 |
🔴 | web/src/pages/Agency/NewAgencyPage | 0 | 100 | 0 | 0 | |
🔴 | NewAgencyPage.tsx | 0 | 100 | 0 | 0 | 3-4 |
🔴 | web/src/pages/FatalErrorPage | 0 | 0 | 0 | 0 | |
🔴 | FatalErrorPage.tsx | 0 | 0 | 0 | 0 | 15 |
🟡 | web/src/pages/ForbiddenPage | 50 | 100 | 100 | 50 | |
🔴 | ForbiddenPage.stories.tsx | 0 | 100 | 100 | 0 | [5-13](https://github.com/usdigitalresponse/cpf-reporter/blob/76105cac2fa6efe78d4117f1e8c6c5f569ec39b1/web/src/pages/ForbiddenPage/ForbiddenPage.stories.tsx#L5...*[Comment body truncated]* |
Terraform Summary
Hint: If "Terraform Format & Style" failed, run OutputValidation Output
Plan Summary
Pusher: @as1729, Action: |
Code for this service can generally be considered under four categories: | ||
|
||
1. Web-side TypeScript code, located under `web/`, which is used to build the single-page application (SPA) that runs in users' browsers. | ||
2. API-side TypeScript code, located under `api/`, which powers the GraphQL API consumed by the SPA. |
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.
Is it worth breaking this down further by explaining:
2. API-Side Typescript code, located under api/
which has two entrypoints:
- GraphQL entrypoint - this begins at
api/src/functions/graphql.ts
and powers the GraphQL API consumed by the SPA - One-off endpoints - this begins at
api/src/functions/{functionName}/{functionName.ts}
and powers one-off lambda endpoints that can be consumed by the SPA and other clients.
This PR updates the README for this repository. It fills out several previously-"TBD" sections and provides describes service architecture with an accompanying reference diagram.