From db39062c52bc269a615c9c13084e8388f2c4b4fc Mon Sep 17 00:00:00 2001 From: John Cardinal Date: Tue, 2 Nov 2021 19:24:36 +0000 Subject: [PATCH] --- e2e/cypress.json | 4 +- e2e/support/commands.js | 10 ++- .../accounting-user/accounting-features.js | 21 +++--- .../service-user/service-user-features.js | 73 +++++++++++++++++++ 4 files changed, 95 insertions(+), 13 deletions(-) create mode 100644 e2e/tests/regression/service-user/service-user-features.js diff --git a/e2e/cypress.json b/e2e/cypress.json index c22c76d..4dbb3f6 100644 --- a/e2e/cypress.json +++ b/e2e/cypress.json @@ -8,6 +8,8 @@ "adminusername": "superuser", "adminpassword": "l3tm3in", "accountinguser": "Accounting", - "accountingpassword": "Accounting" + "accountingpassword": "Accounting", + "serviceuser":"Service", + "servicepassword":"Service" } } \ No newline at end of file diff --git a/e2e/support/commands.js b/e2e/support/commands.js index b06798c..50cb6a3 100644 --- a/e2e/support/commands.js +++ b/e2e/support/commands.js @@ -25,7 +25,15 @@ // Cypress.Commands.overwrite('visit', (originalFn, url, options) => { ... }) Cypress.Commands.add("chooseVSelect", (dataCyTag, selectionText) => { - cy.get(`[data-cy=${dataCyTag}]`).click({ force: true }); + cy.get(`[data-cy='${dataCyTag}']`).click({ force: true }); + cy.get(".v-list-item__title") + .contains(new RegExp("^" + selectionText + "$", "g")) + .click({ force: true }); +}); + +Cypress.Commands.add("choosePickList", (dataCyTag, selectionText) => { + cy.get(`[data-cy='${dataCyTag}']`).click({ force: true }).type('xyz'); + cy.get(".v-list-item__title") .contains(new RegExp("^" + selectionText + "$", "g")) .click({ force: true }); diff --git a/e2e/tests/regression/accounting-user/accounting-features.js b/e2e/tests/regression/accounting-user/accounting-features.js index 4038d43..9646700 100644 --- a/e2e/tests/regression/accounting-user/accounting-features.js +++ b/e2e/tests/regression/accounting-user/accounting-features.js @@ -27,7 +27,7 @@ describe("When Accounting user logs in", () => { //open nav pane cy.get("[data-cy=navicon]").click(); - cy.contains("Accounting"); //accounting is part of name displayed at top + cy.contains("- Accounting"); //part of name displayed at top //USER OPTIONS cy.get("[data-cy=home]").click(); @@ -209,9 +209,8 @@ describe("When Accounting user logs in", () => { cy.contains(`${Cypress.config("cyid")}-test-review`); cy.contains(`${Cypress.config("cyid")}-test-reminder`); cy.contains(`${Cypress.config("cyid")}-test-subject`); - - //SERVICE RATES + //SERVICE RATES cy.get("[data-cy=navicon]").click(); cy.get("[data-cy=accounting]").click(); cy.get("[data-cy='nav/acc-service-rates']").click(); @@ -227,11 +226,11 @@ describe("When Accounting user logs in", () => { cy.get("[data-cy=charge]").type("100.00"); cy.get("[data-cy=cost]").type("50.00"); cy.chooseVSelect("unit", "hour"); - cy.get("[data-cy=notes]").type(`Test svc rate NOTES!!!{enter}eot{enter}`); + cy.get("[data-cy=notes]").type(`Test svc rate NOTES!!!{enter}eot{enter}`); cy.get("[data-cy='service-rate-edit:save'] > .v-btn__content").click(); cy.get("[data-cy=navicon]").click(); cy.get("[data-cy='nav/acc-service-rates']").click(); - cy.url().should("include", "/acc-service-rates"); + cy.url().should("include", "/acc-service-rates"); cy.contains(`${Cypress.config("cyid")}-test-service-rate`); //TRAVEL RATES @@ -249,11 +248,11 @@ describe("When Accounting user logs in", () => { cy.get("[data-cy=charge]").type("2.00"); cy.get("[data-cy=cost]").type("1.00"); cy.chooseVSelect("unit", "km"); - cy.get("[data-cy=notes]").type(`Test trvl rate NOTES!!!{enter}eot{enter}`); + cy.get("[data-cy=notes]").type(`Test trvl rate NOTES!!!{enter}eot{enter}`); cy.get("[data-cy='travel-rate-edit:save'] > .v-btn__content").click(); cy.get("[data-cy=navicon]").click(); cy.get("[data-cy='nav/acc-travel-rates']").click(); - cy.url().should("include", "/acc-travel-rates"); + cy.url().should("include", "/acc-travel-rates"); cy.contains(`${Cypress.config("cyid")}-test-travel-rate`); //TAX CODES @@ -265,15 +264,15 @@ describe("When Accounting user logs in", () => { cy.get("[data-cy=name]").type( `${Cypress.config("cyid")}-test-tax-code{enter}` ); - + cy.get("[data-cy=taxAPct]").type("7"); cy.get("[data-cy=taxBPct]").type("5"); - - cy.get("[data-cy=notes]").type(`Test tax code NOTES!!!{enter}eot{enter}`); + + cy.get("[data-cy=notes]").type(`Test tax code NOTES!!!{enter}eot{enter}`); cy.get("[data-cy='tax-code-edit:save'] > .v-btn__content").click(); cy.get("[data-cy=navicon]").click(); cy.get("[data-cy='nav/acc-tax-codes']").click(); - cy.url().should("include", "/acc-tax-codes"); + cy.url().should("include", "/acc-tax-codes"); cy.contains(`${Cypress.config("cyid")}-test-tax-code`); //LOGOUT diff --git a/e2e/tests/regression/service-user/service-user-features.js b/e2e/tests/regression/service-user/service-user-features.js new file mode 100644 index 0000000..8d335db --- /dev/null +++ b/e2e/tests/regression/service-user/service-user-features.js @@ -0,0 +1,73 @@ +/// +describe("When Service 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(); + const dToday = `${dNow.getFullYear()}-${(dNow.getMonth() + 1) + .toString() + .padStart(2, "0")}-${dNow.getDate().toString().padStart(2, "0")}`; + const tNow = `${dNow.getHours().toString().padStart(2, "0")}:${dNow + .getMinutes() + .toString() + .padStart(2, "0")}`; + const tOneHourFromNow = `${(dNow.getHours() + 1) + .toString() + .padStart(2, "0")}:${dNow.getMinutes().toString().padStart(2, "0")}`; + + 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"); + + // //open nav pane + // cy.get("[data-cy=navicon]").click(); + // cy.contains("- Service"); //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 }); + + //WORKORDER + cy.get("[data-cy=navicon]").click(); + cy.get("[data-cy=service]").click(); + cy.get("[data-cy='nav/svc-workorders']").click(); + cy.url().should("include", "/svc-workorders"); + cy.get("[data-cy=workordersTable]"); + cy.get("[data-cy='workorder-list:new']:first").click(); + cy.choosePickList("customerId", "XYZ"); + cy.get("[data-cy='woState:open']").click(); + cy.chooseVSelect("woState:picker", "Scheduled"); + cy.get("[data-cy='woState:btnok']").click(); + cy.get("[data-cy='woAddress:open']").click(); + + cy.get("[data-cy=address]").type(`${Cypress.config("cyid")} street{enter}`); + cy.get("[data-cy=city]").type("Los Angeles"); + cy.get("[data-cy=region]").type("California"); + cy.get("[data-cy=country]").type("United States"); + cy.get("[data-cy=latitude]").type("34.052234"); + cy.get("[data-cy=longitude]").type("-118.243685"); + cy.get("[data-cy=region]").type("California"); + cy.get("[data-cy=region]").type("California"); + cy.get("[data-cy=region]").type("California"); + cy.get("[data-cy=region]").type("California"); + cy.get("[data-cy=region]").type("California"); + cy.get("[data-cy=region]").type("California"); + cy.get("[data-cy='woAddress:btnok']").click(); + + // //LOGOUT + // cy.get("[data-cy=navicon]").click(); + // cy.get("[data-cy=logout]").click(); + // cy.url().should("include", "/login"); + + //END OF TEST + //----------------------------------------------------- + }); +});