diff --git a/tests/auth.spec.ts b/tests/auth.spec.ts index 61e5543..7f8c1db 100644 --- a/tests/auth.spec.ts +++ b/tests/auth.spec.ts @@ -46,16 +46,15 @@ test("Test registration error: password mismatch", async ({ page }) => { test("Test registration error: dupe user", async ({ page }) => { const user = new User("dupeuser"); + const admin = new User(config.ADMIN_USERNAME); + admin.setAdmin(); - // pre-register user for duplicate user test - await user.register(page); - await user.logout(page); - await expect(page).toHaveTitle("Forgejo: Beyond coding. We forge."); + await page.goto(config.INSTANCE_URL.toString()); await page.getByRole("link", { name: "Register" }).click(); await page.waitForURL("**/user/sign_up"); - await page.getByLabel("Username").fill(user.username); + await page.getByLabel("Username").fill(admin.username); await page.getByLabel("Email Address").fill(user.email); await page.getByLabel("Password", { exact: true }).fill(user.password); await page.getByLabel("Confirm Password").fill(user.password); @@ -71,6 +70,32 @@ test("Test registration error: dupe user", async ({ page }) => { ); }); +test("Test registration error: dupe email", async ({ page }) => { + const user = new User("dupemeail"); + const admin = new User(config.ADMIN_USERNAME); + admin.setAdmin(); + + await page.goto(config.INSTANCE_URL.toString()); + await page.getByRole("link", { name: "Register" }).click(); + await page.waitForURL("**/user/sign_up"); + + await page.getByLabel("Username").fill(user.username); + await page.getByLabel("Email Address").fill(admin.email); + await page.getByLabel("Password", { exact: true }).fill(user.password); + await page.getByLabel("Confirm Password").fill(user.password); + + await page.getByRole("button", { name: "Register Account" }).click(); + + await expect(page).toHaveTitle( + "Register - Forgejo: Beyond coding. We forge." + ); + await page.locator(".negative > p:nth-child(1)").waitFor(); + expect(page.locator(".negative > p:nth-child(1)")).toContainText( + "The email address is already used." + ); +}); + + test("Test successful registration", async ({ page }) => { const user = new User("register");