feat: allow uppercase usernames (#958)

This commit is contained in:
Elias Schneider
2025-09-17 21:43:12 +02:00
committed by GitHub
parent cf0892922b
commit 02249491f8
14 changed files with 71 additions and 27 deletions

View File

@@ -42,6 +42,18 @@ test('Update account details fails with already taken username', async ({ page }
await expect(page.locator('[data-type="error"]')).toHaveText('Username is already in use');
});
test('Update account details fails with already taken username in different casing', async ({
page
}) => {
await page.goto('/settings/account');
await page.getByLabel('Username').fill(users.craig.username.toUpperCase());
await page.getByRole('button', { name: 'Save' }).click();
await expect(page.locator('[data-type="error"]')).toHaveText('Username is already in use');
});
test('Change Locale', async ({ page }) => {
await page.goto('/settings/account');

View File

@@ -53,6 +53,21 @@ test('Create user fails with already taken username', async ({ page }) => {
await expect(page.locator('[data-type="error"]')).toHaveText('Username is already in use');
});
test('Create user fails with already taken username in different casing', async ({ page }) => {
const user = users.steve;
await page.goto('/settings/admin/users');
await page.getByRole('button', { name: 'Add User' }).click();
await page.getByLabel('First name').fill(user.firstname);
await page.getByLabel('Last name').fill(user.lastname);
await page.getByLabel('Email').fill(user.email);
await page.getByLabel('Username').fill(users.tim.username.toUpperCase());
await page.getByRole('button', { name: 'Save' }).click();
await expect(page.locator('[data-type="error"]')).toHaveText('Username is already in use');
});
test('Create one time access token', async ({ page, context }) => {
await page.goto('/settings/admin/users');
@@ -151,6 +166,23 @@ test('Update user fails with already taken username', async ({ page }) => {
await expect(page.locator('[data-type="error"]')).toHaveText('Username is already in use');
});
test('Update user fails with already taken username in different casing', async ({ page }) => {
const user = users.craig;
await page.goto('/settings/admin/users');
await page
.getByRole('row', { name: `${user.firstname} ${user.lastname}` })
.getByRole('button')
.click();
await page.getByRole('menuitem', { name: 'Edit' }).click();
await page.getByLabel('Username').fill(users.tim.username.toUpperCase());
await page.getByRole('button', { name: 'Save' }).first().click();
await expect(page.locator('[data-type="error"]')).toHaveText('Username is already in use');
});
test('Update user custom claims', async ({ page }) => {
await page.goto(`/settings/admin/users/${users.craig.id}`);