forked from opencrvs/opencrvs-countryconfig
-
Notifications
You must be signed in to change notification settings - Fork 17
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
* Started doing marriage testcase 7 * Added familyName validation tests * Fixed syntax error * Fixed wrong page title and tried to fix headless test fails * Fixed broken tests * Removed useless comment * Modified goToSection helper method to support marriage declaration * Update e2e/testcases/marriage/7-validate-witness-1-page.spec.ts Co-authored-by: Jamil <[email protected]> * Update e2e/testcases/marriage/7-validate-witness-1-page.spec.ts Co-authored-by: Jamil <[email protected]> * Fixed syntax error and removed dublicated goToSection call * Fixed beforeEach to end in correct spot --------- Co-authored-by: Jamil <[email protected]>
- Loading branch information
Showing
1 changed file
with
97 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,97 @@ | ||
import { expect, test } from '@playwright/test' | ||
import { createPIN, login, goToSection } from '../../helpers' | ||
|
||
test.describe('7. Validate Witness 1 details page', () => { | ||
test.beforeEach(async ({ page }) => { | ||
await login(page, 'k.mweene', 'test') | ||
await createPIN(page) | ||
await page.click('#header_new_event') | ||
await page.getByText('Marriage', { exact: true }).click() | ||
await goToSection(page, 'witnessOne') | ||
}) | ||
|
||
// 1.1. Enter Non-English characters | ||
test('1.1. Validate "First Name(s)" text field', async ({ page }) => { | ||
await page.locator('#firstNamesEng').fill('*') | ||
await page.getByText('Witness 1 details').click() | ||
await expect(page.locator('#firstNamesEng_error')).toHaveText( | ||
`Input contains invalid characters. Please use only letters (a-z, A-Z), numbers (0-9), hyphens (-), apostrophes(') and underscores (_)` | ||
) | ||
}) | ||
|
||
// 1.2. Enter less than 33 English characters | ||
test('1.2. Enter less than 33 English characters', async ({ page }) => { | ||
await page.locator('#firstNamesEng').fill('Rakibul Islam') | ||
await page.getByText('Witness 1 details').click() | ||
|
||
await expect(page.locator('#firstNamesEng_error')).toBeHidden() | ||
}) | ||
|
||
// 1.3. Enter Field as NULL | ||
test('1.3. Enter Field as NULL', async ({ page }) => { | ||
await page.locator('#firstNamesEng').click() | ||
await page.locator('#relationship').click() | ||
await expect( | ||
page.getByText('Required for registration', { exact: true }) | ||
).toBeVisible() | ||
}) | ||
|
||
// 1.4. Enter more than 32 English characters | ||
test('1.4. Enter more than 32 English characters', async ({ page }) => { | ||
const LONG_NAME = 'Ovuvuevuevue Enyetuenwuevue Ugbemugbem Osas' | ||
await page.locator('#firstNamesEng').fill(LONG_NAME) | ||
await page.getByText('Witness 1 details').click() | ||
|
||
await expect(page.locator('#firstNamesEng')).toHaveValue( | ||
LONG_NAME.slice(0, 32) | ||
) | ||
}) | ||
|
||
// 2.1. Enter Non-English characters | ||
test('2.1. Validate "Last Name(s)" text field', async ({ page }) => { | ||
await page.locator('#familyNameEng').fill('*') | ||
await page.getByText('Witness 1 details').click() | ||
await expect(page.locator('#familyNameEng_error')).toBeVisible() | ||
}) | ||
|
||
// 2.2. Enter less than 33 English characters | ||
test('2.2. Enter less than 33 English characters', async ({ page }) => { | ||
await page.locator('#familyNameEng').fill('Rakibul Islam') | ||
await page.getByText('Witness 1 details').click() | ||
|
||
await expect(page.locator('#familyNameEng_error')).toBeHidden() | ||
}) | ||
|
||
// 2.3. Enter Field as NULL | ||
test('2.3. Enter Field as NULL', async ({ page }) => { | ||
await page.locator('#familyNameEng').click() | ||
await page.locator('#relationship').click() | ||
await expect( | ||
page.getByText('Required for registration', { exact: true }) | ||
).toBeVisible() | ||
}) | ||
|
||
// 2.4. Enter more than 32 English characters | ||
test('2.4. Enter more than 32 English characters', async ({ page }) => { | ||
const LONG_NAME = 'Ovuvuevuevue Enyetuenwuevue Ugbemugbem Osas' | ||
await page.locator('#familyNameEng').fill(LONG_NAME) | ||
await page.getByText('Witness 1 details').click() | ||
|
||
await expect(page.locator('#familyNameEng')).toHaveValue( | ||
LONG_NAME.slice(0, 32) | ||
) | ||
}) | ||
test('3. Select any to the following option from Relationship to spouses:', async ({ | ||
page | ||
}) => { | ||
await page.locator('#relationship').click() | ||
await page.getByText('Other', { exact: true }).click() | ||
await expect(page.getByText('Other', { exact: true })).toBeVisible() | ||
}) | ||
test('4. Click continue', async ({ page }) => { | ||
await page.getByText('Continue', { exact: true }).click() | ||
await expect( | ||
page.getByText('Witness 2 details', { exact: true }) | ||
).toBeVisible() | ||
}) | ||
}) |