mirror of
https://github.com/umami-software/umami.git
synced 2026-02-19 12:05:41 +01:00
89 lines
3.3 KiB
TypeScript
89 lines
3.3 KiB
TypeScript
describe("Website tests", () => {
|
|
Cypress.session.clearAllSavedSessions();
|
|
|
|
beforeEach(() => {
|
|
cy.login(Cypress.env("syncfuse_user"), Cypress.env("syncfuse_password"));
|
|
});
|
|
|
|
it("Add a website", () => {
|
|
// add website
|
|
cy.visit("/settings/websites");
|
|
cy.getDataTest("button-website-add").click();
|
|
cy.contains(/Add website/i).should("be.visible");
|
|
cy.getDataTest("input-name").find("input").as("inputUsername").click();
|
|
cy.getDataTest("input-name").find("input").type("Add test", { delay: 0 });
|
|
cy.getDataTest("input-domain").find("input").click();
|
|
cy.getDataTest("input-domain").find("input").type("addtest.com", { delay: 0 });
|
|
cy.getDataTest("button-submit").click();
|
|
cy.get('td[label="Name"]').should("contain.text", "Add test");
|
|
cy.get('td[label="Domain"]').should("contain.text", "addtest.com");
|
|
|
|
// clean-up data
|
|
cy.getDataTest("link-button-edit").first().click();
|
|
cy.contains(/Details/i).should("be.visible");
|
|
cy.getDataTest("text-field-websiteId")
|
|
.find("input")
|
|
.then(($input) => {
|
|
const websiteId = $input[0].value;
|
|
cy.deleteWebsite(websiteId);
|
|
});
|
|
cy.visit("/settings/websites");
|
|
cy.contains(/Add test/i).should("not.exist");
|
|
});
|
|
|
|
it("Edit a website", () => {
|
|
// prep data
|
|
cy.addWebsite("Update test", "updatetest.com");
|
|
cy.visit("/settings/websites");
|
|
|
|
// edit website
|
|
cy.getDataTest("link-button-edit").first().click();
|
|
cy.contains(/Details/i).should("be.visible");
|
|
cy.getDataTest("input-name").find("input").click();
|
|
cy.getDataTest("input-name").find("input").clear();
|
|
cy.getDataTest("input-name").find("input").type("Updated website", { delay: 0 });
|
|
cy.getDataTest("input-domain").find("input").click();
|
|
cy.getDataTest("input-domain").find("input").clear();
|
|
cy.getDataTest("input-domain").find("input").type("updatedwebsite.com", { delay: 0 });
|
|
cy.getDataTest("button-submit").click({ force: true });
|
|
cy.getDataTest("input-name").find("input").should("have.value", "Updated website");
|
|
cy.getDataTest("input-domain").find("input").should("have.value", "updatedwebsite.com");
|
|
|
|
// verify tracking script
|
|
cy.get("div")
|
|
.contains(/Tracking code/i)
|
|
.click();
|
|
cy.get("textarea").should("contain.text", Cypress.config().baseUrl + "/script.js");
|
|
|
|
// clean-up data
|
|
cy.get("div")
|
|
.contains(/Details/i)
|
|
.click();
|
|
cy.contains(/Details/i).should("be.visible");
|
|
cy.getDataTest("text-field-websiteId")
|
|
.find("input")
|
|
.then(($input) => {
|
|
const websiteId = $input[0].value;
|
|
cy.deleteWebsite(websiteId);
|
|
});
|
|
cy.visit("/settings/websites");
|
|
cy.contains(/Add test/i).should("not.exist");
|
|
});
|
|
|
|
it("Delete a website", () => {
|
|
// prep data
|
|
cy.addWebsite("Delete test", "deletetest.com");
|
|
cy.visit("/settings/websites");
|
|
|
|
// delete website
|
|
cy.getDataTest("link-button-edit").first().click();
|
|
cy.contains(/Data/i).should("be.visible");
|
|
cy.get("div").contains(/Data/i).click();
|
|
cy.contains(/All website data will be deleted./i).should("be.visible");
|
|
cy.getDataTest("button-delete").click();
|
|
cy.contains(/Type DELETE in the box below to confirm./i).should("be.visible");
|
|
cy.get('input[name="confirm"').type("DELETE");
|
|
cy.get('button[type="submit"]').click();
|
|
cy.contains(/Delete test/i).should("not.exist");
|
|
});
|
|
});
|