Stage 11: account linking & merge (email + Telegram Login Widget) (#12)
This commit was merged in pull request #12.
This commit is contained in:
@@ -139,6 +139,34 @@ test('profile edit disables Save and flags an invalid display name', async ({ pa
|
||||
await expect(save).toBeEnabled();
|
||||
});
|
||||
|
||||
test('link account: a taken email opens the irreversible merge confirmation', async ({ page }) => {
|
||||
await loginLobby(page);
|
||||
await page.locator('.burger').first().click();
|
||||
await page.getByRole('button', { name: /Profile/ }).click();
|
||||
|
||||
// The linking section is shown to everyone (guests upgrade by linking).
|
||||
await expect(page.getByRole('heading', { name: 'Link an account' })).toBeVisible();
|
||||
// An address containing "merge" stands in (in the mock) for one already owned by
|
||||
// another account, so the confirm step reveals a required merge.
|
||||
await page.locator('.emailbox input[type="email"]').fill('merge@example.com');
|
||||
await page.getByRole('button', { name: 'Send code' }).click();
|
||||
await page.locator('.emailbox .codein').fill('123456');
|
||||
await page.getByRole('button', { name: 'OK' }).click();
|
||||
|
||||
// The reveal happens only after the code, and names the other account.
|
||||
await expect(page.getByText('Merge accounts?')).toBeVisible();
|
||||
await expect(page.getByText(/Ann/)).toBeVisible();
|
||||
await page.getByRole('button', { name: 'Merge' }).click();
|
||||
await expect(page.getByText('Merge accounts?')).toBeHidden();
|
||||
});
|
||||
|
||||
test('link account: the Telegram web sign-in control is offered in a browser', async ({ page }) => {
|
||||
await loginLobby(page);
|
||||
await page.locator('.burger').first().click();
|
||||
await page.getByRole('button', { name: /Profile/ }).click();
|
||||
await expect(page.getByRole('button', { name: 'Link Telegram' })).toBeVisible();
|
||||
});
|
||||
|
||||
test('chat send and nudge are icon buttons', async ({ page }) => {
|
||||
await loginLobby(page);
|
||||
await page.getByRole('button', { name: /Ann/ }).click();
|
||||
|
||||
Reference in New Issue
Block a user