a596b3aaca
ref https://www.notion.so/AdminX-testing-plan-99b2dab27e794fc893767ccd01c84a63?d=26612fc2b9d84e65bbb269fa3bc5079e&pvs=4#f0089cd4d9f24e93bd7f8e2868987bf6 This pull request renames the end-to-end tests to acceptance tests in the `apps/admin-x-settings` folder. It updates the `ci.yml` file, the `package.json` file, the `playwright.config.ts` file, and the test files to reflect the new naming convention. This change aims to better reflect the purpose and scope of the tests.
64 lines
2.2 KiB
TypeScript
64 lines
2.2 KiB
TypeScript
import {expect, test} from '@playwright/test';
|
|
import {globalDataRequests, mockApi, updatedSettingsResponse} from '../../utils/acceptance';
|
|
|
|
test.describe('Site password settings', async () => {
|
|
test('Supports locking and unlocking the site', async ({page}) => {
|
|
const mockLock = await mockApi({page, requests: {
|
|
...globalDataRequests,
|
|
editSettings: {method: 'PUT', path: '/settings/', response: updatedSettingsResponse([
|
|
{key: 'is_private', value: true},
|
|
{key: 'password', value: 'password'}
|
|
])}
|
|
}});
|
|
|
|
await page.goto('/');
|
|
|
|
const section = page.getByTestId('locksite');
|
|
|
|
await expect(section.getByText('Your site is not password protected')).toHaveCount(1);
|
|
|
|
// Add a site password
|
|
|
|
await section.getByRole('button', {name: 'Edit'}).click();
|
|
|
|
await section.getByLabel(/Enable password protection/).check();
|
|
await section.getByLabel('Site password').fill('password');
|
|
|
|
await section.getByRole('button', {name: 'Save'}).click();
|
|
|
|
await expect(section.getByLabel('Site password')).toHaveCount(0);
|
|
|
|
await expect(section.getByText('Your site is password protected')).toHaveCount(1);
|
|
|
|
expect(mockLock.lastApiRequests.editSettings?.body).toEqual({
|
|
settings: [
|
|
{key: 'is_private', value: true},
|
|
{key: 'password', value: 'password'}
|
|
]
|
|
});
|
|
|
|
// Remove the site password
|
|
|
|
const mockUnlock = await mockApi({page, requests: {
|
|
...globalDataRequests,
|
|
editSettings: {method: 'PUT', path: '/settings/', response: updatedSettingsResponse([
|
|
{key: 'is_private', value: false}
|
|
])}
|
|
}});
|
|
|
|
await section.getByRole('button', {name: 'Edit'}).click();
|
|
|
|
await section.getByLabel(/Enable password protection/).uncheck();
|
|
|
|
await section.getByRole('button', {name: 'Save'}).click();
|
|
|
|
await expect(section.getByText('Your site is not password protected')).toHaveCount(1);
|
|
|
|
expect(mockUnlock.lastApiRequests.editSettings?.body).toEqual({
|
|
settings: [
|
|
{key: 'is_private', value: false}
|
|
]
|
|
});
|
|
});
|
|
});
|