contact form tests

This commit is contained in:
Owen Rees
2023-06-22 12:52:41 +02:00
parent ae805e5d80
commit 6f7b840b54
11 changed files with 116 additions and 79 deletions
+48 -13
View File
@@ -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"));
}
});
});
}
);
});
});