mirror of
https://github.com/solidtime-io/solidtime.git
synced 2026-08-08 16:22:16 +01:00
70 lines
3.0 KiB
TypeScript
70 lines
3.0 KiB
TypeScript
import {test, expect} from '../playwright/fixtures';
|
|
import {PLAYWRIGHT_BASE_URL} from '../playwright/config';
|
|
|
|
test('test that user name can be updated', async ({page}) => {
|
|
await page.goto(PLAYWRIGHT_BASE_URL + '/user/profile');
|
|
await page.getByLabel('Name', {exact: true} ).fill('NEW NAME');
|
|
await Promise.all([
|
|
page.getByRole('button', {name: 'Save'}).first().click(),
|
|
page.waitForResponse('**/user/profile-information'),
|
|
]);
|
|
await page.reload();
|
|
await expect(page.getByLabel('Name', {exact: true})).toHaveValue('NEW NAME');
|
|
});
|
|
|
|
test.skip('test that user email can be updated', async ({page}) => {
|
|
// this does not work because of email verification currently
|
|
await page.goto(PLAYWRIGHT_BASE_URL + '/user/profile');
|
|
const emailId = Math.round(Math.random() * 10000);
|
|
await page.getByLabel('Email').fill(`newemail+${emailId}@test.com`);
|
|
await page.getByRole('button', {name: 'Save'}).first().click();
|
|
await page.reload();
|
|
await expect(page.getByLabel('Email')).toHaveValue(
|
|
`newemail+${emailId}@test.com`
|
|
);
|
|
});
|
|
|
|
async function createNewApiToken(page) {
|
|
await page.getByLabel('API Key Name').fill('NEW API KEY');
|
|
await Promise.all([
|
|
page.getByRole('button', {name: 'Create API Key'}).click(),
|
|
page.waitForResponse('**/users/me/api-tokens')
|
|
]);
|
|
|
|
await expect(page.locator('body')).toContainText('API Token created successfully');
|
|
await page.getByRole('dialog').getByText('Close').click();
|
|
await expect(page.locator('body')).toContainText('NEW API KEY');
|
|
}
|
|
|
|
test('test that user can create an API key', async ({page}) => {
|
|
await page.goto(PLAYWRIGHT_BASE_URL + '/user/profile');
|
|
await createNewApiToken(page);
|
|
});
|
|
|
|
test('test that user can delete an API key', async ({page}) => {
|
|
await page.goto(PLAYWRIGHT_BASE_URL + '/user/profile');
|
|
await createNewApiToken(page);
|
|
page.getByLabel('Delete API Token NEW API KEY').click();
|
|
await expect(page.getByRole('dialog')).toContainText('Are you sure you would like to delete this API token?');
|
|
await Promise.all([
|
|
page.getByRole('dialog').getByRole('button', {name: 'Delete'}).click(),
|
|
page.waitForResponse('**/users/me/api-tokens')
|
|
]);
|
|
await expect(page.locator('body')).not.toContainText('NEW API KEY');
|
|
});
|
|
|
|
|
|
test('test that user can revoke an API key', async ({page}) => {
|
|
await page.goto(PLAYWRIGHT_BASE_URL + '/user/profile');
|
|
await createNewApiToken(page);
|
|
page.getByLabel('Revoke API Token NEW API KEY').click();
|
|
await expect(page.getByRole('dialog')).toContainText('Are you sure you would like to revoke this API token?');
|
|
await Promise.all([
|
|
page.getByRole('dialog').getByRole('button', {name: 'Revoke'}).click(),
|
|
page.waitForResponse('**/users/me/api-tokens')
|
|
]);
|
|
await expect(page.getByRole('button', {name: 'Revoke'})).toBeHidden();
|
|
await expect(page.locator('body')).toContainText('NEW API KEY');
|
|
await expect(page.locator('body')).toContainText('Revoked');
|
|
});
|