Skip to content

Commit

Permalink
Merge branch 'main' into 61146-Resolve-validation-focus-2nd-branch
Browse files Browse the repository at this point in the history
  • Loading branch information
vsaleem committed Oct 4, 2024
2 parents 647f61a + 7d6e9e5 commit 9b07614
Show file tree
Hide file tree
Showing 41 changed files with 527 additions and 540 deletions.
17 changes: 9 additions & 8 deletions src/applications/burials-ez/README.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
App Name: `Form 21P-530EZ`
Application for Burial Benefits (Under 38 U.S.C. Chapter 23)
Active engineers: Sean Midgley (front end), Dakota Larson (front end), Evan Smith (back end), Thomas Blackwell (back end)

Form ID (if different from app name): `21P-530EZ`

# Background
Expand Down Expand Up @@ -47,28 +47,29 @@ The default form configuration includes a `Review Application` step that gives t

The form system uses Redux and thus we also use Redux in our form so we have a `/actions` and a `/reducers` folder to hold the respective Redux code.

Each individual chapter of the form has it's own folder labeled 01 - 05 followed by the section name (`/config/chapters/). Each folder houses the individual pages for the corresponding chapter.
All of the applications helper functions, labels, and additional validation is located in the utility folder (`/utils`). This includes submission, polling, and error handling.
Each individual chapter of the form has it's own folder labeled 01 - 05 followed by the section name (`/config/chapters/). Each folder houses the individual pages for the corresponding chapter. All of the applications helper functions, labels, and additional validation is located in the utility folder (`/utils`). This includes submission, polling, and error handling.

## Callouts on how the front end works

The original form system is used to build this application and follows a pretty standard implementation with just a few areas worth noting.

### Feature Toggles (front end)

Active toggle names:
Active toggle names:

- `burial_form_enabled`

The form is built using `/config/form.js` which is imported and used inside `/BurialsApp.jsx` with the `<RoutedSavableApp />` component from the platform.
In `/BurialsApp.jsx` we dynamically render a loading indicator if the app is in an `isLoading` state from Redux. This allows us to show a loading indicator while we check the `BurialFormEnabled` feature toggle boolean to decide whether we show the form or not.
If the feature toggle is not enabled we display a deactivation page (`NoFormPage.jsx`) which explains 'the online form is not working right now' with a prompt and instructions to apply by mail or in person instead.
The form is built using `/config/form.js` which is imported and used inside `/BurialsApp.jsx` with the `<RoutedSavableApp />` component from the platform.
In `/BurialsApp.jsx` we dynamically render a loading indicator if the app is in an `isLoading` state from Redux. This allows us to show a loading indicator while we check the `BurialFormEnabled` feature toggle boolean to decide whether we show the form or not.
If the feature toggle is not enabled we display a deactivation page (`NoFormPage.jsx`) which explains 'the online form is not working right now' with a prompt and instructions to apply by mail or in person instead.
If the feature toggle is enabled then the form renders a `<SaveInProgressIntro />` component from the platform and an introduction to start the form.
Note: this was put in place in the event the form needs to be fully deactivated for any reason.

This iteration of the form was built in 2024 and referred to as first `burials-v2`, then `burials-ez`.
***explain redirect and flipper for redirect***
**_explain redirect and flipper for redirect_**

### Custom Styling

All custom styling in `/sass/burials.scss` is needed specifically to address WCAG contrast violations that the lighter colored "help text" or "hint" presents and fixes spacing in the Array Views.

