Repository: cal-itp/benefits

Issue:
Refactor language files for multiple verifiers
## Background

We need message strings for multiple verifiers

## Tasks

* [x] Create a new [verifier fixture](https://github.com/cal-itp/benefits/blob/dev/fixtures/02_eligibilityverifier.json) from the existing one
  * [x] With a new `pk` and `fields.name`
  * [x] Adjust both to have different `msgid`, e.g. `eligibility.pages.confirm.dmv.*` and `eligibility.pages.confirm.mst.*`
* [x] Adjust the `django.po` files with new `msgid` and new sample content for the Courtesy Cards verifier for each language
* [x] Wire the above fixture to one of the [sample agencies](https://github.com/cal-itp/benefits/blob/dev/fixtures/04_transitagency.json)

## Testing

Once #322 is merged

* [x] Remove your local db and local compiled language files, then run `bin/init.sh`
  * [x] Observe that the migrations run correctly, the fixture data is loaded, and the language files are compiled
* [x] Open the app locally and select the agency configured above with multiple verifiers
  * [x] Observe the `eligibility:index` view with different verifier selections
* [x] Select one of the verifiers
  * [x] Observe the verifier-specific `eligibility:start` view
  * [x] Confirm verification of a test user
* [x] Go back to `eligibility:index` and select the other verifier
  * [x] Observe the verifier-specific `eligibility:start` view
  * [x] Confirm verification of a test user


Discussion:

Resolving patch:
diff --git a/benefits/eligibility/forms.py b/benefits/eligibility/forms.py
--- a/benefits/eligibility/forms.py
+++ b/benefits/eligibility/forms.py
@@ -20,11 +20,11 @@ class EligibilityVerifierSelectionForm(forms.Form):
 
     verifier = forms.ChoiceField(label="", widget=forms.RadioSelect)
 
-    submit_value = _("eligibility.pages.index.button")
+    submit_value = _("eligibility.buttons.continue")
 
     def __init__(self, agency: models.TransitAgency, *args, **kwargs):
         super().__init__(*args, **kwargs)
-        choices = [(v.id, v.selection_label) for v in agency.eligibility_verifiers.all()]
+        choices = [(v.id, _(v.selection_label)) for v in agency.eligibility_verifiers.all()]
         self.fields["verifier"].choices = choices
 
 
diff --git a/benefits/eligibility/views.py b/benefits/eligibility/views.py
--- a/benefits/eligibility/views.py
+++ b/benefits/eligibility/views.py
@@ -77,7 +77,7 @@ def start(request):
         ],
         paragraphs=[_(verifier.start_blurb)],
         image=_index_image(),
-        button=viewmodels.Button.primary(text=_("eligibility.pages.start.button"), url=reverse("eligibility:confirm")),
+        button=viewmodels.Button.primary(text=_("eligibility.buttons.continue"), url=reverse("eligibility:confirm")),
     )
 
     return PageTemplateResponse(request, page)


Test patch:
diff --git a/tests/cypress/specs/feature/eligibility.spec.js b/tests/cypress/specs/feature/eligibility.spec.js
--- a/tests/cypress/specs/feature/eligibility.spec.js
+++ b/tests/cypress/specs/feature/eligibility.spec.js
@@ -8,7 +8,7 @@ describe("Eligibility confirmation flow", () => {
     cy.visit("/");
     cy.contains(agencies[0].fields.short_name).click();
     cy.contains("Let’s do it!").click();
-    cy.contains("Ready to continue").click();
+    cy.contains("Continue").click();
   });
 
   it("Confirms an eligible user", () => {
diff --git a/tests/cypress/specs/ui/eligibility.spec.js b/tests/cypress/specs/ui/eligibility.spec.js
--- a/tests/cypress/specs/ui/eligibility.spec.js
+++ b/tests/cypress/specs/ui/eligibility.spec.js
@@ -3,11 +3,11 @@ const agencies = require("../../fixtures/transit-agencies");
 const eligibility_url = "/eligibility/confirm";
 
 describe("Eligibility confirmation page spec", () => {
-  it("User can navigate to the confirmation page", () => {
+  it.skip("User can navigate to the confirmation page", () => {
     cy.visit("/");
     cy.contains(agencies[0].fields.short_name).click();
     cy.contains("Let’s do it!").click();
-    cy.contains("Ready to continue").click();
+    cy.contains("Continue").click();
     cy.url().should("include", eligibility_url);
   });
 });
@@ -17,17 +17,17 @@ describe("Eligibility confirmation form spec", () => {
     cy.visit("/");
     cy.contains(agencies[0].fields.short_name).click();
     cy.contains("Let’s do it!").click();
-    cy.contains("Ready to continue").click();
+    cy.contains("Continue").click();
   });
 
-  it("Has a driver’s license or ID number form label and corresponding field", () => {
+  it.skip("Has a driver’s license or ID number form label and corresponding field", () => {
     cy.get("input:focus").should("have.length", 0);
     cy.contains("CA driver’s license or ID number *").click();
 
     cy.get("input:focus").should("have.length", 1);
   });
 
-  it("Has a last name form label and corresponding form field", () => {
+  it.skip("Has a last name form label and corresponding form field", () => {
     cy.get("input:focus").should("have.length", 0);
     cy.contains("Last name (as it appears on ID) *").click();