parcel/cypress/e2e/001_setup.cy.js
Blake Rain 98fdb4d7cb
Some checks failed
Check / check (push) Failing after 3m13s
chore: start of Cypress tests
2024-08-15 10:22:58 +01:00

69 lines
2.1 KiB
JavaScript

import users from "../fixtures/users.json";
describe("Site Setup", () => {
beforeEach(() => {
cy.resetDatabase();
});
it("Redirects to setup if no user", () => {
cy.visit("/");
cy.url().should("eq", Cypress.config().baseUrl + "/admin/setup");
});
it("Presents interface", () => {
cy.visit("/admin/setup");
cy.title().should("eq", "Setup - Parcel File Sharing");
cy.get("h1").should("contain", "Initial Setup");
});
it("Disallows empty inputs", () => {
cy.visit("/admin/setup");
cy.get("button[type=submit]").click();
cy.url().should("eq", Cypress.config().baseUrl + "/admin/setup");
cy.get("#error").should(
"contain",
"administrator username cannot be empty",
);
});
it("Expects password", () => {
cy.visit("/admin/setup");
cy.get("input[name=username]").type(users.admin.username);
cy.get("button[type=submit]").click();
cy.url().should("eq", Cypress.config().baseUrl + "/admin/setup");
cy.get("#error").should(
"contain",
"administrator password cannot be empty",
);
});
it("Expects password confirmation", () => {
cy.visit("/admin/setup");
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/setup");
cy.get("#error").should("contain", "passwords do not match");
});
it("Successful setup", () => {
cy.visit("/admin/setup");
cy.title().should("eq", "Setup - Parcel File Sharing");
cy.get("h1").should("contain", "Initial Setup");
cy.get("input[name=username]").type(users.admin.username);
cy.get("input[name=password]").type(users.admin.password);
cy.get("input[name=confirm]").type(users.admin.password);
cy.get("button[type=submit]").click();
cy.url().should("eq", Cypress.config().baseUrl + "/admin");
cy.title().should("eq", "Administration - Parcel File Sharing");
cy.visit("/admin/setup");
cy.url().should("eq", Cypress.config().baseUrl + "/admin");
cy.title().should("eq", "Administration - Parcel File Sharing");
});
});