Files
myeasycms-v2/apps/e2e/tests/account/account.spec.ts
giancarlo 24e5c0debd Refine warning messages and test feedback
This commit refines the warning text in the 'deleteAccountDescription' in locales and associated Supabase service role warning. Additionally, the E2E test for account deletion has been updated to include a response check for a redirection status, improving the reliability of the test outcome.
2024-04-13 13:49:40 +08:00

67 lines
1.7 KiB
TypeScript

import { expect, Page, test } from '@playwright/test';
import { AccountPageObject } from './account.po';
test.describe('Account Settings', () => {
let page: Page;
let account: AccountPageObject;
test.beforeAll(async ({ browser }) => {
page = await browser.newPage();
account = new AccountPageObject(page);
await account.setup();
});
test('user can update their profile name', async () => {
const name = 'John Doe';
await account.updateName(name);
await page.waitForResponse((resp) => {
return resp.url().includes('accounts');
});
await expect(account.getProfileName()).toHaveText(name);
});
test('user can update their email', async () => {
const email = account.auth.createRandomEmail();
await account.updateEmail(email);
const req = await page.waitForResponse((resp) => {
return resp.url().includes('auth/v1/user');
});
expect(req.status()).toBe(200);
});
test('user can update their password', async () => {
const password = (Math.random() * 100000).toString();
await account.updatePassword(password);
await page.waitForResponse((resp) => {
return resp.url().includes('auth/v1/user');
});
await account.auth.signOut();
});
});
test.describe('Account Deletion', () => {
test('user can delete their own account', async ({ page }) => {
const account = new AccountPageObject(page);
await account.setup();
await account.deleteAccount();
const response = await page.waitForResponse((resp) => {
return resp.url().includes('home/settings') &&
resp.request().method() === 'POST';
});
// The server should respond with a 303 redirect
expect(response.status()).toBe(303);
});
});