feat: test dupe email and use admin user for testing dupe username
All checks were successful
ci/woodpecker/push/woodpecker Pipeline was successful

This commit is contained in:
Aravinth Manivannan 2024-01-10 19:03:46 +05:30
parent 1adc85f826
commit 038a41648a
Signed by: realaravinth
GPG key ID: F8F50389936984FF

View file

@ -46,16 +46,15 @@ test("Test registration error: password mismatch", async ({ page }) => {
test("Test registration error: dupe user", async ({ page }) => { test("Test registration error: dupe user", async ({ page }) => {
const user = new User("dupeuser"); 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.getByRole("link", { name: "Register" }).click();
await page.waitForURL("**/user/sign_up"); 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("Email Address").fill(user.email);
await page.getByLabel("Password", { exact: true }).fill(user.password); await page.getByLabel("Password", { exact: true }).fill(user.password);
await page.getByLabel("Confirm Password").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 }) => { test("Test successful registration", async ({ page }) => {
const user = new User("register"); const user = new User("register");