mirror of
https://github.com/pocket-id/pocket-id.git
synced 2026-02-04 17:24:48 +00:00
tests: adapt e2e tests
This commit is contained in:
@@ -15,7 +15,9 @@ test('Update account details', async ({ page }) => {
|
||||
await page.getByLabel('Username').fill('timothy');
|
||||
await page.getByRole('button', { name: 'Save' }).click();
|
||||
|
||||
await expect(page.getByRole('status')).toHaveText('Account details updated successfully');
|
||||
await expect(page.locator('[data-type="success"]')).toHaveText(
|
||||
'Account details updated successfully'
|
||||
);
|
||||
});
|
||||
|
||||
test('Update account details fails with already taken email', async ({ page }) => {
|
||||
@@ -25,7 +27,7 @@ test('Update account details fails with already taken email', async ({ page }) =
|
||||
|
||||
await page.getByRole('button', { name: 'Save' }).click();
|
||||
|
||||
await expect(page.getByRole('status')).toHaveText('Email is already in use');
|
||||
await expect(page.locator('[data-type="error"]')).toHaveText('Email is already in use');
|
||||
});
|
||||
|
||||
test('Update account details fails with already taken username', async ({ page }) => {
|
||||
@@ -35,7 +37,7 @@ test('Update account details fails with already taken username', async ({ page }
|
||||
|
||||
await page.getByRole('button', { name: 'Save' }).click();
|
||||
|
||||
await expect(page.getByRole('status')).toHaveText('Username is already in use');
|
||||
await expect(page.locator('[data-type="error"]')).toHaveText('Username is already in use');
|
||||
});
|
||||
|
||||
test('Change Locale', async ({ page }) => {
|
||||
@@ -84,7 +86,7 @@ test('Delete passkey from account', async ({ page }) => {
|
||||
await page.getByLabel('Delete').first().click();
|
||||
await page.getByText('Delete', { exact: true }).click();
|
||||
|
||||
await expect(page.getByRole('status')).toHaveText('Passkey deleted successfully');
|
||||
await expect(page.locator('[data-type="success"]')).toHaveText('Passkey deleted successfully');
|
||||
});
|
||||
|
||||
test('Generate own one time access token as non admin', async ({ page, context }) => {
|
||||
|
||||
@@ -62,7 +62,7 @@ test.describe('API Key Management', () => {
|
||||
await page.getByText('Revoke', { exact: true }).click();
|
||||
|
||||
// Verify success message
|
||||
await expect(page.getByRole('status')).toHaveText('API key revoked successfully');
|
||||
await expect(page.locator('[data-type="success"]')).toHaveText('API key revoked successfully');
|
||||
|
||||
// Verify key is no longer in the list
|
||||
await expect(page.getByRole('cell', { name: apiKey.name })).not.toBeVisible();
|
||||
|
||||
@@ -10,7 +10,7 @@ test('Update general configuration', async ({ page }) => {
|
||||
await page.getByLabel('Session Duration').fill('30');
|
||||
await page.getByRole('button', { name: 'Save' }).first().click();
|
||||
|
||||
await expect(page.getByRole('status')).toHaveText(
|
||||
await expect(page.locator('[data-type="success"]')).toHaveText(
|
||||
'Application configuration updated successfully'
|
||||
);
|
||||
await expect(page.getByTestId('application-name')).toHaveText('Updated Name');
|
||||
@@ -38,7 +38,9 @@ test('Update email configuration', async ({ page }) => {
|
||||
|
||||
await page.getByRole('button', { name: 'Save' }).nth(1).click();
|
||||
|
||||
await expect(page.getByRole('status')).toHaveText('Email configuration updated successfully');
|
||||
await expect(page.locator('[data-type="success"]')).toHaveText(
|
||||
'Email configuration updated successfully'
|
||||
);
|
||||
|
||||
await page.reload();
|
||||
|
||||
@@ -64,7 +66,7 @@ test('Update application images', async ({ page }) => {
|
||||
await page.getByLabel('Background Image').setInputFiles('tests/assets/clouds.jpg');
|
||||
await page.getByRole('button', { name: 'Save' }).nth(1).click();
|
||||
|
||||
await expect(page.getByRole('status')).toHaveText('Images updated successfully');
|
||||
await expect(page.locator('[data-type="success"]')).toHaveText('Images updated successfully');
|
||||
|
||||
await page.request
|
||||
.get('/api/application-configuration/favicon')
|
||||
|
||||
@@ -20,7 +20,9 @@ test('Create OIDC client', async ({ page }) => {
|
||||
|
||||
const clientId = await page.getByTestId('client-id').textContent();
|
||||
|
||||
await expect(page.getByRole('status')).toHaveText('OIDC client created successfully');
|
||||
await expect(page.locator('[data-type="success"]')).toHaveText(
|
||||
'OIDC client created successfully'
|
||||
);
|
||||
expect(clientId?.length).toBe(36);
|
||||
expect((await page.getByTestId('client-secret').textContent())?.length).toBe(32);
|
||||
await expect(page.getByLabel('Name')).toHaveValue(oidcClient.name);
|
||||
@@ -41,7 +43,9 @@ test('Edit OIDC client', async ({ page }) => {
|
||||
await page.getByLabel('logo').setInputFiles('tests/assets/nextcloud-logo.png');
|
||||
await page.getByRole('button', { name: 'Save' }).click();
|
||||
|
||||
await expect(page.getByRole('status')).toHaveText('OIDC client updated successfully');
|
||||
await expect(page.locator('[data-type="success"]')).toHaveText(
|
||||
'OIDC client updated successfully'
|
||||
);
|
||||
await expect(page.getByRole('img', { name: 'Nextcloud updated logo' })).toBeVisible();
|
||||
await page.request
|
||||
.get(`/api/oidc/clients/${oidcClient.id}/logo`)
|
||||
@@ -55,7 +59,9 @@ test('Create new OIDC client secret', async ({ page }) => {
|
||||
await page.getByLabel('Create new client secret').click();
|
||||
await page.getByRole('button', { name: 'Generate' }).click();
|
||||
|
||||
await expect(page.getByRole('status')).toHaveText('New client secret created successfully');
|
||||
await expect(page.locator('[data-type="success"]')).toHaveText(
|
||||
'New client secret created successfully'
|
||||
);
|
||||
expect((await page.getByTestId('client-secret').textContent())?.length).toBe(32);
|
||||
});
|
||||
|
||||
@@ -66,6 +72,8 @@ test('Delete OIDC client', async ({ page }) => {
|
||||
await page.getByRole('row', { name: oidcClient.name }).getByLabel('Delete').click();
|
||||
await page.getByText('Delete', { exact: true }).click();
|
||||
|
||||
await expect(page.getByRole('status')).toHaveText('OIDC client deleted successfully');
|
||||
await expect(page.locator('[data-type="success"]')).toHaveText(
|
||||
'OIDC client deleted successfully'
|
||||
);
|
||||
await expect(page.getByRole('row', { name: oidcClient.name })).not.toBeVisible();
|
||||
});
|
||||
|
||||
@@ -13,7 +13,7 @@ test('Create user group', async ({ page }) => {
|
||||
|
||||
await page.getByRole('button', { name: 'Save' }).click();
|
||||
|
||||
await expect(page.getByRole('status')).toHaveText('User group created successfully');
|
||||
await expect(page.locator('[data-type="success"]')).toHaveText('User group created successfully');
|
||||
|
||||
await page.waitForURL('/settings/admin/user-groups/*');
|
||||
|
||||
@@ -36,7 +36,7 @@ test('Edit user group', async ({ page }) => {
|
||||
|
||||
await page.getByRole('button', { name: 'Save' }).nth(0).click();
|
||||
|
||||
await expect(page.getByRole('status')).toHaveText('User group updated successfully');
|
||||
await expect(page.locator('[data-type="success"]')).toHaveText('User group updated successfully');
|
||||
await expect(page.getByLabel('Friendly Name')).toHaveValue('Developers updated');
|
||||
await expect(page.getByLabel('Name', { exact: true })).toHaveValue('developers_updated');
|
||||
});
|
||||
@@ -50,7 +50,7 @@ test('Update user group users', async ({ page }) => {
|
||||
|
||||
await page.getByRole('button', { name: 'Save' }).nth(1).click();
|
||||
|
||||
await expect(page.getByRole('status')).toHaveText('Users updated successfully');
|
||||
await expect(page.locator('[data-type="success"]')).toHaveText('Users updated successfully');
|
||||
|
||||
await page.reload();
|
||||
|
||||
@@ -70,7 +70,7 @@ test('Delete user group', async ({ page }) => {
|
||||
await page.getByRole('menuitem', { name: 'Delete' }).click();
|
||||
await page.getByRole('button', { name: 'Delete' }).click();
|
||||
|
||||
await expect(page.getByRole('status')).toHaveText('User group deleted successfully');
|
||||
await expect(page.locator('[data-type="success"]')).toHaveText('User group deleted successfully');
|
||||
await expect(page.getByRole('row', { name: group.name })).not.toBeVisible();
|
||||
});
|
||||
|
||||
@@ -91,7 +91,9 @@ test('Update user group custom claims', async ({ page }) => {
|
||||
|
||||
await page.getByRole('button', { name: 'Save' }).nth(2).click();
|
||||
|
||||
await expect(page.getByRole('status')).toHaveText('Custom claims updated successfully');
|
||||
await expect(page.locator('[data-type="success"]')).toHaveText(
|
||||
'Custom claims updated successfully'
|
||||
);
|
||||
|
||||
await page.reload();
|
||||
|
||||
|
||||
@@ -17,7 +17,7 @@ test('Create user', async ({ page }) => {
|
||||
await page.getByRole('button', { name: 'Save' }).click();
|
||||
|
||||
await expect(page.getByRole('row', { name: `${user.firstname} ${user.lastname}` })).toBeVisible();
|
||||
await expect(page.getByRole('status')).toHaveText('User created successfully');
|
||||
await expect(page.locator('[data-type="success"]')).toHaveText('User created successfully');
|
||||
});
|
||||
|
||||
test('Create user fails with already taken email', async ({ page }) => {
|
||||
@@ -32,7 +32,7 @@ test('Create user fails with already taken email', async ({ page }) => {
|
||||
await page.getByLabel('Username').fill(user.username);
|
||||
await page.getByRole('button', { name: 'Save' }).click();
|
||||
|
||||
await expect(page.getByRole('status')).toHaveText('Email is already in use');
|
||||
await expect(page.locator('[data-type="error"]')).toHaveText('Email is already in use');
|
||||
});
|
||||
|
||||
test('Create user fails with already taken username', async ({ page }) => {
|
||||
@@ -47,7 +47,7 @@ test('Create user fails with already taken username', async ({ page }) => {
|
||||
await page.getByLabel('Username').fill(users.tim.username);
|
||||
await page.getByRole('button', { name: 'Save' }).click();
|
||||
|
||||
await expect(page.getByRole('status')).toHaveText('Username is already in use');
|
||||
await expect(page.locator('[data-type="error"]')).toHaveText('Username is already in use');
|
||||
});
|
||||
|
||||
test('Create one time access token', async ({ page, context }) => {
|
||||
@@ -85,7 +85,7 @@ test('Delete user', async ({ page }) => {
|
||||
await page.getByRole('menuitem', { name: 'Delete' }).click();
|
||||
await page.getByRole('button', { name: 'Delete' }).click();
|
||||
|
||||
await expect(page.getByRole('status')).toHaveText('User deleted successfully');
|
||||
await expect(page.locator('[data-type="success"]')).toHaveText('User deleted successfully');
|
||||
await expect(
|
||||
page.getByRole('row', {
|
||||
name: `${users.craig.firstname} ${users.craig.lastname}`
|
||||
@@ -110,7 +110,7 @@ test('Update user', async ({ page }) => {
|
||||
await page.getByLabel('Username').fill('crack');
|
||||
await page.getByRole('button', { name: 'Save' }).first().click();
|
||||
|
||||
await expect(page.getByRole('status')).toHaveText('User updated successfully');
|
||||
await expect(page.locator('[data-type="success"]')).toHaveText('User updated successfully');
|
||||
});
|
||||
|
||||
test('Update user fails with already taken email', async ({ page }) => {
|
||||
@@ -127,7 +127,7 @@ test('Update user fails with already taken email', async ({ page }) => {
|
||||
await page.getByLabel('Email').fill(users.tim.email);
|
||||
await page.getByRole('button', { name: 'Save' }).first().click();
|
||||
|
||||
await expect(page.getByRole('status')).toHaveText('Email is already in use');
|
||||
await expect(page.locator('[data-type="error"]')).toHaveText('Email is already in use');
|
||||
});
|
||||
|
||||
test('Update user fails with already taken username', async ({ page }) => {
|
||||
@@ -144,7 +144,7 @@ test('Update user fails with already taken username', async ({ page }) => {
|
||||
await page.getByLabel('Username').fill(users.tim.username);
|
||||
await page.getByRole('button', { name: 'Save' }).first().click();
|
||||
|
||||
await expect(page.getByRole('status')).toHaveText('Username is already in use');
|
||||
await expect(page.locator('[data-type="error"]')).toHaveText('Username is already in use');
|
||||
});
|
||||
|
||||
test('Update user custom claims', async ({ page }) => {
|
||||
@@ -164,7 +164,9 @@ test('Update user custom claims', async ({ page }) => {
|
||||
|
||||
await page.getByRole('button', { name: 'Save' }).nth(1).click();
|
||||
|
||||
await expect(page.getByRole('status')).toHaveText('Custom claims updated successfully');
|
||||
await expect(page.locator('[data-type="success"]')).toHaveText(
|
||||
'Custom claims updated successfully'
|
||||
);
|
||||
|
||||
await page.reload();
|
||||
|
||||
@@ -178,7 +180,9 @@ test('Update user custom claims', async ({ page }) => {
|
||||
await page.getByLabel('Remove custom claim').first().click();
|
||||
await page.getByRole('button', { name: 'Save' }).nth(1).click();
|
||||
|
||||
await expect(page.getByRole('status')).toHaveText('Custom claims updated successfully');
|
||||
await expect(page.locator('[data-type="success"]')).toHaveText(
|
||||
'Custom claims updated successfully'
|
||||
);
|
||||
|
||||
await page.reload();
|
||||
|
||||
@@ -198,7 +202,9 @@ test('Update user group assignments', async ({ page }) => {
|
||||
|
||||
await page.getByRole('button', { name: 'Save' }).nth(1).click();
|
||||
|
||||
await expect(page.getByRole('status')).toHaveText('User groups updated successfully');
|
||||
await expect(page.locator('[data-type="success"]')).toHaveText(
|
||||
'User groups updated successfully'
|
||||
);
|
||||
|
||||
await page.reload();
|
||||
|
||||
|
||||
Reference in New Issue
Block a user