@trevordsouzabrite/test-package 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (69) hide show
  1. package/.claude/agents/playwright-test-generator.md +85 -0
  2. package/.claude/agents/playwright-test-healer.md +45 -0
  3. package/.claude/agents/playwright-test-planner.md +52 -0
  4. package/.claude/prompts/playwright-test-coverage.md +31 -0
  5. package/.claude/prompts/playwright-test-generate.md +12 -0
  6. package/.claude/prompts/playwright-test-heal.md +6 -0
  7. package/.claude/prompts/playwright-test-plan.md +12 -0
  8. package/.claude/settings.local.json +31 -0
  9. package/.github/agents/playwright-test-generator.agent.md +113 -0
  10. package/.github/agents/playwright-test-healer.agent.md +70 -0
  11. package/.github/agents/playwright-test-planner.agent.md +82 -0
  12. package/.github/prompts/playwright-test-coverage.prompt.md +31 -0
  13. package/.github/prompts/playwright-test-generate.prompt.md +12 -0
  14. package/.github/prompts/playwright-test-heal.prompt.md +6 -0
  15. package/.github/prompts/playwright-test-plan.prompt.md +9 -0
  16. package/.github/workflows/copilot-setup-steps.yml +34 -0
  17. package/.github/workflows/playwright-healer-agent.yml +140 -0
  18. package/.github/workflows/playwright.yml +40 -0
  19. package/.mcp.json +13 -0
  20. package/.vscode/extensions.json +6 -0
  21. package/.vscode/mcp.json +13 -0
  22. package/.vscode/settings.example.json +15 -0
  23. package/bitbucket-pipelines.yml +86 -0
  24. package/lib/WebActions.ts +107 -0
  25. package/package.json +33 -0
  26. package/pageRepository/ApplicantPage.ts +1171 -0
  27. package/pageRepository/CreateApplicationPage.ts +1736 -0
  28. package/playwright/.auth/user.json +0 -0
  29. package/specs/Applicant Create Application Page Test Plan.md +440 -0
  30. package/specs/Applicant Dashboard Page Test Plan.md +74 -0
  31. package/specs/Applicant Forgot Password Page Test Plan.md +112 -0
  32. package/specs/Applicant Help Page Test Plan.md +369 -0
  33. package/specs/Applicant Landing Page Test Plan.md +42 -0
  34. package/specs/Applicant Login Page Test Plan.md +116 -0
  35. package/specs/Applicant My Applications Page Test Plan.md +558 -0
  36. package/specs/Applicant My Medical Coverage Page Test Plan.md +689 -0
  37. package/specs/Applicant Privacy Policy Page Test Plan.md +196 -0
  38. package/specs/Applicant Resources Page Test Plan.md +107 -0
  39. package/specs/Applicant Self Register Page Test Plan.md +190 -0
  40. package/specs/README.md +3 -0
  41. package/test-data/Sample.png +0 -0
  42. package/test-data/createApplication/formData.json +42 -0
  43. package/test-data/createApplication/textMessages.json +52 -0
  44. package/test-data/forgotPassword/email.json +5 -0
  45. package/test-data/forgotPassword/textMessages.json +5 -0
  46. package/test-data/help/textContent.json +48 -0
  47. package/test-data/login/invalidUsernamePassword.json +4 -0
  48. package/test-data/login/textMessages.json +5 -0
  49. package/test-data/privacyPolicy/textContent.json +25 -0
  50. package/test-data/selfRegister/mailingAddressStates.json +21 -0
  51. package/test-data/selfRegister/registrationFieldData.json +13 -0
  52. package/test-data/selfRegister/suffix.json +3 -0
  53. package/test-data/selfRegister/textMessages.json +13 -0
  54. package/test-data/test-data.zip +0 -0
  55. package/tests/ApplicantCreateApplicationPageTest.spec.ts +1452 -0
  56. package/tests/ApplicantDashboardPageTest.spec.ts +74 -0
  57. package/tests/ApplicantForgotPasswordPageTest.spec.ts +88 -0
  58. package/tests/ApplicantHelpPageTest.spec.ts +468 -0
  59. package/tests/ApplicantLandingPageTest.spec.ts +33 -0
  60. package/tests/ApplicantLoginPageTest.spec.ts +117 -0
  61. package/tests/ApplicantMyApplicationsPageTest.spec.ts +516 -0
  62. package/tests/ApplicantMyMedicalCoveragePageTest.spec.ts +470 -0
  63. package/tests/ApplicantPrivacyPolicyPageTest.spec.ts +188 -0
  64. package/tests/ApplicantResourcesPageTest.spec.ts +117 -0
  65. package/tests/ApplicantSelfRegisterPageTest.spec.ts +254 -0
  66. package/tests/auth.setup.ts +42 -0
  67. package/tests/authState.ts +15 -0
  68. package/tests/example.spec.ts +18 -0
  69. package/tests/seed.spec.ts +7 -0
