feat: custom claims (#53)

This commit is contained in:
Elias Schneider
2024-10-28 18:11:54 +01:00
committed by GitHub
parent 3350398abc
commit c056089c60
43 changed files with 1071 additions and 281 deletions

View File

@@ -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 taken');
await expect(page.getByRole('status')).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 taken');
await expect(page.getByRole('status')).toHaveText('Username is already in use');
});
test('Create one time access token', async ({ page }) => {
@@ -95,7 +95,7 @@ test('Update user', async ({ page }) => {
await page.getByLabel('Last name').fill('Apple');
await page.getByLabel('Email').fill('crack.apple@test.com');
await page.getByLabel('Username').fill('crack');
await page.getByRole('button', { name: 'Save' }).click();
await page.getByRole('button', { name: 'Save' }).first().click();
await expect(page.getByRole('status')).toHaveText('User updated successfully');
});
@@ -112,9 +112,9 @@ test('Update user fails with already taken email', async ({ page }) => {
await page.getByRole('menuitem', { name: 'Edit' }).click();
await page.getByLabel('Email').fill(users.tim.email);
await page.getByRole('button', { name: 'Save' }).click();
await page.getByRole('button', { name: 'Save' }).first().click();
await expect(page.getByRole('status')).toHaveText('Email is already taken');
await expect(page.getByRole('status')).toHaveText('Email is already in use');
});
test('Update user fails with already taken username', async ({ page }) => {
@@ -129,7 +129,43 @@ test('Update user fails with already taken username', async ({ page }) => {
await page.getByRole('menuitem', { name: 'Edit' }).click();
await page.getByLabel('Username').fill(users.tim.username);
await page.getByRole('button', { name: 'Save' }).click();
await page.getByRole('button', { name: 'Save' }).first().click();
await expect(page.getByRole('status')).toHaveText('Username is already taken');
await expect(page.getByRole('status')).toHaveText('Username is already in use');
});
test('Update user custom claims', async ({ page }) => {
await page.goto(`/settings/admin/users/${users.craig.id}`);
// Add two custom claims
await page.getByRole('button', { name: 'Add custom claim' }).click();
await page.getByPlaceholder('Key').fill('custom_claim_1');
await page.getByPlaceholder('Value').fill('custom_claim_1_value');
await page.getByRole('button', { name: 'Add another' }).click();
await page.getByPlaceholder('Key').nth(1).fill('custom_claim_2');
await page.getByPlaceholder('Value').nth(1).fill('custom_claim_2_value');
await page.getByRole('button', { name: 'Save' }).nth(1).click();
await expect(page.getByRole('status')).toHaveText('Custom claims updated successfully');
await page.reload();
// Check if custom claims are saved
await expect(page.getByPlaceholder('Key').first()).toHaveValue('custom_claim_1');
await expect(page.getByPlaceholder('Value').first()).toHaveValue('custom_claim_1_value');
await expect(page.getByPlaceholder('Key').nth(1)).toHaveValue('custom_claim_2');
await expect(page.getByPlaceholder('Value').nth(1)).toHaveValue('custom_claim_2_value');
// Remove one custom claim
await page.getByLabel('Remove custom claim').first().click();
await page.getByRole('button', { name: 'Save' }).nth(1).click();
await page.reload();
// Check if custom claim is removed
await expect(page.getByPlaceholder('Key').first()).toHaveValue('custom_claim_2');
await expect(page.getByPlaceholder('Value').first()).toHaveValue('custom_claim_2_value');
});