parcel/cypress/e2e/002_signin.cy.js
Blake Rain ad2cbb46c3
Some checks failed
Check / check (push) Failing after 3m9s
chore: turn on logging and consolidate tasks
2024-08-15 15:27:46 +01:00

62 lines
2.2 KiB
JavaScript

import users from "../fixtures/users.json";
describe("Sign In", () => {
beforeEach(() => {
cy.initialUsers();
});
it("Presents interface", () => {
cy.visit("/user/signin");
cy.title().should("eq", "Sign In - Parcel File Sharing");
});
it("Disallows empty username", () => {
cy.visit("/user/signin");
cy.get("button[type=submit]").click();
cy.url().should("eq", Cypress.config().baseUrl + "/user/signin");
cy.get("input[name=username]").should("have.focus");
});
it("Disallows empty password", () => {
cy.visit("/user/signin");
cy.get("input[name=username]").type(users.admin.username);
cy.get("button[type=submit]").click();
cy.url().should("eq", Cypress.config().baseUrl + "/user/signin");
cy.get("input[name=password]").should("have.focus");
});
it("Rejects unknown username", () => {
cy.visit("/user/signin");
cy.get("input[name=username]").type(users.admin.username + "__unknown");
cy.get("input[name=password]").type(users.admin.password);
cy.get("button[type=submit]").click();
cy.url().should("eq", Cypress.config().baseUrl + "/user/signin");
cy.get("#error").should("contain", "Invalid username or password");
});
it("Rejects invalid password", () => {
cy.visit("/user/signin");
cy.get("input[name=username]").type(users.admin.username);
cy.get("input[name=password]").type(users.admin.password + "__invalid");
cy.get("button[type=submit]").click();
cy.url().should("eq", Cypress.config().baseUrl + "/user/signin");
cy.get("#error").should("contain", "Invalid username or password");
});
it("Successful sign in (of admin)", () => {
cy.visit("/user/signin");
cy.get("input[name=username]").type(users.admin.username);
cy.get("input[name=password]").type(users.admin.password);
cy.get("button[type=submit]").click();
cy.url().should("eq", Cypress.config().baseUrl + "/admin");
});
it("Successful sign in (of user)", () => {
cy.visit("/user/signin");
cy.get("input[name=username]").type(users.user.username);
cy.get("input[name=password]").type(users.user.password);
cy.get("button[type=submit]").click();
cy.url().should("eq", Cypress.config().baseUrl + "/");
});
});