Skip to content

feat(22-1990n): Add React form application — generated by Optimus#3

Draft
voidspooks wants to merge 2 commits into
mainfrom
optimus/22-1990n-fe-20260426T223849Z-5bfb
Draft

feat(22-1990n): Add React form application — generated by Optimus#3
voidspooks wants to merge 2 commits into
mainfrom
optimus/22-1990n-fe-20260426T223849Z-5bfb

Conversation

@voidspooks
Copy link
Copy Markdown
Owner

⚠️ AI-Generated PR — This pull request was automatically generated by Optimus. All code requires human review and testing before merging.

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

  • No, I'm not changing any folders

⚠️ TeamSites ⚠️

  • No

Summary

Adds a new React form application for VA Form 22-1990n — Apply for VA Education Benefits Under the National Call to Service Program to src/applications/education/22-1990n/.

This application is scaffolded using platform/forms-system and @department-of-veterans-affairs/component-library (VADS). Key details:

  • 5 form chapters across dedicated config files:
    • applicantInformation — Veteran identity fields (name, SSN, DOB, contact info)
    • serviceInformation — Military service history and National Call to Service agreement details
    • educationTraining — Desired education/training program and institution selection
    • concurrentBenefits — Declaration of any concurrent VA or DoD education benefit usage
    • directDeposit — Bank account information for benefit payment disbursement
  • Save-in-progress (SiP) enabled via standard platform/forms/save-in-progress integration in App.jsx
  • Prefill support configured in form.js to pre-populate applicant information from authenticated VA profile data
  • Conditional logic used within serviceInformation and concurrentBenefits chapters to show/hide fields based on user selections
  • Introduction page (IntroductionPage.jsx) uses SaveInProgressIntro VADS component with OMB info block
  • Confirmation page (ConfirmationPage.jsx) uses ConfirmationPageView pattern with print functionality
  • GetFormHelp component provides VA contact information in the form footer
  • submitForm (config/submitForm.js) posts to the /v0/education_benefits_claims/1990n API endpoint
  • Root URL: /education/apply-for-education-benefits/application/1990n
  • vagovprod flag set to false in manifest.json — not yet production-enabled
  • Team: Optimus / Aquia. No feature flipper used.

Files

  • src/applications/education/22-1990n/manifest.json
  • src/applications/education/22-1990n/app-entry.jsx
  • src/applications/education/22-1990n/sass/22-1990n.scss
  • src/applications/education/22-1990n/routes.js
  • src/applications/education/22-1990n/reducers/index.js
  • src/applications/education/22-1990n/containers/App.jsx
  • src/applications/education/22-1990n/containers/IntroductionPage.jsx
  • src/applications/education/22-1990n/containers/ConfirmationPage.jsx
  • src/applications/education/22-1990n/components/GetFormHelp.jsx
  • src/applications/education/22-1990n/config/chapters/applicantInformation.js
  • src/applications/education/22-1990n/config/chapters/educationTraining.js
  • src/applications/education/22-1990n/config/chapters/serviceInformation.js
  • src/applications/education/22-1990n/config/chapters/concurrentBenefits.js
  • src/applications/education/22-1990n/config/chapters/directDeposit.js
  • src/applications/education/22-1990n/config/form.js
  • src/applications/education/22-1990n/config/submitForm.js
  • src/applications/education/22-1990n/routes.unit.spec.js
  • src/applications/education/22-1990n/reducers/index.unit.spec.js
  • src/applications/education/22-1990n/containers/App.unit.spec.jsx
  • src/applications/education/22-1990n/containers/IntroductionPage.unit.spec.jsx
  • src/applications/education/22-1990n/containers/ConfirmationPage.unit.spec.jsx
  • src/applications/education/22-1990n/config/form.unit.spec.js
  • src/applications/education/22-1990n/config/chapters/applicantInformation.unit.spec.js
  • src/applications/education/22-1990n/config/chapters/educationTraining.unit.spec.js
  • src/applications/education/22-1990n/config/chapters/serviceInformation.unit.spec.js
  • src/applications/education/22-1990n/config/chapters/concurrentBenefits.unit.spec.js
  • src/applications/education/22-1990n/config/chapters/directDeposit.unit.spec.js
  • src/applications/education/22-1990n/config/submitForm.unit.spec.js
  • src/applications/education/22-1990n/components/GetFormHelp.unit.spec.jsx

Related issue(s)

  • department-of-veterans-affairs/va.gov-team#0000

Testing done

  • Code generated by Optimus AI — engineer must verify locally before merging.

Acceptance criteria

  • Unit tests added for form config and page components
  • No PII/credentials/internal URLs hardcoded
  • Linting warnings addressed
  • Accessibility testing performed
  • Browser console contains no warnings or errors

Generated by Optimus (https://github.com/aquia-inc/optimus).
All files require human review before merging.

Files:
- src/applications/education/22-1990n/manifest.json
- src/applications/education/22-1990n/app-entry.jsx
- src/applications/education/22-1990n/sass/22-1990n.scss
- src/applications/education/22-1990n/routes.js
- src/applications/education/22-1990n/reducers/index.js
- src/applications/education/22-1990n/containers/App.jsx
- src/applications/education/22-1990n/containers/IntroductionPage.jsx
- src/applications/education/22-1990n/containers/ConfirmationPage.jsx
- src/applications/education/22-1990n/components/GetFormHelp.jsx
- src/applications/education/22-1990n/config/chapters/applicantInformation.js
- src/applications/education/22-1990n/config/chapters/educationTraining.js
- src/applications/education/22-1990n/config/chapters/serviceInformation.js
- src/applications/education/22-1990n/config/chapters/concurrentBenefits.js
- src/applications/education/22-1990n/config/chapters/directDeposit.js
- src/applications/education/22-1990n/config/form.js
- src/applications/education/22-1990n/config/submitForm.js
- src/applications/education/22-1990n/routes.unit.spec.js
- src/applications/education/22-1990n/reducers/index.unit.spec.js
- src/applications/education/22-1990n/containers/App.unit.spec.jsx
- src/applications/education/22-1990n/containers/IntroductionPage.unit.spec.jsx
- src/applications/education/22-1990n/containers/ConfirmationPage.unit.spec.jsx
- src/applications/education/22-1990n/config/form.unit.spec.js
- src/applications/education/22-1990n/config/chapters/applicantInformation.unit.spec.js
- src/applications/education/22-1990n/config/chapters/educationTraining.unit.spec.js
- src/applications/education/22-1990n/config/chapters/serviceInformation.unit.spec.js
- src/applications/education/22-1990n/config/chapters/concurrentBenefits.unit.spec.js
- src/applications/education/22-1990n/config/chapters/directDeposit.unit.spec.js
- src/applications/education/22-1990n/config/submitForm.unit.spec.js
- src/applications/education/22-1990n/components/GetFormHelp.unit.spec.jsx
The platform FormFooter wraps GetFormHelp content in <va-need-help>,
which already renders its own "Need help?" heading. The custom
GetFormHelp duplicated it.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant