vbv/cypress/e2e/appointments.cy.js

50 lines
1.5 KiB
JavaScript

import {login} from "./helpers";
const CIRCLE_SELECT = '[data-cy=appointments-circle-select]';
const SESSION_SELECT = '[data-cy=appointments-session-select]';
const APPOINTMENTS = '[data-cy=appointments-list]';
describe("appointments.cy.js", () => {
beforeEach(() => {
cy.manageCommand("cypress_reset");
login("test-student2@example.com", "test");
cy.visit("/course/test-lehrgang/appointments");
// Pre-Select Bern
cy.get(SESSION_SELECT).click();
cy.get(SESSION_SELECT).contains("Bern").click();
cy.get(SESSION_SELECT).should("contain", "Bern");
});
it("preselects the correct course session (Bern)", () => {
cy.visit("/course/test-lehrgang/appointments");
cy.get(SESSION_SELECT).should("contain", "Bern");
})
it("preselects NO course session (all)", () => {
cy.visit("/appointments");
cy.get(SESSION_SELECT).should("contain", "Alle");
})
it("can filter by circle", () => {
// TODO: Fix this test (somehow the circle select is not working)
// because it's loading on change of the session select?
// cy.get(CIRCLE_SELECT).click();
// cy.get(CIRCLE_SELECT).contains("Fahrzeug").click();
//
// // THEN
// cy.get(APPOINTMENTS).should("not.contain", "Keine Termine");
})
it("can switch course session to Zurich", () => {
cy.get(SESSION_SELECT).click();
cy.get(SESSION_SELECT).contains("Zürich").click();
cy.get(SESSION_SELECT).should("contain", "Zürich");
// THEN
cy.get(APPOINTMENTS).should("contain", "Keine Termine");
})
})