|
1 |
| -import { expect, test } from "@playwright/test"; |
2 |
| -import { randomName } from "../../helpers"; |
| 1 | +import { test } from "@playwright/test"; |
| 2 | +import { createUser } from "../../helpers"; |
3 | 3 | import { beforeCoderTest } from "../../hooks";
|
4 | 4 |
|
5 | 5 | test.beforeEach(async ({ page }) => await beforeCoderTest(page));
|
6 | 6 |
|
7 |
| -test("create user with password", async ({ page, baseURL }) => { |
8 |
| - await page.goto(`${baseURL}/deployment/users`, { |
9 |
| - waitUntil: "domcontentloaded", |
10 |
| - }); |
11 |
| - await expect(page).toHaveTitle("Users - Coder"); |
12 |
| - |
13 |
| - await page.getByRole("button", { name: "Create user" }).click(); |
14 |
| - await expect(page).toHaveTitle("Create User - Coder"); |
15 |
| - |
16 |
| - const name = randomName(); |
17 |
| - const userValues = { |
18 |
| - username: name, |
19 |
| - name: name, |
20 |
| - email: `${name}@coder.com`, |
21 |
| - loginType: "password", |
22 |
| - password: "s3cure&password!", |
23 |
| - }; |
24 |
| - |
25 |
| - await page.getByLabel("Username").fill(userValues.username); |
26 |
| - await page.getByLabel("Full name").fill(userValues.username); |
27 |
| - await page.getByLabel("Email").fill(userValues.email); |
28 |
| - await page.getByLabel("Login Type").click(); |
29 |
| - await page.getByRole("option", { name: "Password", exact: false }).click(); |
30 |
| - // Using input[name=password] due to the select element utilizing 'password' |
31 |
| - // as the label for the currently active option. |
32 |
| - const passwordField = page.locator("input[name=password]"); |
33 |
| - await passwordField.fill(userValues.password); |
34 |
| - await page.getByRole("button", { name: "Create user" }).click(); |
35 |
| - await expect(page.getByText("Successfully created user.")).toBeVisible(); |
36 |
| - |
37 |
| - await expect(page).toHaveTitle("Users - Coder"); |
38 |
| - await expect(page.locator("tr", { hasText: userValues.email })).toBeVisible(); |
| 7 | +test("create user with password", async ({ page }) => { |
| 8 | + await createUser(page); |
39 | 9 | });
|
40 | 10 |
|
41 |
| -test("create user without full name is optional", async ({ page, baseURL }) => { |
42 |
| - await page.goto(`${baseURL}/deployment/users`, { |
43 |
| - waitUntil: "domcontentloaded", |
44 |
| - }); |
45 |
| - await expect(page).toHaveTitle("Users - Coder"); |
46 |
| - |
47 |
| - await page.getByRole("button", { name: "Create user" }).click(); |
48 |
| - await expect(page).toHaveTitle("Create User - Coder"); |
49 |
| - |
50 |
| - const name = randomName(); |
51 |
| - const userValues = { |
52 |
| - username: name, |
53 |
| - email: `${name}@coder.com`, |
54 |
| - loginType: "password", |
55 |
| - password: "s3cure&password!", |
56 |
| - }; |
57 |
| - |
58 |
| - await page.getByLabel("Username").fill(userValues.username); |
59 |
| - await page.getByLabel("Email").fill(userValues.email); |
60 |
| - await page.getByLabel("Login Type").click(); |
61 |
| - await page.getByRole("option", { name: "Password", exact: false }).click(); |
62 |
| - // Using input[name=password] due to the select element utilizing 'password' |
63 |
| - // as the label for the currently active option. |
64 |
| - const passwordField = page.locator("input[name=password]"); |
65 |
| - await passwordField.fill(userValues.password); |
66 |
| - await page.getByRole("button", { name: "Create user" }).click(); |
67 |
| - await expect(page.getByText("Successfully created user.")).toBeVisible(); |
68 |
| - |
69 |
| - await expect(page).toHaveTitle("Users - Coder"); |
70 |
| - await expect(page.locator("tr", { hasText: userValues.email })).toBeVisible(); |
| 11 | +test("create user without full name", async ({ page }) => { |
| 12 | + await createUser(page, { name: "" }); |
71 | 13 | });
|
0 commit comments