mirror of
https://github.com/solidtime-io/solidtime.git
synced 2026-10-07 21:33:18 +01:00
33 lines
1.4 KiB
TypeScript
33 lines
1.4 KiB
TypeScript
import { expect, test } from '../playwright/fixtures';
|
|
import { PLAYWRIGHT_BASE_URL } from '../playwright/config';
|
|
import { getInvitationAcceptUrl } from './utils/mailpit';
|
|
|
|
test('prefills the registration email after accepting an invitation', async ({ page, browser }) => {
|
|
const memberId = `${Date.now()}-${Math.floor(Math.random() * 100000)}`;
|
|
const memberEmail = `prefill-${memberId}@invitation.test`;
|
|
|
|
await page.goto(PLAYWRIGHT_BASE_URL + '/members');
|
|
await page.getByRole('button', { name: 'Invite Member' }).click();
|
|
await page.getByPlaceholder('Member Email').fill(memberEmail);
|
|
await page.getByRole('button', { name: 'Employee' }).click();
|
|
await Promise.all([
|
|
page.waitForResponse(
|
|
(response) =>
|
|
response.url().includes('/invitations') &&
|
|
response.request().method() === 'POST' &&
|
|
response.status() === 204
|
|
),
|
|
page.getByRole('button', { name: 'Invite Member', exact: true }).click(),
|
|
]);
|
|
|
|
const inviteeContext = await browser.newContext();
|
|
const inviteePage = await inviteeContext.newPage();
|
|
const acceptUrl = await getInvitationAcceptUrl(inviteePage.request, memberEmail);
|
|
await inviteePage.goto(acceptUrl);
|
|
await inviteePage.waitForURL(/\/register$/);
|
|
|
|
await expect(inviteePage.getByLabel('Email')).toHaveValue(memberEmail);
|
|
|
|
await inviteeContext.close();
|
|
});
|