51 lines
1.7 KiB
TypeScript
51 lines
1.7 KiB
TypeScript
import { expect, test } from "../../index";
|
|
|
|
test.describe(
|
|
"Login test suite",
|
|
{
|
|
tag: "@login",
|
|
},
|
|
async () => {
|
|
test("Logging in without credentials displays an error", async ({
|
|
loginPage,
|
|
}) => {
|
|
await loginPage.submitLoginButton.click();
|
|
const toast = await loginPage.getLatestToast();
|
|
await expect(toast.locator).toBeVisible();
|
|
await expect(toast.locator).toHaveAttribute("data-type", "error");
|
|
});
|
|
|
|
test("Logging in with an erroneous password displays an error", async ({
|
|
loginPage,
|
|
}) => {
|
|
await loginPage.usernameInput.fill(process.env["TEST_USERNAME"] || "");
|
|
await loginPage.passwordInput.fill("NOT_MY_PASSWORD_DNE_ERROR");
|
|
await loginPage.submitLoginButton.click();
|
|
const toast = await loginPage.getLatestToast();
|
|
await expect(toast.locator).toBeVisible();
|
|
await expect(toast.locator).toHaveAttribute("data-type", "error");
|
|
});
|
|
|
|
test("Logging in without valid credentials displays an error", async ({
|
|
loginPage,
|
|
}) => {
|
|
await loginPage.submitLoginButton.click();
|
|
const toast = await loginPage.getLatestToast();
|
|
await expect(toast.locator).toBeVisible();
|
|
await expect(toast.locator).toHaveAttribute("data-type", "error");
|
|
});
|
|
|
|
test("Logging in with a valid username and password works as expected", async ({
|
|
page,
|
|
loginPage,
|
|
dashboardPage,
|
|
}) => {
|
|
await loginPage.usernameInput.fill(process.env["TEST_USERNAME"] || "");
|
|
await loginPage.passwordInput.fill(process.env["TEST_PASSWORD"] || "");
|
|
await loginPage.submitLoginButton.click();
|
|
await expect(loginPage.loginForm).not.toBeVisible();
|
|
await expect(dashboardPage.container).toBeVisible();
|
|
});
|
|
}
|
|
);
|