281 lines
12 KiB
JavaScript
281 lines
12 KiB
JavaScript
/// <reference types="cypress" />
|
|
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();
|
|
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.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 });
|
|
|
|
//DASHBOARD
|
|
cy.get("[data-cy=navicon]").click();
|
|
cy.get("[data-cy='nav/home-dashboard']").click();
|
|
cy.url().should("include", "/home-dashboard");
|
|
|
|
//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");
|
|
|
|
//MEMOS
|
|
cy.get("[data-cy=navicon]").click();
|
|
cy.get("[data-cy='nav/home-memos']").click();
|
|
cy.url().should("include", "/home-memos");
|
|
cy.get("[data-cy=memosTable]");
|
|
cy.get("[data-cy='memo-list:new']").click();
|
|
cy.url().should("include", "/home-memos/");
|
|
cy.get("[data-cy=pickListSelectedUserId]")
|
|
.click()
|
|
.type("accounting{downarrow}{enter}"); //select Accounting user (self)
|
|
cy.get("[data-cy=name]").type(
|
|
`${Cypress.config("cyid")}-test-subject{enter}`
|
|
);
|
|
cy.get("[data-cy=notes]").type(
|
|
`The quick brown fox jumped{enter}over the six lazy dogs{enter}eot`
|
|
);
|
|
|
|
//TODO: TURN THIS INTO A COMMAND AND THEN SWAP THAT OUT EVERY EXISTING TEST WITH TAG ENTRY
|
|
cy.get("[data-cy=tags]").click().type("zone1{downarrow}{enter}"); //select some tags
|
|
cy.get("[data-cy=tags]").click().type("blue{downarrow}{enter}");
|
|
cy.get("[data-cy=tags]").click().type("zone2{downarrow}{enter}");
|
|
cy.get("[data-cy='memo-edit:save'] > .v-btn__content").click();
|
|
cy.url().should("include", "/home-memos"); //wait for nav
|
|
cy.contains(`${Cypress.config("cyid")}-test-subject`).click(); //find and open memo record
|
|
cy.contains("zone1");
|
|
cy.contains("blue");
|
|
cy.contains("zone2");
|
|
|
|
//reply
|
|
cy.get("[data-cy=contextmenu]").click();
|
|
cy.get("[data-cy='memo-edit:reply']").click();
|
|
cy.url().should("include", "/home-memos/");
|
|
cy.get("[data-cy=notes]").type(`this is my reply`);
|
|
cy.get("[data-cy='memo-edit:save'] > .v-btn__content").click();
|
|
cy.contains(`RE: ${Cypress.config("cyid")}-test-subject`).click(); //find and open reply
|
|
|
|
//forward to superuser
|
|
cy.get("[data-cy=contextmenu]").click();
|
|
cy.get("[data-cy='memo-edit:forward']").click();
|
|
cy.url().should("include", "/home-memos/");
|
|
cy.get("[data-cy=notes]").type(
|
|
`Hello SuperUser this is my forward to you!{enter}eot{enter}`
|
|
);
|
|
cy.get("[data-cy=pickListSelectedUserId]")
|
|
.click()
|
|
.type("SuperUser{downarrow}{enter}");
|
|
cy.get("[data-cy='memo-edit:save'] > .v-btn__content").click();
|
|
|
|
//REMINDERS
|
|
cy.get("[data-cy=navicon]").click();
|
|
cy.get("[data-cy='nav/home-reminders']").click();
|
|
cy.url().should("include", "/home-reminders");
|
|
cy.get("[data-cy='reminder-list:new']:first").click();
|
|
cy.url().should("include", "/home-reminders/");
|
|
cy.get("[data-cy=name]").type(
|
|
`${Cypress.config("cyid")}-test-reminder{enter}`
|
|
);
|
|
cy.get("[data-cy='startDate:date']").type(dToday);
|
|
cy.get("[data-cy='startDate:time']").type(tNow);
|
|
cy.get("[data-cy='stopDate:date']").type(dToday);
|
|
cy.get("[data-cy='stopDate:time']").type(tOneHourFromNow);
|
|
cy.get("[data-cy=notes]").type(`This is a reminder{enter}eot{enter}`);
|
|
cy.get(".v-color-picker__input > input").clear().type("#11E1D07E{enter}"); //select a color
|
|
cy.get('[data-cy="reminder-edit:save"] > .v-btn__content').click();
|
|
cy.get("[data-cy=navicon]").click();
|
|
cy.get("[data-cy='nav/home-reminders']").click();
|
|
cy.url().should("include", "/home-reminders");
|
|
|
|
//SCHEDULE
|
|
//should show reminder made above in month display by default
|
|
cy.get("[data-cy=navicon]").click();
|
|
cy.get("[data-cy='nav/home-schedule']").click();
|
|
cy.url().should("include", "/home-schedule");
|
|
cy.contains(`${Cypress.config("cyid")}-test-reminder`);
|
|
|
|
//NOTIFICATION SUBSCRIPTION
|
|
cy.get("[data-cy=navicon]").click();
|
|
cy.get("[data-cy='nav/home-notify-subscriptions']").click();
|
|
cy.url().should("include", "/home-notify-subscriptions");
|
|
cy.get("[data-cy='notify-subscriptions:new']:first").click();
|
|
cy.url().should("include", "/home-notify-subscriptions/0");
|
|
cy.ayChooseVSelect("eventType", "Object created");
|
|
cy.ayChooseVSelect("ayaType", "Contract");
|
|
cy.get("[data-cy='notify-subscription:save'] > .v-btn__content").click();
|
|
//confirm
|
|
cy.get("[data-cy=navicon]").click();
|
|
cy.get("[data-cy='nav/home-notify-subscriptions']").click();
|
|
cy.url().should("include", "/home-notify-subscriptions");
|
|
cy.contains("Object created");
|
|
cy.contains("Contract");
|
|
cy.contains("Deliver in application");
|
|
|
|
//CONTRACT
|
|
cy.get("[data-cy=navicon]").click();
|
|
cy.get("[data-cy=accounting]").click();
|
|
cy.get("[data-cy='nav/svc-contracts']").click();
|
|
cy.url().should("include", "/svc-contracts");
|
|
cy.get("[data-cy=contractsTable]");
|
|
cy.get("[data-cy='contract-list:new']:first").click();
|
|
cy.get("[data-cy=name]").type(
|
|
`${Cypress.config("cyid")}-test-contract{enter}`
|
|
);
|
|
cy.get("[data-cy='responseTime:days']").type("7");
|
|
cy.get("[data-cy='partsOverridePct']").type("2");
|
|
cy.get("[data-cy='serviceRatesOverridePct']").type("3");
|
|
cy.get("[data-cy='travelRatesOverridePct']").type("4");
|
|
cy.get("[data-cy=notes]").type(`Test contract NOTES!!!{enter}eot{enter}`);
|
|
cy.get("[data-cy=alertNotes]").type(
|
|
`Test contract alert message{enter}eot{enter}`
|
|
);
|
|
cy.get("[data-cy='contract-edit:save'] > .v-btn__content").click();
|
|
cy.get("[data-cy=navicon]").click();
|
|
cy.get("[data-cy='nav/svc-contracts']").click();
|
|
cy.url().should("include", "/svc-contracts");
|
|
|
|
//REVIEW CONTRACT
|
|
cy.contains(`${Cypress.config("cyid")}-test-contract`).click(); //open it
|
|
cy.get("[data-cy=contextmenu]").click();
|
|
cy.get("[data-cy='app:review']").click();
|
|
cy.url().should("include", "/home-reviews");
|
|
cy.get("[data-cy='review-list:new']:first").click();
|
|
cy.get("[data-cy=name]").type(
|
|
`${Cypress.config("cyid")}-test-review{enter}`
|
|
);
|
|
cy.get("[data-cy='reviewDate:date']").type(dToday);
|
|
cy.get("[data-cy='reviewDate:time']").type(tOneHourFromNow);
|
|
cy.get("[data-cy=notes]").type(
|
|
`I'm a review for a contract{enter}eot{enter}`
|
|
);
|
|
cy.get("[data-cy='review-edit:save'] > .v-btn__content").click();
|
|
cy.get("[data-cy='review-edit:save']").should("be.disabled");
|
|
cy.go("back"); //back to list
|
|
//confirm it's in the list
|
|
cy.contains(`${Cypress.config("cyid")}-test-review`);
|
|
cy.contains(`${Cypress.config("cyid")}-test-contract`);
|
|
//should show review made above in schedule
|
|
cy.get("[data-cy=navicon]").click();
|
|
cy.get("[data-cy=home]").click();
|
|
cy.get("[data-cy='nav/home-schedule']").click();
|
|
cy.url().should("include", "/home-schedule");
|
|
cy.get(".v-present > .v-calendar-weekly__day-label > .v-btn").click({
|
|
force: true
|
|
});
|
|
cy.contains("12 PM"); //just something to find in day view to confirm we made it there
|
|
cy.contains(`${Cypress.config("cyid")}-test-review`);
|
|
|
|
//HISTORY
|
|
cy.get("[data-cy=navicon]").click();
|
|
cy.get("[data-cy='nav/home-history']").click();
|
|
cy.url().should("include", "/history");
|
|
cy.contains(`${Cypress.config("cyid")}-test-contract`);
|
|
cy.contains(`${Cypress.config("cyid")}-test-review`);
|
|
cy.contains(`${Cypress.config("cyid")}-test-reminder`);
|
|
cy.contains(`${Cypress.config("cyid")}-test-subject`);
|
|
|
|
//SERVICE RATES
|
|
cy.get("[data-cy=navicon]").click();
|
|
cy.get("[data-cy=accounting]").click();
|
|
cy.get("[data-cy='nav/acc-service-rates']").click();
|
|
cy.url().should("include", "/acc-service-rates");
|
|
cy.get("[data-cy=serviceRatesTable]");
|
|
cy.get("[data-cy='service-rate-list:new']:first").click();
|
|
cy.get("[data-cy=name]").type(
|
|
`${Cypress.config("cyid")}-test-service-rate{enter}`
|
|
);
|
|
cy.get("[data-cy=accountNumber]").type(
|
|
`${Cypress.config("cyid")}-svc-act-#{enter}`
|
|
);
|
|
cy.get("[data-cy=charge]").type("100.00");
|
|
cy.get("[data-cy=cost]").type("50.00");
|
|
cy.ayChooseVSelect("unit", "hour");
|
|
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.contains(`${Cypress.config("cyid")}-test-service-rate`);
|
|
|
|
//TRAVEL RATES
|
|
cy.get("[data-cy=navicon]").click();
|
|
cy.get("[data-cy='nav/acc-travel-rates']").click();
|
|
cy.url().should("include", "/acc-travel-rates");
|
|
cy.get("[data-cy=travelRatesTable]");
|
|
cy.get("[data-cy='travel-rate-list:new']:first").click();
|
|
cy.get("[data-cy=name]").type(
|
|
`${Cypress.config("cyid")}-test-travel-rate{enter}`
|
|
);
|
|
cy.get("[data-cy=accountNumber]").type(
|
|
`${Cypress.config("cyid")}-trvl-act-#{enter}`
|
|
);
|
|
cy.get("[data-cy=charge]").type("2.00");
|
|
cy.get("[data-cy=cost]").type("1.00");
|
|
cy.get("[data-cy=unit]").type("{downarrow}{enter}"); //choose first in list
|
|
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.contains(`${Cypress.config("cyid")}-test-travel-rate`);
|
|
|
|
//TAX CODES
|
|
cy.get("[data-cy=navicon]").click();
|
|
cy.get("[data-cy='nav/acc-tax-codes']").click();
|
|
cy.url().should("include", "/acc-tax-codes");
|
|
cy.get("[data-cy=taxCodesTable]");
|
|
cy.get("[data-cy='tax-code-list:new']:first").click();
|
|
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='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.contains(`${Cypress.config("cyid")}-test-tax-code`);
|
|
|
|
//NOTIFICATION
|
|
cy.get("[data-cy=notification]").click();
|
|
cy.url().should("include", "/home-notifications");
|
|
cy.contains("Object created");
|
|
cy.contains(`${Cypress.config("cyid")}-test-contract`);
|
|
|
|
//LOGOUT
|
|
cy.get("[data-cy=navicon]").click();
|
|
cy.get("[data-cy=logout]").click();
|
|
cy.url().should("include", "/login");
|
|
|
|
//END OF TEST
|
|
//-----------------------------------------------------
|
|
});
|
|
});
|