### Saving Progress (back end)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,15 +6,15 @@ const { ethnicity, orginRace } = fullSchema10282.properties;
const uiSchema = {
'ui:title': (
<h3 className="vads-u-margin--0 vads-u-color--base">
Your ethnicity, race, or origin
Your ethnicity and race
</h3>
),
ethnicity: {
'ui:title': 'What is your ethnicity?',
'ui:widget': 'radio',
},
orginRace: {
'ui:title': 'What is your race or origin?',
'ui:title': 'What is your race?',
'ui:description': (
<p className="vads-u-margin-top--0 vads-u-color--gray-medium">
Select all that you identify with
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,19 +5,27 @@ const { raceAndGender } = fullSchema10282.definitions;
const description = (
<>
<p>
The next few questions are about race, gender, education, and employment.
These questions are optional. You don’t need to answer them.
The next few questions are about race and gender. These questions are
optional. You don’t have to answer them.
</p>
<p>
We ask these questions for statistical purposes. Your answers won’t affect
your eligibility for the IBM SkillsBuild program.
</p>
</>
);

const uiTitle = (
<h3 className="vads-u-margin--0 vads-u-color--base">
Optional demographic information
</h3>
);

const uiSchema = {
'ui:title': uiTitle,
'ui:description': description,
raceAndGender: {
'ui:title': 'Do you want to answer the optional questions?',
'ui:title': 'Do you want to answer these optional questions?',
'ui:widget': 'radio',
},
};
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,7 @@ const schema = {
properties: {
techIndustryFocusArea: {
...fullSchema10282.properties.techIndustryFocusArea,
enum: fullSchema10282.properties.techIndustryFocusArea.enum.sort(),
},
},
};
Expand Down
58 changes: 0 additions & 58 deletions src/applications/pensions/21p527ez/README.md

This file was deleted.

120 changes: 120 additions & 0 deletions src/applications/pensions/PULL_REQUEST_TEMPLATE.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,120 @@
**Note**: Delete the description statements, complete each step. **None are optional**, but can be justified as to why they cannot be completed as written. Provide known gaps to testing that may raise the risk of merging to production.

## Are you removing, renaming or moving a folder in this PR?

- [ ] No, I'm not changing any folders (skip to TeamSites and delete the rest of this section)

- [ ] Yes, I'm removing, renaming or moving a folder

If the folder you changed contains a `manifest.json`, search for its `entryName` in the content-build [registry.json](https://github.com/department-of-veterans-affairs/content-build/blob/main/src/applications/registry.json) (the `entryName` there will match).

If an entry for this folder exists in content-build and you are:

1. **Deleting a folder**:

1. First search `vets-website` for _all_ instances of the `entryName` in your `manifest.json` and remove them in a separate PR. Look particularly for references in `src/applications/static-pages/static-pages-entry.js` and `src/platform/forms/constants.js`. _**If you do not do this, other applications will break!**_

- _Add the link to your merged vets-website PR here_

2. Then, Delete the application entry in [registry.json](https://github.com/department-of-veterans-affairs/content-build/blob/main/src/applications/registry.json) and merge that PR **before** this one

- _Add the link to your merged content-build PR here_

2. **Renaming or moving a folder**: Update the entry in the [registry.json](https://github.com/department-of-veterans-affairs/content-build/blob/main/src/applications/registry.json), but do not merge it until your vets-website changes here are merged. The content-build PR must be merged immediately after your vets-website change is merged in to avoid CI errors with content-build (and Tugboat).

### :warning: TeamSites :warning:

Examples of a TeamSite: https://va.gov/health and https://benefits.va.gov/benefits/. This scenario is also referred to as the "injected" header and footer. You can reach out in the `#sitewide-public-websites` Slack channel for questions.

## Did you change site-wide styles, platform utilities or other infrastructure?

- [ ] No

- [ ] Yes, and I used the [proxy-rewrite steps](https://github.com/department-of-veterans-affairs/vets-website/tree/main/src/applications/proxy-rewrite#that-sounds-normal-so-whats-the-proxy-all-about) to test the injected header scenario

## Summary

Summary of changes on the Pension Benefits form (21P-527EZ)

## Issue

- _Link to ticket created in va.gov-team repo_

## Related issue(s)

- _Link to previous change of the code/bug (if applicable)_

- _Link to epic if not included in ticket_

## Associated Pull Request(s)

- _Link to associated vets-website, vets-api or vets-json-schema PR (if applicable)_

- _Link to previous changes (if applicable)_

## How to run in local environment

1. Check out this branch locally
2. Run `vets-website` and `vets-api`
3. In your local environment, set the `{{flipper_name}}` flipper to 'enabled' at http://localhost:3000/flipper/features/{{flipper_name}} (if applicable)
4. Go to `http://localhost:3001/pension/apply-for-veteran-pension-form-21p-527ez/` in your browser

## How to verify

1. _Step 1_
2. _Step 2_
3. _Step 3_

## What areas of the site does it impact?

Pension Benefits Application

## Screenshots

### Desktop

| Before | After |
| ----------- | ----------- |
| Upload file | Upload file |

### Mobile (if applicable)

| Before | After |
| ----------- | ----------- |
| Upload file | Upload file |

### Quality Assurance & Testing

- [ ] New unit tests (if applicable)

- [ ] New E2E tests added (if applicable)

- [ ] Existing unit tests and integration tests are passing

- [ ] Existing E2E tests are passing

- [ ] No sensitive information (i.e. PII/credentials/internal URLs/etc.) is captured in logging, hardcoded, or specs

- [ ] Linting warnings have been addressed

- [ ] Documentation has been updated ([link to documentation](#) \*if necessary)

- [ ] Screenshot style, layout and content matches the design references

- [ ] [Accessibility testing](https://depo-platform-documentation.scrollhelp.site/developer-docs/wcag-2-1-success-criteria-and-foundational-testing) has been performed

### Error Handling

- [ ] Browser console contains no warnings or errors.

- [ ] Events are being sent to the appropriate logging solution

- [ ] Feature/bug has a monitor built into Datadog or Grafana (if applicable)

### Authentication

- [ ] Did you login to a local build and verify all authenticated routes work as expected with a test user

## Requested Feedback

(OPTIONAL) _What should the reviewers know in addition to the above. Is there anything specific you wish the reviewer to assist with. Do you have any concerns with this PR, why?_
Loading

0 comments on commit 9b07614

Please sign in to comment.