diff --git a/e2e/cypress.json b/e2e/cypress.json
index eea9586..25a4a44 100644
--- a/e2e/cypress.json
+++ b/e2e/cypress.json
@@ -1,20 +1,30 @@
{
- "defaultCommandTimeout":5000,
+ "defaultCommandTimeout": 5000,
"xxxretries": 3,
"integrationFolder": "tests",
- "supportFile":"support",
- "xbaseUrl": "http://localhost:7575",
- "baseUrl": "https://test.helloayanova.com",
- "xxxxbaseUrl":"http://localhost:8080",
- "video":false,
+ "supportFile": "support",
+ "baseUrl": "http://localhost:7575",
+ "xbaseUrl": "https://test.helloayanova.com",
+ "xxxxbaseUrl": "http://localhost:8080",
+ "video": false,
"env": {
- "xapiBaseUrl":"http://localhost:7575/api/v8.0/",
- "apiBaseUrl":"https://test.helloayanova.com/api/v8.0/",
- "adminusername": "superuser",
- "adminpassword": "l3tm3in",
- "accountinguser": "Accounting",
- "accountingpassword": "Accounting",
- "serviceuser":"Service",
- "servicepassword":"Service"
+ "apiBaseUrl": "http://localhost:7575/api/v8.0/",
+ "xapiBaseUrl": "https://test.helloayanova.com/api/v8.0/",
+ "admin": {
+ "login": "superuser",
+ "password": "l3tm3in"
+ },
+ "accounting": {
+ "login": "Accounting",
+ "password": "Accounting"
+ },
+ "service": {
+ "login": "Service",
+ "password": "Service"
+ },
+ "customer": {
+ "login": "Customer",
+ "password": "Customer"
+ }
}
}
\ No newline at end of file
diff --git a/e2e/support/commands.js b/e2e/support/commands.js
index 398b319..51637be 100644
--- a/e2e/support/commands.js
+++ b/e2e/support/commands.js
@@ -34,7 +34,21 @@ Cypress.Commands.add("chooseVSelect", (dataCyTag, selectionText) => {
Cypress.Commands.add("choosePickList", (dataCyTag, selectionText) => {
cy.get(`[data-cy='${dataCyTag}']`).click({ force: true }).type(selectionText);
cy.wait(500);
- cy.get(".v-list-item__title")
- .contains(new RegExp(selectionText))
- .click();
+ cy.get(".v-list-item__title").contains(new RegExp(selectionText)).click();
+});
+
+Cypress.Commands.add("ayLogin", (user, urlAfterLogin) => {
+if(!urlAfterLogin){
+ urlAfterLogin="/ay-evaluate"
+}
+ cy.visit("/login");
+
+ cy.get("input[name=username]").clear().type(Cypress.env(user).login);
+
+ // {enter} causes the form to submit
+ cy.get("input[name=password]")
+ .clear()
+ .type(`${Cypress.env(user).password}{enter}`);
+
+ cy.url().should("include", urlAfterLogin);
});
diff --git a/e2e/support/index.js b/e2e/support/index.js
index ac746e9..c5bf933 100644
--- a/e2e/support/index.js
+++ b/e2e/support/index.js
@@ -20,72 +20,4 @@ import "./commands";
// require('./commands')
//unique test run ID for all tests
-Cypress.config("cyid", `cy${new Date().getTime()}`);
-///////////////////////////////////////////////////////////////
-//Generate fresh data
-//
-//
-// //via UI
-// // before(() => {
-// // cy.visit("/login");
-
-// // cy.get("input[name=username]").clear().type(Cypress.env("adminusername"));
-
-// // // {enter} causes the form to submit
-// // cy.get("input[name=password]")
-// // .clear()
-// // .type(`${Cypress.env("adminpassword")}{enter}`);
-// // cy.url().should("include", "/ay-evaluate");
-
-// // cy.get("[data-cy=btnSeed]").click();
-// // cy.get("[data-cy=btnStart]").click();
-// // cy.get('[data-cy="gzconfirm:yesbutton"]').click();
-// // //cy.contains("permanently erase");
-// // cy.get('[data-cy="gzconfirm:yesbutton"]').click();
-// // //long delay here while data is being generated
-// // cy.url({ timeout: 300000 }).should("include", "/login");
-// // });
-//via API
-function confirmJobDone(jobId, authToken) {
- cy.request({
- method: "GET",
- url: `${Cypress.env("apiBaseUrl")}job-operations/status/${jobId}`,
- auth: {
- bearer: authToken
- }
- }).then((resp) => {
- //3 means job done
- if (resp.body.data == 3) return;
- // else recurse
- cy.wait(1000);
- confirmJobDone(jobId, authToken);
- });
-}
-
-
-// before(() => {
-// cy.request({
-// url: `${Cypress.env("apiBaseUrl")}auth`,
-// method: "POST",
-// body: {
-// login: Cypress.env("adminusername"),
-// password: Cypress.env("adminpassword")
-// }
-// })
-// .its("body")
-// .then((res) => {
-// cy.request({
-// method: "POST",
-// url: `${Cypress.env("apiBaseUrl")}trial/seed/small/-7/true`,
-// auth: {
-// bearer: res.data.token
-// }
-// })
-// .its("body")
-// .then((resjob) => {
-// cy.log(`resjob is: ${JSON.stringify(resjob)}`);
-// // expect(resjob.body).to.have.property('jobId');
-// confirmJobDone(resjob.jobId, res.data.token);
-// });
-// });
-// });
+Cypress.config("cyid", `cy${new Date().getTime()}`);
\ No newline at end of file
diff --git a/e2e/tests/regression/1-smoke/001-home.js b/e2e/tests/regression/1-smoke/001-home.js
index 5cc1c15..f6ab2e9 100644
--- a/e2e/tests/regression/1-smoke/001-home.js
+++ b/e2e/tests/regression/1-smoke/001-home.js
@@ -2,15 +2,7 @@
describe("SMOKE HOME SECTION", () => {
it("Home forms opens without error", () => {
- cy.visit("/login");
-
- cy.get("input[name=username]").clear().type(Cypress.env("adminusername"));
-
- // {enter} causes the form to submit
- cy.get("input[name=password]")
- .clear()
- .type(`${Cypress.env("adminpassword")}{enter}`);
- cy.url().should("include", "/ay-evaluate");
+ cy.ayLogin("admin");
//################# HOME
cy.visit("/home-dashboard");
diff --git a/e2e/tests/regression/1-smoke/002-customer.js b/e2e/tests/regression/1-smoke/002-customer.js
index 0a145fe..842267f 100644
--- a/e2e/tests/regression/1-smoke/002-customer.js
+++ b/e2e/tests/regression/1-smoke/002-customer.js
@@ -2,15 +2,7 @@
describe("SMOKE CUSTOMER SECTION", () => {
it("Customer section forms opens without error", () => {
- cy.visit("/login");
-
- cy.get("input[name=username]").clear().type(Cypress.env("adminusername"));
-
- // {enter} causes the form to submit
- cy.get("input[name=password]")
- .clear()
- .type(`${Cypress.env("adminpassword")}{enter}`);
- cy.url().should("include", "/ay-evaluate");
+ cy.ayLogin("admin");
//################# CUSTOMERS
cy.visit("/cust-customers");
diff --git a/e2e/tests/regression/1-smoke/003-service-misc.js b/e2e/tests/regression/1-smoke/003-service-misc.js
index 7735d5b..572856b 100644
--- a/e2e/tests/regression/1-smoke/003-service-misc.js
+++ b/e2e/tests/regression/1-smoke/003-service-misc.js
@@ -2,15 +2,7 @@
describe("SMOKE SERVICE MISC SECTION", () => {
it("Service MISC forms open without error", () => {
- cy.visit("/login");
-
- cy.get("input[name=username]").clear().type(Cypress.env("adminusername"));
-
- // {enter} causes the form to submit
- cy.get("input[name=password]")
- .clear()
- .type(`${Cypress.env("adminpassword")}{enter}`);
- cy.url().should("include", "/ay-evaluate");
+ cy.ayLogin("admin");
//################# SERVICE
cy.visit("/svc-schedule");
cy.url().should("include", "/svc-schedule");
diff --git a/e2e/tests/regression/1-smoke/004-service-wo.js b/e2e/tests/regression/1-smoke/004-service-wo.js
index cb89557..b018207 100644
--- a/e2e/tests/regression/1-smoke/004-service-wo.js
+++ b/e2e/tests/regression/1-smoke/004-service-wo.js
@@ -2,15 +2,7 @@
describe("SMOKE SERVICE WO SECTION", () => {
it("Service WO forms open without error", () => {
- cy.visit("/login");
-
- cy.get("input[name=username]").clear().type(Cypress.env("adminusername"));
-
- // {enter} causes the form to submit
- cy.get("input[name=password]")
- .clear()
- .type(`${Cypress.env("adminpassword")}{enter}`);
- cy.url().should("include", "/ay-evaluate");
+ cy.ayLogin("admin");
//################# SERVICE WO
cy.visit("/svc-workorders");
diff --git a/e2e/tests/regression/1-smoke/005-service-quote.js b/e2e/tests/regression/1-smoke/005-service-quote.js
index 7dae005..dd92223 100644
--- a/e2e/tests/regression/1-smoke/005-service-quote.js
+++ b/e2e/tests/regression/1-smoke/005-service-quote.js
@@ -2,14 +2,7 @@
describe("SMOKE SERVICE QUOTE SECTION", () => {
it("Service quote forms open without error", () => {
- cy.visit("/login");
-
- cy.get("input[name=username]").clear().type(Cypress.env("adminusername"));
-
- // {enter} causes the form to submit
- cy.get("input[name=password]")
- .clear()
- .type(`${Cypress.env("adminpassword")}{enter}`);
+ cy.ayLogin("admin");
cy.visit("/svc-quotes");
diff --git a/e2e/tests/regression/1-smoke/006-service-pm.js b/e2e/tests/regression/1-smoke/006-service-pm.js
index 280ef37..369c97e 100644
--- a/e2e/tests/regression/1-smoke/006-service-pm.js
+++ b/e2e/tests/regression/1-smoke/006-service-pm.js
@@ -2,15 +2,7 @@
describe("SMOKE SERVICE PM SECTION", () => {
it("Service pm forms open without error", () => {
- cy.visit("/login");
-
- cy.get("input[name=username]").clear().type(Cypress.env("adminusername"));
-
- // {enter} causes the form to submit
- cy.get("input[name=password]")
- .clear()
- .type(`${Cypress.env("adminpassword")}{enter}`);
- cy.url().should("include", "/ay-evaluate");
+ cy.ayLogin("admin");
cy.visit("/svc-pms");
cy.url().should("include", "/svc-pms");
diff --git a/e2e/tests/regression/1-smoke/007-inventory.js b/e2e/tests/regression/1-smoke/007-inventory.js
index f47eaf0..340f6b7 100644
--- a/e2e/tests/regression/1-smoke/007-inventory.js
+++ b/e2e/tests/regression/1-smoke/007-inventory.js
@@ -2,15 +2,7 @@
describe("SMOKE INVENTORY", () => {
it("Inventory forms open without error", () => {
- cy.visit("/login");
-
- cy.get("input[name=username]").clear().type(Cypress.env("adminusername"));
-
- // {enter} causes the form to submit
- cy.get("input[name=password]")
- .clear()
- .type(`${Cypress.env("adminpassword")}{enter}`);
- cy.url().should("include", "/ay-evaluate");
+ cy.ayLogin("admin");
//################# INVENTORY
cy.visit("/inv-parts");
diff --git a/e2e/tests/regression/1-smoke/008-vendors.js b/e2e/tests/regression/1-smoke/008-vendors.js
index 0821ed6..a83c34d 100644
--- a/e2e/tests/regression/1-smoke/008-vendors.js
+++ b/e2e/tests/regression/1-smoke/008-vendors.js
@@ -2,17 +2,7 @@
describe("SMOKE VENDORS SECTION", () => {
it("Vendors forms open without error", () => {
- cy.visit("/login");
-
- cy.get("input[name=username]").clear().type(Cypress.env("adminusername"));
-
- // {enter} causes the form to submit
- cy.get("input[name=password]")
- .clear()
- .type(`${Cypress.env("adminpassword")}{enter}`);
- cy.url().should("include", "/ay-evaluate");
-
- //################# VENDORS
+ cy.ayLogin("admin");
cy.visit("/vendors");
cy.url().should("include", "/vendors");
cy.get("[data-cy=generalerror]").should("not.exist");
diff --git a/e2e/tests/regression/1-smoke/009-accounting.js b/e2e/tests/regression/1-smoke/009-accounting.js
index 40e203a..62262e7 100644
--- a/e2e/tests/regression/1-smoke/009-accounting.js
+++ b/e2e/tests/regression/1-smoke/009-accounting.js
@@ -2,17 +2,7 @@
describe("SMOKE", () => {
it("Every form opens without error", () => {
- cy.visit("/login");
-
- cy.get("input[name=username]").clear().type(Cypress.env("adminusername"));
-
- // {enter} causes the form to submit
- cy.get("input[name=password]")
- .clear()
- .type(`${Cypress.env("adminpassword")}{enter}`);
- cy.url().should("include", "/ay-evaluate");
-
- //################# ACCOUNTING
+ cy.ayLogin("accounting");
cy.visit("/acc-service-rates");
cy.url().should("include", "/acc-service-rates");
diff --git a/e2e/tests/regression/1-smoke/010-administration.js b/e2e/tests/regression/1-smoke/010-administration.js
index 24fe29f..d62a91e 100644
--- a/e2e/tests/regression/1-smoke/010-administration.js
+++ b/e2e/tests/regression/1-smoke/010-administration.js
@@ -2,16 +2,7 @@
describe("SMOKE ADMIN SECTION", () => {
it("Admin forms open without error", () => {
- cy.visit("/login");
-
- cy.get("input[name=username]").clear().type(Cypress.env("adminusername"));
-
- // {enter} causes the form to submit
- cy.get("input[name=password]")
- .clear()
- .type(`${Cypress.env("adminpassword")}{enter}`);
- cy.url().should("include", "/ay-evaluate");
- //################# ADMIN
+ cy.ayLogin("admin");
cy.visit("/adm-global-settings");
cy.url().should("include", "/adm-global-settings");
cy.get("[data-cy=generalerror]").should("not.exist");
diff --git a/e2e/tests/regression/1-smoke/011-server-operations.js b/e2e/tests/regression/1-smoke/011-server-operations.js
index beeab75..e90d29c 100644
--- a/e2e/tests/regression/1-smoke/011-server-operations.js
+++ b/e2e/tests/regression/1-smoke/011-server-operations.js
@@ -2,17 +2,7 @@
describe("SMOKE OPERATIONS SECTION", () => {
it("Ops forms open without error", () => {
- cy.visit("/login");
-
- cy.get("input[name=username]").clear().type(Cypress.env("adminusername"));
-
- // {enter} causes the form to submit
- cy.get("input[name=password]")
- .clear()
- .type(`${Cypress.env("adminpassword")}{enter}`);
- cy.url().should("include", "/ay-evaluate");
-
- //################# OPERATIONS
+ cy.ayLogin("admin");
cy.visit("/ops-backup");
cy.url().should("include", "/ops-backup");
cy.get("[data-cy=generalerror]").should("not.exist");
diff --git a/e2e/tests/regression/1-smoke/012-misc.js b/e2e/tests/regression/1-smoke/012-misc.js
index 0ce7ec1..b65b06a 100644
--- a/e2e/tests/regression/1-smoke/012-misc.js
+++ b/e2e/tests/regression/1-smoke/012-misc.js
@@ -2,17 +2,7 @@
describe("SMOKE MISC", () => {
it("Misc. forms open without error", () => {
- cy.visit("/login");
-
- cy.get("input[name=username]").clear().type(Cypress.env("adminusername"));
-
- // {enter} causes the form to submit
- cy.get("input[name=password]")
- .clear()
- .type(`${Cypress.env("adminpassword")}{enter}`);
- cy.url().should("include", "/ay-evaluate");
- cy.url().should("include", "/ay-evaluate");
- //################# MISC
+ cy.ayLogin("admin");
cy.visit("/about");
cy.url().should("include", "/about");
cy.get("[data-cy=generalerror]").should("not.exist");
diff --git a/e2e/tests/regression/1-smoke/013-customer-user.js b/e2e/tests/regression/1-smoke/013-customer-user.js
index ca1fcb3..97f3893 100644
--- a/e2e/tests/regression/1-smoke/013-customer-user.js
+++ b/e2e/tests/regression/1-smoke/013-customer-user.js
@@ -2,13 +2,8 @@
describe("SMOKE CUSTOMER SECTION", () => {
it("Customer User forms open without error", () => {
- cy.visit("/login");
+ cy.ayLogin("accounting", "/customer-csr");
- //CUSTOMER PAGES
- cy.get("input[name=username]").clear().type("Customer");
- cy.get("input[name=password]").clear().type("Customer{enter}");
-
- cy.url().should("include", "/customer-csr");
cy.get("[data-cy=generalerror]").should("not.exist");
cy.get("[data-cy=csrTable]");
@@ -17,7 +12,7 @@ describe("SMOKE CUSTOMER SECTION", () => {
cy.get("[data-cy=generalerror]").should("not.exist");
cy.get("[data-cy=workordersTable]");
- //todo:
+ //todo:
//path: "/customer-workorders/:recordid",
//path: "/customer-csr/:recordid"
diff --git a/e2e/tests/regression/accounting-user/000-setup.js b/e2e/tests/regression/accounting-user/000-setup.js
new file mode 100644
index 0000000..84b54b7
--- /dev/null
+++ b/e2e/tests/regression/accounting-user/000-setup.js
@@ -0,0 +1,20 @@
+///
+describe("When Accounting user logs in", () => {
+ it("should set up accounting block user options", () => {
+ cy.ayLogin("accounting");
+
+ //open nav pane
+ cy.get("[data-cy=navicon]").click();
+ cy.contains("- Accounting"); //part of name displayed at top
+
+ //USER OPTIONS
+ cy.get("[data-cy=home]").click();
+
+ cy.get("[data-cy='nav/home-user-settings']").click();
+ cy.url().should("include", "/home-user-settings");
+ cy.get("[data-cy='nativeDateTimeInput']").check({ force: true });
+
+ //END OF TEST
+ //-----------------------------------------------------
+ });
+});
diff --git a/e2e/tests/regression/accounting-user/0100-search.js b/e2e/tests/regression/accounting-user/0100-search.js
new file mode 100644
index 0000000..f56e396
--- /dev/null
+++ b/e2e/tests/regression/accounting-user/0100-search.js
@@ -0,0 +1,19 @@
+///
+describe("Search", () => {
+ it("should work", () => {
+ //SEARCH
+ cy.get("[data-cy=navicon]").click();
+ cy.get("[data-cy='nav/home-search']").click();
+ cy.url().should("include", "/home-search");
+ cy.get("[data-cy=phrase]").clear().type("xyz{enter}");
+ //check for expected results
+ cy.contains("Customer");
+ cy.contains("XYZ Accounting");
+ cy.contains("Head Office");
+ cy.contains("XYZ Head Office");
+
+ //END OF TEST
+ //-----------------------------------------------------
+ });
+ });
+
\ No newline at end of file
diff --git a/e2e/tests/regression/accounting-user/accounting-features.js b/e2e/tests/regression/accounting-user/accounting-features.js
index 2261997..51cf48e 100644
--- a/e2e/tests/regression/accounting-user/accounting-features.js
+++ b/e2e/tests/regression/accounting-user/accounting-features.js
@@ -1,5 +1,5 @@
///
-describe("When Accounting user logs in", () => {
+describe.skip("When Accounting user logs in", () => {
it("should correctly run all functionality", () => {
//format for typing input and setting value is always YYYY-MM-DD for date and HH:MM in 24 hour time for time
const dNow = new Date();
@@ -14,16 +14,7 @@ describe("When Accounting user logs in", () => {
.toString()
.padStart(2, "0")}:${dNow.getMinutes().toString().padStart(2, "0")}`;
- cy.visit("/login");
-
- cy.get("input[name=username]").clear().type(Cypress.env("accountinguser"));
-
- // {enter} causes the form to submit
- cy.get("input[name=password]")
- .clear()
- .type(`${Cypress.env("accountingpassword")}{enter}`);
-
- cy.url().should("include", "/ay-evaluate");
+ cy.ayLogin("accounting");
//open nav pane
cy.get("[data-cy=navicon]").click();
diff --git a/e2e/tests/regression/service-user/service-user-create-workorder.js b/e2e/tests/regression/service-user/service-user-create-workorder.js
index 72761ed..45f7cf3 100644
--- a/e2e/tests/regression/service-user/service-user-create-workorder.js
+++ b/e2e/tests/regression/service-user/service-user-create-workorder.js
@@ -2,16 +2,9 @@
import dayjs from "../../../support/dayjs.min.js";
-describe("When Service user logs in", () => {
+describe.skip("When Service user logs in", () => {
it("should correctly run all functionality", () => {
- cy.visit("/login");
- cy.get("input[name=username]").clear().type(Cypress.env("serviceuser"));
- // {enter} causes the form to submit
- cy.get("input[name=password]")
- .clear()
- .type(`${Cypress.env("servicepassword")}{enter}`);
-
- cy.url().should("include", "/ay-evaluate");
+ cy.ayLogin("service");
//open nav pane
cy.get("[data-cy=navicon]").click();