Skip to content

Commit 1167ca2

Browse files
committed
chore: add-tests
1 parent 6c4159a commit 1167ca2

3 files changed

Lines changed: 22 additions & 53 deletions

File tree

e2e/davinci-app/components/object-value.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -38,6 +38,7 @@ export default function objectValueComponent(
3838
// Add all options from the data
3939
for (const option of collector.output.options) {
4040
const buttonEl = document.createElement('button');
41+
buttonEl.setAttribute('type', 'button');
4142

4243
// Add change event listener
4344
buttonEl.addEventListener('click', (event) => {
@@ -81,7 +82,6 @@ export default function objectValueComponent(
8182
}
8283

8384
updater({ phoneNumber: selectedValue, countryCode: collector.input.value.countryCode });
84-
submitForm();
8585
});
8686

8787
formEl.appendChild(phoneLabel);

e2e/davinci-app/components/single-value.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@ export default function singleValueComponent(
2020
// Create the label element
2121
const labelEl = document.createElement('label');
2222
labelEl.textContent = collector.output.label || 'Select an option';
23+
labelEl.setAttribute('for', collector.output.key || 'dropdown-field');
2324
labelEl.className = 'dropdown-label';
2425

2526
// Create the select element

e2e/davinci-suites/src/mfa.test.ts

Lines changed: 20 additions & 52 deletions
Original file line numberDiff line numberDiff line change
@@ -6,76 +6,44 @@
66
*/
77
import { expect, test } from '@playwright/test';
88
import { asyncEvents } from './utils/async-events.js';
9-
//
10-
test('Test happy paths on test page', async ({ page }) => {
9+
import { password } from './utils/demo-user.js';
10+
11+
test('Using ACR Values, lets render an OTP form and submit the request', async ({ page }) => {
1112
const { navigate } = asyncEvents(page);
1213
await navigate(
13-
'/?clientId=20dd0ed0-bb9b-4c8f-9a60-9ebeb4b348e0&acr_value=93928296ac55765e57e30b99da8ddabe',
14+
'/?clientId=20dd0ed0-bb9b-4c8f-9a60-9ebeb4b348e0&acr_value=22eb75b5d31d371afe089d6e4a824f5c',
1415
);
1516

16-
expect(page.url()).toBe('http://localhost:5829/?clientId=20dd0ed0-bb9b-4c8f-9a60-9ebeb4b348e0');
17-
18-
await expect(page.getByText('Create Your Profile')).toBeVisible();
19-
20-
await page.getByLabel('Email Address').fill('test@test.com');
21-
await page.getByLabel('Password').fill('apassword');
22-
await page.getByLabel('Placeholder').fill('12345678901');
23-
24-
const requestPromise = page.waitForRequest((request) =>
25-
request
26-
.url()
27-
.includes(
28-
'https://auth.pingone.ca/02fb4743-189a-4bc7-9d6c-a919edfe6447/davinci/connections/8209285e0d2f3fc76bfd23fd10d45e6f/capabilities/customForm?next=true',
29-
),
17+
expect(page.url()).toBe(
18+
'http://localhost:5829/?clientId=20dd0ed0-bb9b-4c8f-9a60-9ebeb4b348e0&acr_value=22eb75b5d31d371afe089d6e4a824f5c',
3019
);
3120

21+
await page.getByLabel('Email Address').fill('mfauser+' + Date.now() + '@user.com');
22+
await page.getByLabel('Password').fill(password);
23+
await page.getByLabel('Placeholder').fill('12345678901');
3224
await page.getByRole('button', { name: 'Submit' }).click();
3325

34-
const request = await requestPromise;
35-
const postedData = JSON.parse(request.postData());
36-
const data = postedData.parameters.data;
37-
expect(data).toEqual({
38-
actionKey: 'submit',
39-
formData: {
40-
'user.email': 'test@test.com',
41-
'user.password': 'apassword',
42-
'phone-field': { phoneNumber: '12345678901', countryCode: 'CA' },
43-
},
44-
});
45-
});
46-
test('should validate that phone number is sent correctly in the outgoing response', async ({
47-
page,
48-
}) => {
49-
const { navigate } = asyncEvents(page);
50-
await navigate('/?clientId=20dd0ed0-bb9b-4c8f-9a60-9ebeb4b348e0');
26+
await page.getByRole('button', { name: 'Text Message' }).click();
5127

52-
expect(page.url()).toBe('http://localhost:5829/?clientId=20dd0ed0-bb9b-4c8f-9a60-9ebeb4b348e0');
28+
await page.waitForEvent('requestfinished');
5329

54-
await expect(page.getByText('Create Your Profile')).toBeVisible();
30+
await page.getByText('MFA - Enter Phone Number');
5531

56-
await page.getByLabel('Email Address').fill('test@test.com');
57-
await page.getByLabel('Password').fill('apassword');
58-
await page.getByLabel('Placeholder').fill('12345678901');
32+
await page.getByLabel('Country Code').selectOption('United States (1)');
33+
await page.getByLabel('Enter Phone Number').fill('12345678901');
5934

60-
const requestPromise = page.waitForRequest((request) =>
61-
request
62-
.url()
63-
.includes(
64-
'https://auth.pingone.ca/02fb4743-189a-4bc7-9d6c-a919edfe6447/davinci/connections/8209285e0d2f3fc76bfd23fd10d45e6f/capabilities/customForm?next=true',
65-
),
35+
const request = page.waitForRequest((request) =>
36+
request.url().endsWith('/capabilities/customForm?next=true'),
6637
);
67-
6838
await page.getByRole('button', { name: 'Submit' }).click();
69-
70-
const request = await requestPromise;
71-
const postedData = JSON.parse(request.postData());
39+
const posted = await request;
40+
const postedData = JSON.parse(posted.postData());
7241
const data = postedData.parameters.data;
7342
expect(data).toEqual({
7443
actionKey: 'submit',
7544
formData: {
76-
'user.email': 'test@test.com',
77-
'user.password': 'apassword',
78-
'phone-field': { phoneNumber: '12345678901', countryCode: 'CA' },
45+
countryCode: '1',
46+
phoneNumber: '12345678901',
7947
},
8048
});
8149
});

0 commit comments

Comments
 (0)