Repository: cal-itp/benefits

Issue:
Update rendering of Agency index page
## Background

In tandem with #366, this ticket moves the bulk of the contextual information from the application index to the agency index.

We need more flexibility on this page than the current viewmodel / page template allows for.

![image](https://user-images.githubusercontent.com/1783439/160712671-c67eee3c-7aef-4bba-bf95-c317699b7de3.png)

## Tasks

* [x] Create/update text entries in English and Spanish for each paragraph, title, etc.
* [x] Can we embed the **bold** font style in the translation?
* [x] Create text entries for a pre-button label / subhead
* [x] Create a new template `core/agency_index.html` to use for this page
* [x] In the view use the new template


Discussion:

Resolving patch:
diff --git a/benefits/core/views.py b/benefits/core/views.py
--- a/benefits/core/views.py
+++ b/benefits/core/views.py
@@ -57,14 +57,19 @@ def agency_index(request, agency):
     session.reset(request)
     session.update(request, agency=agency, origin=agency.index_url)
 
+    button = viewmodels.Button.primary(text=_("core.pages.index.continue"), url=reverse("eligibility:index"))
+    button.label = _("core.pages.agency_index.button.label")
+
     page = viewmodels.Page(
-        content_title=_index_content_title(),
-        paragraphs=_index_paragraphs(),
-        button=viewmodels.Button.primary(text=_("core.pages.index.continue"), url=reverse("eligibility:index")),
+        content_title=_("core.pages.agency_index.content_title"),
+        button=button,
         classes="home",
     )
 
-    return PageTemplateResponse(request, page)
+    help_page = reverse("core:help")
+    context_dict = {**page.context_dict(), **{"info_link": f"{help_page}#about"}}
+
+    return TemplateResponse(request, "core/agency_index.html", context_dict)
 
 
 @middleware.pageview_decorator


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
@@ -7,7 +7,7 @@ describe("Eligibility confirmation flow", () => {
   beforeEach(() => {
     cy.visit("/");
     cy.contains(agencies[0].fields.short_name).click();
-    cy.contains("Let’s do it!").click();
+    cy.contains("Get started").click();
     cy.contains("Continue").click();
   });
 
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
@@ -9,7 +9,7 @@ describe("Single verifier: Eligibility confirmation page spec", () => {
     cy.visit("/");
     // Selecting DEFTl will go down the single verifier flow
     cy.contains(agencies[1].fields.short_name).click();
-    cy.contains("Let’s do it!").click();
+    cy.contains("Get started").click();
     cy.contains("Continue").click();
     cy.url().should("include", eligibility_confirm_url);
   });
@@ -20,7 +20,7 @@ describe("Multiple Verifier, no AuthProvider: Verifier selection page spec", ()
     cy.visit("/");
     // Selecting ABC will go down the multiple verifier flow
     cy.contains(agencies[0].fields.short_name).click();
-    cy.contains("Let’s do it!").click();
+    cy.contains("Get started").click();
   });
 
   it("User can navigate to the Verifier Selection page", () => {
@@ -61,7 +61,7 @@ describe("Multiple verifier, no AuthProvider: Eligibility confirmation form spec
   beforeEach(() => {
     cy.visit("/");
     cy.contains(agencies[0].fields.short_name).click();
-    cy.contains("Let’s do it!").click();
+    cy.contains("Get started").click();
     cy.get("input:radio").last().click();
     cy.contains("Continue").click();
     cy.contains("You’ll need two things before we get started:");
@@ -90,7 +90,7 @@ describe("Multiple verifier, with AuthProvider: Eligibility start page spec", ()
   beforeEach(() => {
     cy.visit("/");
     cy.contains(agencies[0].fields.short_name).click();
-    cy.contains("Let’s do it!").click();
+    cy.contains("Get started").click();
     cy.get("input:radio").first().click();
     cy.contains("Continue").click();
     cy.url().should("include", eligibility_start_url);
diff --git a/tests/cypress/specs/ui/index.spec.js b/tests/cypress/specs/ui/index.spec.js
--- a/tests/cypress/specs/ui/index.spec.js
+++ b/tests/cypress/specs/ui/index.spec.js
@@ -22,7 +22,7 @@ describe("Index page spec", () => {
   it("Clicking transit option link takes user to a transit provider page", () => {
     cy.contains(agencies[0].fields.short_name).click();
 
-    cy.contains("Let’s do it!").then(($e) => {
+    cy.contains("Get started").then(($e) => {
       expect($e).attr("href").to.include("/eligibility");
     });
   });