@@ -0,0 +1,196 @@
1
+ # Polk County Applicant Privacy Policy Page Test Plan
2
+
3
+ ## Application Overview
4
+
5
+ This plan documents automated coverage in `tests/ApplicantPrivacyPolicyPageTest.spec.ts` for the authenticated applicant **Privacy Policy** page.
6
+
7
+ The Privacy Policy page is only reachable after the applicant has logged in. It is reached from the authenticated portal by clicking the **Privacy Policy** link in the header navigation (which resolves to `/polkphpapplicant/s/privacy-policy`). The footer also contains a **PRIVACY POLICY** link; in the authenticated portal that link resolves to `#` on the current page rather than navigating away, so the primary navigation entry point is the header link.
8
+
9
+ The suite starts from the applicant dashboard, confirms that the user is logged in, clicks **Privacy Policy** in the header navigation, and validates the page layout, content, and navigation behaviour.
10
+
11
+ ## Test Scenarios
12
+
13
+ ### 1. Applicant Privacy Policy Page Tests
14
+
15
+ **Seed:** `tests/seed.spec.ts`
16
+
17
+ #### 1.1. TC-01 - Authenticated Header, Footer, And Privacy Policy H1 Are Visible
18
+
19
+ **File:** `tests/ApplicantPrivacyPolicyPageTest.spec.ts`
20
+
21
+ **Steps:**
22
+ 1. Navigate to `/polkphpapplicant/s/?language=en_US` and wait for the **Logout** button to confirm the applicant session is authenticated.
23
+ - expect: The applicant portal dashboard loads and the Logout button is visible.
24
+ 2. Click the **Privacy Policy** link in the header navigation and wait for the **Polk County Privacy Policy** H1 to appear.
25
+ - expect: The browser navigates to the Privacy Policy page.
26
+ - expect: The URL contains `privacy-policy`.
27
+ - expect: The H1 heading **Polk County Privacy Policy** is visible.
28
+ 3. Verify all authenticated header elements.
29
+ - expect: The Logo image is visible.
30
+ - expect: The **Home** link is visible.
31
+ - expect: The **Create Application** link is visible.
32
+ - expect: The **My Applications** link is visible.
33
+ - expect: The **My Medical Coverage** link is visible.
34
+ - expect: The **Resources** link is visible.
35
+ - expect: The **Help** link is visible.
36
+ - expect: The **Privacy Policy** link is visible.
37
+ - expect: The **Logout** button is visible.
38
+ 4. Scroll to the footer and verify footer elements.
39
+ - expect: The **Polk HealthCare Plan** footer image is visible.
40
+ - expect: The **CONTACT US** link is visible.
41
+ - expect: The **POLK HEALTHCARE PLAN FAQS** link is visible.
42
+ - expect: The **FIND YOUR PROVIDER** link is visible.
43
+ - expect: The **NOTIFY CUSTOMER SERVICE** link is visible.
44
+ - expect: The **ACCESSIBILITY** link is visible.
45
+ - expect: The **TERMS & CONDITIONS** link is visible.
46
+ - expect: The **PRIVACY POLICY** link is visible.
47
+ - expect: The copyright text **Copyright © 2025 Polk County. All Rights Reserved.** is visible.
48
+
49
+ #### 1.2. TC-02 - Registration Information Section Content Is Correct
50
+
51
+ **File:** `tests/ApplicantPrivacyPolicyPageTest.spec.ts`
52
+
53
+ **Steps:**
54
+ 1. Open the Privacy Policy page and wait for the H1 heading to appear.
55
+ - expect: The page content area has loaded.
56
+ 2. Locate the **Registration Information** H2 heading.
57
+ - expect: The H2 heading **Registration Information** is visible on the page.
58
+ 3. Read the first paragraph under **Registration Information**.
59
+ - expect: The paragraph contains the text: *We require some basic information at the time of account creation. When you create your own username and password, we ask you for a valid email address. The Website or Service may also request your phone number for receiving SMS/MMS messages.*
60
+ 4. Locate and read the SMS Privacy Notice paragraph.
61
+ - expect: The paragraph contains the bold label **SMS Privacy Notice:**
62
+ - expect: The paragraph contains the text: *Mobile information will not be shared with third parties or affiliates for marketing or promotional purposes. All the above categories exclude text messaging originator opt-in data and consent; this information will not be shared with any third parties.*
63
+
64
+ #### 1.3. TC-03 - How Polk County Uses Your Information Section Content Is Correct
65
+
66
+ **File:** `tests/ApplicantPrivacyPolicyPageTest.spec.ts`
67
+
68
+ **Steps:**
69
+ 1. Open the Privacy Policy page and wait for the H1 heading to appear.
70
+ - expect: The page content area has loaded.
71
+ 2. Locate the **How Polk County Uses Your Information** H2 heading.
72
+ - expect: The H2 heading **How Polk County Uses Your Information** is visible on the page.
73
+ 3. Locate the introductory paragraph under the H2.
74
+ - expect: The paragraph contains the text: *We may use your information for the following purposes:*
75
+ 4. Verify the bulleted list of data-use items is present and contains exactly 9 items.
76
+ - expect: The list contains exactly 9 items.
77
+ - expect: Item 1: *We use your Registration Information to create your account and provide you the Service.*
78
+ - expect: Item 2: *We use your User Personal Information, specifically your username, to identify you on the Service.*
79
+ - expect: Item 3: *We use your Profile Information to fill out your account profile and to share that profile with other users.*
80
+ - expect: Item 4: *We use your email address and phone number to communicate with you.*
81
+ - expect: Item 5: *We use User Personal Information to respond to support requests.*
82
+ - expect: Item 6 mentions surveys, beta programs, and consent.
83
+ - expect: Item 7: *We use Usage Information and Device Information to better understand how our users use the Service and to make improvements.*
84
+ - expect: Item 8 mentions security purposes and fraud.
85
+ - expect: Item 9 mentions legal obligations and Terms of Service.
86
+ 5. Locate and read the closing paragraph of the section.
87
+ - expect: The paragraph contains the text: *We limit our use of your User Personal Information to the purposes listed in this Privacy Policy. If we need to use your User Personal Information for other purposes, we will ask for your permission first. You can always see what information we have, how we are using it, and what permissions you have given us.*
88
+
89
+ #### 1.4. TC-04 - Browser Tab Title Is Privacy Policy
90
+
91
+ **File:** `tests/ApplicantPrivacyPolicyPageTest.spec.ts`
92
+
93
+ **Steps:**
94
+ 1. Open the Privacy Policy page and wait for the H1 heading to appear.
95
+ - expect: The page has loaded.
96
+ 2. Read `document.title` from the browser.
97
+ - expect: The browser tab title (document.title) is **Privacy Policy**.
98
+
99
+ #### 1.5. TC-05 - Heading Hierarchy And Accessibility Attributes Are Correct
100
+
101
+ **File:** `tests/ApplicantPrivacyPolicyPageTest.spec.ts`
102
+
103
+ **Steps:**
104
+ 1. Open the Privacy Policy page and wait for the H1 heading to appear.
105
+ - expect: The page has loaded.
106
+ 2. Inspect the heading hierarchy on the page.
107
+ - expect: There is exactly one H1 element with the text **Polk County Privacy Policy**.
108
+ - expect: There are exactly two H2 elements: **Registration Information** and **How Polk County Uses Your Information**.
109
+ - expect: No H3 or lower-level headings are present.
110
+ - expect: Headings appear in correct document order: H1 before both H2 elements.
111
+ 3. Verify the HTML `lang` attribute on the root `<html>` element.
112
+ - expect: The document `lang` attribute is **en-US**.
113
+ 4. Verify the Logo image in the header has a meaningful `alt` attribute.
114
+ - expect: The header Logo image has `alt` text **Logo**.
115
+
116
+ #### 1.6. TC-06 - PRIVACY POLICY Link On Another Authenticated Page Navigates To Privacy Policy
117
+
118
+ **File:** `tests/ApplicantPrivacyPolicyPageTest.spec.ts`
119
+
120
+ **Steps:**
121
+ 1. Navigate to the authenticated Resources page at `/polkphpapplicant/s/resourcespage` and wait for the **Resources** heading to appear.
122
+ - expect: The Resources page loads successfully while the user remains authenticated (Logout button visible).
123
+ 2. Scroll to the footer and click the **PRIVACY POLICY** link in the header navigation.
124
+ - expect: The browser navigates to the Privacy Policy page.
125
+ - expect: The URL contains `privacy-policy`.
126
+ - expect: The H1 heading **Polk County Privacy Policy** is visible.
127
+ - expect: The Logout button is still visible, confirming the user remains authenticated.
128
+
129
+ #### 1.7. TC-07 - Header Nav Links From Privacy Policy Page Return To Dashboard While Authenticated
130
+
131
+ **File:** `tests/ApplicantPrivacyPolicyPageTest.spec.ts`
132
+
133
+ **Steps:**
134
+ 1. Open the Privacy Policy page and wait for the H1 heading to appear.
135
+ - expect: The Privacy Policy page loads successfully.
136
+ 2. Click the **Home** link in the header navigation.
137
+ - expect: The browser navigates to the dashboard page.
138
+ - expect: The URL contains `/polkphpapplicant/s/` and does not contain `privacy-policy`.
139
+ - expect: The **Welcome to the Polk HealthCare Plan Applicant Portal** heading is visible.
140
+ - expect: The **Logout** button is still visible, confirming the user remains authenticated.
141
+ 3. Navigate back to the Privacy Policy page and click the Logo image in the header.
142
+ - expect: The browser navigates to the dashboard page.
143
+ - expect: The URL contains `/polkphpapplicant/s/` and does not contain `privacy-policy`.
144
+ - expect: The user remains authenticated.
145
+
146
+ #### 1.8. TC-08 - Desktop Viewport Layout (1500x730) Renders Correctly
147
+
148
+ **File:** `tests/ApplicantPrivacyPolicyPageTest.spec.ts`
149
+
150
+ **Steps:**
151
+ 1. Set the viewport to 1500x730 (the default Chromium project viewport defined in `playwright.config.ts`) and navigate to the Privacy Policy page.
152
+ - expect: The page loads without horizontal scrollbars.
153
+ - expect: The header, main content, and footer are all visible.
154
+ 2. Verify the vertical stacking order of page sections.
155
+ - expect: The authenticated header (Logo + nav links + Logout) appears at the top.
156
+ - expect: The main content area (**Polk County Privacy Policy** H1, both H2 sections, paragraphs, and list) appears below the header.
157
+ - expect: The footer (Polk HealthCare Plan image, address block, nav links, copyright) appears at the bottom.
158
+ - expect: No content is clipped or overflowing horizontally.
159
+
160
+ #### 1.9. TC-09 - Mobile Viewport Layout (Pixel 4a 412x732) Renders Correctly
161
+
162
+ **File:** `tests/ApplicantPrivacyPolicyPageTest.spec.ts`
163
+
164
+ **Steps:**
165
+ 1. Set the viewport to 412x732 (matching the `Device` project — Pixel 4a (5G) — defined in `playwright.config.ts`) and navigate to the Privacy Policy page.
166
+ - expect: The page loads without a horizontal scrollbar.
167
+ - expect: The H1 heading **Polk County Privacy Policy** is visible.
168
+ - expect: The Logo image in the header is visible.
169
+ - expect: The **Logout** button is visible.
170
+ 2. Scroll to the footer on the mobile viewport.
171
+ - expect: The footer content — Polk HealthCare Plan image, address block, nav links, and copyright text — is visible and not broken or clipped.
172
+
173
+ #### 1.10. TC-10 - SMS Privacy Notice Bold Lead-In Formatting Is Present
174
+
175
+ **File:** `tests/ApplicantPrivacyPolicyPageTest.spec.ts`
176
+
177
+ **Steps:**
178
+ 1. Open the Privacy Policy page and wait for the H1 heading to appear.
179
+ - expect: The page has loaded.
180
+ 2. Locate the SMS Privacy Notice paragraph and inspect the **SMS Privacy Notice:** lead-in label.
181
+ - expect: The text **SMS Privacy Notice:** is rendered inside a `<strong>` element.
182
+ - expect: The label is visually distinct (bold) from the surrounding paragraph text.
183
+
184
+ #### 1.11. TC-11 - No Broken Images On The Privacy Policy Page
185
+
186
+ **File:** `tests/ApplicantPrivacyPolicyPageTest.spec.ts`
187
+
188
+ **Steps:**
189
+ 1. Open the Privacy Policy page and wait for the H1 heading to appear.
190
+ - expect: The page has loaded.
191
+ 2. Check that the header Logo image has loaded correctly.
192
+ - expect: The Logo image (`alt="Logo"`) is visible in the header.
193
+ - expect: The image `naturalWidth` is greater than 0, confirming it has rendered.
194
+ 3. Scroll to the footer and check that the Polk HealthCare Plan footer image has loaded correctly.
195
+ - expect: The Polk HealthCare Plan footer image (`alt="Polk HealthCare Plan"`) is visible.
196
+ - expect: The image `naturalWidth` is greater than 0, confirming it has rendered.
@@ -0,0 +1,107 @@
1
+ # Polk County Applicant Resources Page Test Plan
2
+
3
+ ## Application Overview
4
+
5
+ This plan documents automated coverage in `tests/ApplicantResourcesPageTest.spec.ts` for the authenticated applicant **Resources** page.
6
+
7
+ The suite starts from the applicant dashboard, confirms that the user is logged in, opens the **Resources** page from the authenticated header, and validates the page layout plus resource document links.
8
+
9
+ ## Shared Preconditions
10
+
11
+ | Step | Action | Expected Result |
12
+ |------|--------|-----------------|
13
+ | 1 | Navigate to `/polkphpapplicant/s/?language=en_US` | Applicant portal loads |
14
+ | 2 | Wait for **Logout** button | Applicant session is authenticated |
15
+ | 3 | Click **Resources** link in the header | Resources page opens |
16
+ | 4 | Wait for **Resources** title | Resources page is ready |
17
+
18
+ ## Test Scenarios
19
+
20
+ ### TC-01 - Header, Footer, And Resources Title Are Visible
21
+
22
+ **Automated test:** `Verify the header & footer sections are visible on the resources page @auth`
23
+
24
+ **Objective:** Verify the authenticated Resources page renders the shared portal header, shared footer, and Resources page title.
25
+
26
+ **Steps:**
27
+
28
+ 1. Open the Resources page after login.
29
+ 2. Verify authenticated header elements.
30
+ 3. Scroll to the footer.
31
+ 4. Verify footer elements.
32
+ 5. Verify the Resources page title.
33
+
34
+ **Expected Result:**
35
+
36
+ - Logo is visible.
37
+ - Header links are visible: **Home**, **Create Application**, **My Application**, **My Medical Coverage**, and **Resources**.
38
+ - **Logout** button is visible.
39
+ - Footer image is visible.
40
+ - Footer links are visible: **CONTACT US**, **POLK HEALTHCARE PLAN FAQS**, **FIND YOUR PROVIDER**, **NOTIFY CUSTOMER SERVICE**, **ACCESSIBILITY**, **TERMS & CONDITIONS**, and **PRIVACY POLICY**.
41
+ - Copyright text is visible.
42
+ - **Resources** title is visible.
43
+
44
+ ### TC-02 - Resource Document Links Are Visible
45
+
46
+ **Automated test:** `Verify the resources page elements are visible @auth`
47
+
48
+ **Objective:** Verify all expected document links are displayed on the Resources page.
49
+
50
+ **Expected Resource Links:**
51
+
52
+ - `Polk HealthCare Plan Member Handbook (English).pdf`
53
+ - `UNIVERSAL HOUSEHOLD AUTHORIZATION FORM_LIMITED_UPDATED 11.18.25.docx`
54
+ - `UNIVERSAL SHARED DATA INFORMATION SYSTEM_Updated 11.18.25.docx`
55
+ - `Eligibility - Income Verification Statement 031925.pdf`
56
+ - `Third Party Support.pdf`
57
+
58
+ **Expected Result:** All five resource document links are visible.
59
+
60
+ ### TC-03 - Resource Links Open Successfully In New Tabs
61
+
62
+ **Automated test:** `Verify the links open successfully in a new tab @auth`
63
+
64
+ **Objective:** Verify each resource link opens in a new tab and returns a successful document response.
65
+
66
+ **Steps:**
67
+
68
+ 1. Read the `href` for the **Polk HealthCare Plan Member Handbook** link.
69
+ 2. Click the link and wait for a new browser tab.
70
+ 3. Wait for the new tab to load.
71
+ 4. Send an API request to the link `href`.
72
+ 5. Verify response status and content type.
73
+ 6. Verify the new tab URL contains the same `href`.
74
+ 7. Close the new tab.
75
+ 8. Repeat the same validation for the remaining resource links.
76
+
77
+ **Expected Result For Each Resource Link:**
78
+
79
+ - A new tab opens after clicking the link.
80
+ - The new tab finishes loading.
81
+ - The request to the link returns HTTP status `200`.
82
+ - Response `content-type` contains `application/pdf`.
83
+ - New tab URL contains the link `href`.
84
+ - New tab closes successfully before the next link is tested.
85
+
86
+ **Covered Links:**
87
+
88
+ - Polk HealthCare Plan Member Handbook
89
+ - Universal Household Authorization Form
90
+ - Universal Shared Data Information System
91
+ - Eligibility Income Verification Statement
92
+ - Third Party Support
93
+
94
+ ## Traceability
95
+
96
+ | TC | Automated Test Summary | Tags / Status |
97
+ |----|------------------------|---------------|
98
+ | TC-01 | Header, footer, and Resources title visible | `@auth` |
99
+ | TC-02 | Resource document links visible | `@auth` |
100
+ | TC-03 | Resource links open in new tabs and return successful document responses | `@auth`, currently marked `test.only` in spec |
101
+
102
+ ## Notes
103
+
104
+ - The spec currently uses authenticated setup behavior through the `@auth` tag and waits for the **Logout** button before opening Resources.
105
+ - `ApplicantPage.ts` contains the Resources page locators used by this suite.
106
+ - The third test currently uses `test.only`; remove `.only` when the full test suite should run.
107
+ - The current implementation expects all resource responses to contain `application/pdf`, even though two link labels end in `.docx`. If those resources are truly Word documents, update the assertion to accept the expected Word document content type.
@@ -0,0 +1,190 @@
1
+ # Polk County Applicant Self Register Page Test Plan
2
+
3
+ ## Application Overview
4
+
5
+ Validate the Polk County Healthcare Plan Applicant **Self Registration** page at:
6
+
7
+ `https://polkcounty--polkdevnew.sandbox.my.site.com/polkphpapplicant/s/polkselfregister?language=en_US`
8
+
9
+ This flow lets new applicants create an account by providing identity, contact, and address information. This test plan covers URL and layout checks, required fields, address sections (physical and mailing), and consistency with other public applicant pages.
10
+
11
+ ---
12
+
13
+ ## Test Scenarios
14
+
15
+ **File:** `ApplicantSelfRegisterPageTest.spec.ts`
16
+
17
+ ### Pre-condition (typical navigation)
18
+
19
+ 1. Open the applicant portal base URL with language parameter (e.g. `/polkphpapplicant/s/?language=en_US`).
20
+ 2. Click **Login** in the header to open the login panel.
21
+ 3. Click **Self Register** on the login page.
22
+ 4. Wait for the self-registration form to load (e.g. **Self Registration** heading is present).
23
+
24
+
25
+ ---
26
+
27
+ #### 1. Verify redirect to the self register page and visibility of form sections
28
+ **Steps:**
29
+ 1. Complete the pre-condition (or navigate directly to the self-register URL).
30
+ 2. Confirm the URL contains `polkphpapplicant/s/polkselfregister` (and optional `language=` query as applicable).
31
+ 3. Validate visibility of:
32
+ - **Self Registration** page title (heading)
33
+ - **Applicant First Name** label and textbox (required)
34
+ - **Applicant Middle Name** label and textbox (optional)
35
+ - **Applicant Last Name** label and textbox (required)
36
+ - **Suffix** label, combobox, and listbox when opened
37
+ - **Date of Birth** label, textbox, and date picker UI when the field is activated
38
+ - **Email Address** label and textbox (required)
39
+ - **Physical Address** card: section title, address lookup/combobox input, **Country**, **Street**, **City**, **State**, **ZIP** (labels and inputs; open **Country** and **State** dropdowns to confirm listboxes)
40
+ - **Mailing Address** card: section title, **Same as Physical** control, address lookup/combobox input, **Country**, **Street**, **City**, **State**, **ZIP** (same pattern as physical; open **Country** and **State** dropdowns to confirm listboxes)
41
+
42
+ **Expected results:**
43
+ - URL matches the self-register route.
44
+ - All listed UI components render and are visible (no blocking error overlay).
45
+ - Required-field indicators (e.g. asterisks on labels) match product rules for First Name, Last Name, Email, and any other required fields.
46
+
47
+ ---
48
+
49
+ #### 2. Verify agreement / informational copy is present
50
+ **Steps:**
51
+ 1. On the self-register page, locate the agreement or informational text block (typically near the form actions).
52
+ **Expected results:**
53
+ - Applicable legal or informational copy is displayed as designed (exact wording per product/legal).
54
+
55
+ ---
56
+
57
+ #### 3. Verify required-field validation on submit (empty form)
58
+ **Steps:**
59
+ 1. Reach the self-register page with all fields empty (defaults unchanged).
60
+ 2. Attempt to submit or proceed using the primary action (e.g. **Register** / **Submit** — exact label per build).
61
+ 3. Error Message for First Name, Last Name, Email should be displayed
62
+ 4. Enter the First Name, Last Name, Email and submit the form
63
+ 5. Error Message for the Physical Address & Mailing address should be displayed
64
+ **Expected results:**
65
+ - User cannot complete registration without required data; browser and/or inline validation appears for missing required fields (messages per Salesforce/app configuration).
66
+
67
+ ---
68
+
69
+ #### 4. Verify invalid email format
70
+ **Steps:**
71
+ 1. Fill other required fields with valid sample data (or minimal valid set per environment policy).
72
+ 2. Enter an invalid email (e.g. `notanemail`) in **Email Address**.
73
+ 3. Submit or trigger field-level validation.
74
+ **Expected results:**
75
+
76
+ - Validation error for email format is shown; submission does not succeed with invalid email.
77
+
78
+ ---
79
+
80
+ #### 5. Verify Date of Birth constraints (if applicable)
81
+ **Steps:**
82
+ 1. Open the **Date of Birth** control and attempt to select a future date, or enter a value outside allowed range per business rules.
83
+ **Expected results:**
84
+ - Invalid DOB is rejected or corrected per product rules (e.g. no future DOB for applicant).
85
+
86
+ ---
87
+
88
+ #### 6. Verify Physical Address should only be in State of Florida
89
+ **Steps:**
90
+ 1. Enter distinct values in **Physical Address** fields (where supported) not matching to Florida
91
+ **Expected results:**
92
+ - Error Message should be displayed
93
+
94
+ ---
95
+
96
+ #### 7a. Verify Mailing Address should only be in Mailing must be in Florida
97
+ **Steps:**
98
+ 1. Enter distinct values in **Mailing** fields (where supported) not matching to Approved Zip Codes
99
+ **Expected results:**
100
+ - Error Message should be displayed
101
+
102
+ ---
103
+
104
+ #### 7b. Verify Mailing Address should only be ZIP must be in the approved Polk list
105
+ **Steps:**
106
+ 1. Enter distinct values in **Mailing** fields (where supported) not matching to Approved Zip Codes
107
+ **Expected results:**
108
+ - Error Message should be displayed
109
+
110
+ ---
111
+
112
+ #### 8. Verify **Same as Physical** toggle on Mailing Address
113
+ **Steps:**
114
+ 1. Enter distinct values in **Physical Address** fields (where supported).
115
+ 2. Enable **Same as Physical** (if implemented as a toggle/checkbox).
116
+ 3. Observe mailing address fields.
117
+ **Expected results:**
118
+ - When enabled, mailing address mirrors physical address per design; when disabled, mailing fields can be edited independently.
119
+
120
+ ---
121
+
122
+ #### 9. Verify physical vs mailing address independence when **Same as Physical** is off
123
+ **Steps:**
124
+ 1. Ensure **Same as Physical** is off.
125
+ 2. Enter different mailing address values from physical address.
126
+ 3. Submit or save per allowed flow.
127
+ **Expected results:**
128
+ - Distinct physical and mailing values are accepted when the product allows separate addresses.
129
+
130
+ ---
131
+
132
+ #### 10. Successful self-registration (happy path) — environment-dependent
133
+ **Steps:**
134
+ 1. Complete all required fields with valid test data approved for the target org (including address selections that resolve in the address lookup).
135
+ 2. Accept any required agreements.
136
+ 3. Submit the form.
137
+ **Expected results:**
138
+ - Success path completes (e.g. confirmation message, email verification prompt, or redirect to login) per environment configuration; no unexpected error for valid data.
139
+
140
+ ---
141
+
142
+ #### 11. Registering with the Same Name & Email (Duplicate Registration)
143
+ **Steps:**
144
+ 1. Complete all required fields with valid test data approved for the target org with the Already Existing Same Name & Email
145
+ 2. Submit the form.
146
+ **Expected results:**
147
+ - Error Message should be displayed
148
+
149
+ ---
150
+
151
+ #### 12. Registering with the Long Names
152
+ **Steps:**
153
+ 1. Complete all required fields with valid test data approved for the target org with the Long Names
154
+ 2. Submit the form.
155
+ **Expected results:**
156
+ - Error Message should be displayed
157
+
158
+ ---
159
+
160
+ #### 13. Verify navigation back to Login (or portal home)
161
+ **Steps:**
162
+ 1. From the self-register page, use **Back**, **Cancel**, or header navigation (e.g. **Login** / logo) as provided.
163
+ **Expected results:**
164
+ - User can leave the flow without a broken state; login or home is reachable as designed.
165
+
166
+ ---
167
+
168
+ #### 14. Verify global chrome (header and footer)
169
+ **Steps:**
170
+ 1. On the self-register page, confirm header (e.g. logo, **Login**) and scroll to the footer.
171
+ **Expected results:**
172
+ - Layout is consistent with other public applicant pages; critical chrome and footer links are present and not broken on typical viewports.
173
+
174
+ ---
175
+
176
+ #### 15. Validating the values present in Suffix Dropdown
177
+ **Steps:**
178
+ 1. On the self-register page, confirm header (e.g. logo, **Login**) and scroll to the footer.
179
+ **Expected results:**
180
+ - Layout is consistent with other public applicant pages; critical chrome and footer links are present and not broken on typical viewports.
181
+
182
+ ---
183
+
184
+ #### 16. Validating the values present in Mailing Address - State Dropdown
185
+ **Steps:**
186
+ 1. On the self-register page, confirm header (e.g. logo, **Login**) and scroll to the footer.
187
+ **Expected results:**
188
+ - Layout is consistent with other public applicant pages; critical chrome and footer links are present and not broken on typical viewports.
189
+
190
+ ---
@@ -0,0 +1,3 @@
1
+ # Specs
2
+
3
+ This is a directory for test plans.
Binary file
@@ -0,0 +1,42 @@
1
+ {
2
+ "firstName": "John",
3
+ "lastName": "Doe",
4
+ "dob": "01-01-1990",
5
+ "ssn": "123456789",
6
+ "email": "john.doe123@test.com",
7
+ "landline": "1234567890",
8
+ "cellPhone": "1234567890",
9
+ "dropdowns": {
10
+ "preferredLanguage":["English","Spanish"],
11
+
12
+ "race":["White/Caucasian","Black/African American","American Indian and Alaska Native","Asian","Native Hawaiian/Pacific Islander","Multi-Racial"],
13
+ "isPrimaryPhoneLandlineOrCellPhone": ["Landline","Cell Phone"],
14
+ "ethnicity":["Hispanic or Latino","Non-Hispanic or Non-Latino"],
15
+ "gender": ["Male", "Female"],
16
+ "maritalStatus": ["Married","Divorced","Widowed","Single","Legal Separation"],
17
+ "citizenship": ["Yes","No"],
18
+ "veteran": ["Yes","No"],
19
+ "language": ["English","Spanish","Arabic","ASL","Chinese","French","German","Japanese","Portuguese","Russian","Vietnamese","Creole","Hindi"],
20
+ "insuranceCoverage": ["Medicaid Full","Medicaid Share of Cost","Medicare","Private Insurance","Marketplace","Underinsured","Not Insured"],
21
+
22
+ "HousingQuestion": ["I have a steady place to live","Temporary Housing/Shelter","I do not have a steady place to live"],
23
+ "EnvironmentQuestion": ["Yes, help finding work","Yes, help keeping work","No"],
24
+ "SubstanceAbuseQuestion": ["Yes","No"],
25
+ "MentalHealthQuestion": ["Yes","No"],
26
+ "DisabilityQuestion1": ["Yes","No"],
27
+ "DisabilityQuestion2": ["Yes","No"]
28
+ },
29
+
30
+ "notWorkingExplaination": "Currently between positions; seeking work.",
31
+ "explain30DaysExpense": "Used savings and household resources for expenses.",
32
+ "receiveSupportForNecessities": ["Yes","No"],
33
+ "engageInFinancialTransactions": ["Yes","No"],
34
+ "uploadedDocumentsReferences": ["Proof of Self Employment","Paycheck 1", "401K Withdrawal", "Annuity Payments", "Dividends", "Interest Income", "Pension", "Rental Property", "Social Security Retirement","SSDI","Unemployment Compensation"],
35
+
36
+ "enrollmentAcknowledgementText1": "Polk Healthcare Plan Agreement & Reimbursement Acknowledgement",
37
+ "enrollmentAcknowledgementText2": "Before submitting your application, please review the following terms and conditions. By Checking the box below, you confirm that you have read and agree to the provisions outlined in the Polk Healthcare Plan Rights and Privacy section. You can access the Plan Rights and Privacy Information here:",
38
+ "enrollmentAcknowledgementText3": "By Checking the box, you acknowledge and agree to the following:",
39
+ "enrollmentAcknowledgementText4": "I have read and agree to the terms outlined in the Polk Healthcare Plan Rights and Privacy information.I have read and agree to the terms outlined in the Polk Healthcare Plan Rights and Privacy information.",
40
+
41
+ "thankYouMessage": "Thank you for taking the time to complete the Application. We’ve received your information, and a case manager will reach out to you to discuss next steps."
42
+ }
@@ -0,0 +1,52 @@
1
+ {
2
+ "preferredLanguageError": "Error: Preferred Language is required.",
3
+ "firstNameRequiredError": "Error: First Name is required.",
4
+ "lastNameRequiredError": "Error: Last Name is required.",
5
+ "dobRequiredError": "Error: Date Of Birth (Use format dd-mm-yyyy) is required.",
6
+ "ssnRequiredError": "SSN is required.",
7
+ "emailRequiredError": "Error: Email is required",
8
+ "cellPhoneRequiredError": "Cell Phone is required.",
9
+ "isPrimaryPhoneLandlineOrCellPhoneRequiredError": "Error: is primary phone Landline or Cell Phone? is required.",
10
+ "raceRequiredError": "Error: Race is required.",
11
+ "ethnicityRequiredError": "Error: Ethnicity is required.",
12
+ "genderRequiredError": "Error: Gender is required.",
13
+ "maritalStatusRequiredError": "Error: Marital Status is required.",
14
+ "citizenshipRequiredError": "Error: U.S. Citizen/Permanent Resident Card Holder is required.",
15
+ "veteranRequiredError": "Error: Veteran is required.",
16
+ "languageRequiredError": "Error: Language is required.",
17
+ "insuranceCoverageRequiredError": "Error: Insurance Coverage is required.",
18
+
19
+ "haveYouReceivedIncomeInLast30DaysRequiredError": "Error: Have you received income in last 30 days? is required.",
20
+ "whatTypeOfMonthlyIncomeDoesApplicantHaveRequiredError": "Error: What type of MONTHLY income does applicant have​? Please select all income sources that apply is required.",
21
+ "employerNameRequiredError": "Error: Employer Name is required.",
22
+ "firstEmployerGrossMonthlyIncomeRequiredError": "Error: Gross Monthly Amount is required.",
23
+ "monthlyPensionAmountRequiredError": "Error: Monthly Pension Amount is required.",
24
+ "monthlyRentalPropertyAmountRequiredError": "Error: Monthly Rental Property Amount is required.",
25
+ "monthlySSDIAmountRequiredError": "Error: Monthly SSDI Amount is required.",
26
+ "monthly401KWithdrawalAmountRequiredError": "Error: Monthly 401K Withdrawal Amount is required.",
27
+ "monthlySocialSecurityRetirementAmountRequiredError": "Error: Monthly Social Security Retirement Amount is required.",
28
+ "monthlyUnemploymentCompensationAmountRequiredError": "Error: Monthly Unemployment Compensation Amount is required.",
29
+ "monthlyInterestIncomeAmountRequiredError": "Error: Monthly Interest Income Amount is required.",
30
+ "monthlyAnnuityPaymentsAmountRequiredError": "Error: Monthly Annuity Payments Amount is required.",
31
+ "monthlyDividendsAmountRequiredError": "Error: Monthly Dividends Amount is required.",
32
+ "iCanProvideSelfEmploymentValidationByTheFollowingMethodsRequiredError": "Error: I can provide self employment validation by the following methods is required.",
33
+ "pleaseEnterYourNameToCertifySelfEmploymentRequiredError": "Error: Please Enter your Name to certify Self Employment is required.",
34
+ "pleaseEnterTheDateOfTheCertificationTodayDateRequiredError": "Error: Please Enter the date of the certification ( Today's Date) is required.",
35
+ "whatTypeOfWorkDoYouPerformRequiredError": "Error: What type of work do you perform? is required.",
36
+ "monthlySelfEmployedAmountRequiredError": "Error: Monthly Self Employed Amount is required.",
37
+ "pleaseExplainWhyApplicantIsNotWorkingRequiredError": "Error: Please explain why applicant is not working? is required.",
38
+ "pleaseExplainHowYouHaveManagedForThePast30DaysWithoutIncomeRequiredError": "Error: Please explain how you have managed for the past 30 days without income (a 30-days Financial Statement may be required) is required.",
39
+ "doYouCurrentlyReceiveSupportFromAnyThirdPartiesForBasicNecessitiesSuchAsShelterFoodTransportationOrMedicalCareRequiredError": "Error: Do you currently receive support from any third parties for basic necessities such as shelter, food, transportation, or medical care? is required.",
40
+ "doYouEngageInAnyFinancialTransactionsWithInstitutionsOrPlatformsSuchAsBanksVenmoCashAppOrSimilarServicesRequiredError": "Error: Do you engage in any financial transactions with institutions or platforms such as banks, venmo, cash app, or similar services? is required.",
41
+ "pleaseSelectAtLeastOneOptionRequiredError": "Please select at least one option."
42
+
43
+
44
+
45
+
46
+
47
+
48
+
49
+
50
+
51
+
52
+ }
@@ -0,0 +1,5 @@
1
+ {
2
+ "validEmail": "testuser@gmail.com",
3
+ "invalidEmail": "testuser",
4
+ "whitespaceEmail": " "
5
+ }
@@ -0,0 +1,5 @@
1
+ {
2
+ "forgotPasswordMessage": "Enter your email (or username). If an account exists, we’ll send a reset link.",
3
+ "successMessage": "If an account exists for this email/username, a reset link has been sent.",
4
+ "invalidEmailError": "Email / UsernameEnter a valid email address, such as name@email.com."
5
+ }
@@ -0,0 +1,48 @@
1
+ {
2
+ "documentTitle": "Knowledge Base",
3
+ "htmlLang": "en-US",
4
+ "logoAlt": "Logo",
5
+ "h1Title": "Knowledge Base",
6
+ "subtitle": "Find answers to your questions",
7
+ "searchPlaceholder": "Search articles...",
8
+ "emptyStateMessage": "No articles found. Try a different search or category.",
9
+ "categoryLabels": ["All", "Support", "Account", "General"],
10
+ "articleTypeLabels": ["All", "FAQ", "Procedure"],
11
+ "articleCardBadge": "Procedure",
12
+ "articleCardTitle": "How to Reset Your Password",
13
+ "articleCardSummary": "Step-by-step guide to reset your account password quickly and securely",
14
+ "articleCardPublishDate": "4/16/2026, 5:03 AM",
15
+ "articleCardReadMore": "Read more →",
16
+ "articleDetailH1": "How to Reset Your Password",
17
+ "articleDetailBadge": "Procedure",
18
+ "articleDetailPublished": "Published: 4/16/2026, 5:03 AM",
19
+ "articleDetailCategory": "Category: Account",
20
+ "articleDetailArticleNumber": "Article #: 000001013",
21
+ "articleDetailSectionSummary": "Summary",
22
+ "articleDetailSectionAudience": "Audience",
23
+ "articleDetailSectionPurpose": "Purpose",
24
+ "articleDetailSectionSteps": "Steps",
25
+ "articleDetailSummaryText": "Step-by-step guide to reset your account password quickly and securely",
26
+ "articleDetailAudienceText": "This article is intended for all registered customers and end users who have forgotten their password or need to reset their login credentials for security purposes.",
27
+ "articleDetailPurposeText": "The purpose of this procedure is to guide users through the password reset process to regain access to their account safely without contacting support.",
28
+ "articleDetailWarningBullets": [
29
+ "⚠️ Warning: Do not share your password reset link with anyone.",
30
+ "⚠️ The reset link expires within 24 hours of being sent.",
31
+ "⚠️ After 5 failed attempts your account will be locked."
32
+ ],
33
+ "articleDetailSteps": [
34
+ "Step 1: Go to the login page and click \"Forgot Password\"",
35
+ "Step 2: Enter your registered email address and click Submit",
36
+ "Step 3: Check your email inbox for the password reset link",
37
+ "Step 4: Click the reset link within 24 hours",
38
+ "Step 5: Enter your new password (minimum 8 characters, must include 1 uppercase, 1 number, 1 special character)",
39
+ "Step 6: Confirm your new password and click Save",
40
+ "Step 7: Login with your new password successfully"
41
+ ],
42
+ "articleDetailHelpfulLabel": "Was this article helpful?",
43
+ "articleDetailYesButton": "👍 Yes",
44
+ "articleDetailNoButton": "👎 No",
45
+ "articleDetailBackButton": "← Back to Knowledge Base",
46
+ "articleUrlSlug": "how-to-reset-password",
47
+ "articleBannerAlt": "Polk County Banner"
48
+ }