mirror of
https://github.com/TheRealOwenRees/echecsfrance.git
synced 2026-07-23 04:26:57 +00:00
contact form tests
This commit is contained in:
@@ -0,0 +1,50 @@
|
||||
describe("Contact form", () => {
|
||||
const email = "test@test.com";
|
||||
const invalidEmail = "test@";
|
||||
const subject = "Test Subject";
|
||||
const message = "Test message";
|
||||
|
||||
describe("Invalid data", () => {
|
||||
beforeEach(() => {
|
||||
cy.visit("/contactez-nous");
|
||||
});
|
||||
|
||||
it("invalid email address", () => {
|
||||
cy.getByData("email-input").type(invalidEmail);
|
||||
cy.getByData("subject-input").type(subject);
|
||||
cy.getByData("message-input").type(message);
|
||||
cy.getByData("submit-button").click();
|
||||
cy.getByData("info-message").should("have.text", "");
|
||||
});
|
||||
|
||||
it("missing subject", () => {
|
||||
cy.getByData("email-input").type(email);
|
||||
cy.getByData("message-input").type(message);
|
||||
cy.getByData("submit-button").click();
|
||||
cy.getByData("info-message").should("have.text", "");
|
||||
});
|
||||
|
||||
it("missing message", () => {
|
||||
cy.getByData("email-input").type(email);
|
||||
cy.getByData("subject-input").type(subject);
|
||||
cy.getByData("submit-button").click();
|
||||
cy.getByData("info-message").should("have.text", "");
|
||||
});
|
||||
});
|
||||
|
||||
describe("Valid data", () => {
|
||||
beforeEach(() => {
|
||||
cy.visit("/contactez-nous");
|
||||
});
|
||||
|
||||
it("valid input", () => {
|
||||
cy.getByData("email-input").type(email);
|
||||
cy.getByData("subject-input").type(subject);
|
||||
cy.getByData("message-input").type(message);
|
||||
cy.getByData("submit-button").click().should("be.disabled");
|
||||
cy.wait(3000);
|
||||
cy.getByData("info-message").contains("Thank you");
|
||||
cy.getByData("submit-button").click().should("be.not.disabled");
|
||||
});
|
||||
});
|
||||
});
|
||||
+48
-13
@@ -1,11 +1,27 @@
|
||||
describe("Test all links", () => {
|
||||
describe("Test links", () => {
|
||||
const pages = ["tournois", "qui sommes-nous", "contactez-nous"];
|
||||
|
||||
const navLinkToSlug = (navLink: string) => {
|
||||
return navLink.replace(/\s+/g, "-");
|
||||
};
|
||||
|
||||
it("Check navbar links point to correct pathname as a slug", () => {
|
||||
const testLinks = () => {
|
||||
cy.get("a:not([href*='mailto:']):not(nav a):not(footer a)").each((link) => {
|
||||
if (
|
||||
!link
|
||||
.prop("href")
|
||||
.includes("http://www.echecs.asso.fr/FicheTournoi.aspx") // ignore every external FFE tournament link
|
||||
) {
|
||||
cy.request({
|
||||
url: link.prop("href"),
|
||||
failOnStatusCode: false,
|
||||
});
|
||||
cy.log(link.prop("href"));
|
||||
}
|
||||
});
|
||||
};
|
||||
|
||||
it("navbar links point to correct pathname as a slug", () => {
|
||||
cy.viewport(600, 600);
|
||||
cy.visit("/");
|
||||
pages.forEach((page) => {
|
||||
@@ -16,22 +32,41 @@ describe("Test all links", () => {
|
||||
});
|
||||
});
|
||||
|
||||
it("Check dead links", () => {
|
||||
pages.forEach((page) => {
|
||||
cy.visit(`/${navLinkToSlug(page)}`);
|
||||
cy.get("a:not([href*='mailto:']").each((link) => {
|
||||
if (
|
||||
!link
|
||||
.prop("href")
|
||||
.includes("http://www.echecs.asso.fr/FicheTournoi.aspx") // ignore every external FFE tournament link
|
||||
) {
|
||||
// TODO consider doing .each from pages array once links are on each page
|
||||
// TODO at present, the commented out tests have no links so fail
|
||||
it("homepage dead links", () => {
|
||||
cy.visit("/");
|
||||
testLinks();
|
||||
});
|
||||
|
||||
it("tournois dead links", () => {
|
||||
cy.visit("/tournois");
|
||||
testLinks();
|
||||
});
|
||||
|
||||
// it("qui-sommes-nous dead links", () => {s
|
||||
// cy.visit("/qui-sommes-nous");
|
||||
// testLinks();
|
||||
// });
|
||||
//
|
||||
// it("contactez-nous dead links", () => {
|
||||
// cy.visit("/contactez-nous");
|
||||
// testLinks();
|
||||
// });
|
||||
|
||||
//TODO consider 5 random links rather than first 5
|
||||
it("first 5 tournament external links", () => {
|
||||
cy.visit("/tournois");
|
||||
cy.get("a:not([href*='mailto:']):not(nav a):not(footer a)").each(
|
||||
(link, index) => {
|
||||
if (index < 5) {
|
||||
cy.request({
|
||||
url: link.prop("href"),
|
||||
failOnStatusCode: false,
|
||||
});
|
||||
cy.log(link.prop("href"));
|
||||
}
|
||||
});
|
||||
});
|
||||
}
|
||||
);
|
||||
});
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user