This commit is contained in:
2021-12-20 20:13:54 +00:00
parent 68c08d0cb0
commit c013fb6c9e
4 changed files with 108 additions and 29 deletions

View File

@@ -24,14 +24,14 @@
// -- This will overwrite an existing command --
// Cypress.Commands.overwrite('visit', (originalFn, url, options) => { ... })
Cypress.Commands.add("chooseVSelect", (dataCyTag, selectionText) => {
Cypress.Commands.add("ayChooseVSelect", (dataCyTag, selectionText) => {
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) => {
Cypress.Commands.add("ayChooseGZPickList", (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();
@@ -52,3 +52,25 @@ if(!urlAfterLogin){
cy.url().should("include", urlAfterLogin);
});
Cypress.Commands.add("ayChooseExistingTags", (dataCyTag, tagList) => {
;
for(let i=0;i<tagList.length;i++){
cy.get(`[data-cy='${dataCyTag}']`).click().type(tagList[i]).wait(250).type("{downarrow}{enter}");
}
// cy.get(`[data-cy='${dataCyTag}']`).then(t=>{
// t.click();
// for(let i=0;i<tagList.length;i++){
// t.type(tagList[i]);
// cy.wait(250);
// t.type("{downarrow}{enter}");
// }
// tagList.forEach(z=>{
// cy.type(z);
// cy.contains(z);//look for the text on the page
// cy.type("{downarrow}{enter}");
// });
//})
});

View File

@@ -0,0 +1,57 @@
/// <reference types="cypress" />
describe("Memo features", () => {
it("should work", () => {
cy.ayLogin("accounting");
cy.get("[data-cy=navicon]").click();
cy.get("[data-cy=home]").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.ayChooseExistingTags("tags",['zone1','blue','zone2']);
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();
});
});

View File

@@ -124,8 +124,8 @@ describe.skip("When Accounting user logs in", () => {
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.chooseVSelect("eventType", "Object created");
cy.chooseVSelect("ayaType", "Contract");
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();
@@ -213,7 +213,7 @@ describe.skip("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.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();

View File

@@ -35,10 +35,10 @@ describe.skip("When Service user logs in", () => {
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.ayChooseGZPickList("customerId", "XYZ");
//Status
cy.get("[data-cy='woState:open']").click();
cy.chooseVSelect("woState:picker", "Scheduled");
cy.ayChooseVSelect("woState:picker", "Scheduled");
cy.get("[data-cy='woState:btnok']").click();
@@ -84,9 +84,9 @@ describe.skip("When Service user logs in", () => {
cy.get("[data-cy='completeByDate:time']").type(
dayjs().add(7, "day").format("HH:mm")
);
cy.choosePickList("contractId", "Gold");
// cy.choosePickList("projectId", `${Cypress.config("cyid")}-test-project`);
cy.choosePickList("projectId", "e2e");
cy.ayChooseGZPickList("contractId", "Gold");
// cy.ayChooseGZPickList("projectId", `${Cypress.config("cyid")}-test-project`);
cy.ayChooseGZPickList("projectId", "e2e");
cy.get("[data-cy='serviceDate:date']").type(dayjs().format("YYYY-MM-DD"));
cy.get("[data-cy='serviceDate:time']").type(dayjs().format("HH:mm"));
cy.get("[data-cy=customerContactName]").type(`Jayne Smith`);
@@ -113,13 +113,13 @@ describe.skip("When Service user logs in", () => {
cy.get('[data-cy="items.techNotes"]').type(`e2etechnotes`);
cy.get("[data-cy='requestDate:date']").type(dayjs().format("YYYY-MM-DD"));
cy.get("[data-cy='requestDate:time']").type(dayjs().format("HH:mm"));
cy.choosePickList("workOrderItemStatusId", "Item scheduled");
cy.choosePickList("workOrderItemPriorityId", "One week");
cy.ayChooseGZPickList("workOrderItemStatusId", "Item scheduled");
cy.ayChooseGZPickList("workOrderItemPriorityId", "One week");
//Unit
cy.get("[data-cy=woItemHeader]").click();
cy.get("[data-cy=woItemAddUnit]").click({force:true});
cy.choosePickList("units.unitId", "e2e");
cy.ayChooseGZPickList("units.unitId", "e2e");
cy.get("[data-cy=woItemUnitGetWarrantyInfo]").click();
cy.contains("Receipt Number:"); //just confirm it displayed something
cy.get("[data-cy=unitUnitNotes]").type(`e2ewoitemunitnotes`);
@@ -136,15 +136,15 @@ describe.skip("When Service user logs in", () => {
cy.get("[data-cy='stopDate:time']").type(
dayjs().add(1, "hour").format("HH:mm")
);
cy.choosePickList("scheduledUsers.userid", "TechRestricted");
cy.choosePickList("scheduledUsers.serviceRateId", "e2e");
cy.ayChooseGZPickList("scheduledUsers.userid", "TechRestricted");
cy.ayChooseGZPickList("scheduledUsers.serviceRateId", "e2e");
//Task
cy.get("[data-cy=woItemHeader]").click();
cy.get("[data-cy=woItemAddTask]").click();
cy.get("[data-cy=woItemTasksHeader]").click();
cy.get("[data-cy=woItemTaskGroupSelect]").click();
cy.choosePickList("selectedTaskGroup", "Aerostat");
cy.ayChooseGZPickList("selectedTaskGroup", "Aerostat");
cy.get("[data-cy=woItemTaskGroupAdd]").click();
//Part
@@ -152,7 +152,7 @@ describe.skip("When Service user logs in", () => {
cy.get("[data-cy=woItemAddPart]").click();
cy.get("[data-cy=woItemPartsHeader]").click();
cy.get("[data-cy=woItemPartAssemblySelect]").click();
cy.choosePickList("selectedPartAssembly", "asm");
cy.ayChooseGZPickList("selectedPartAssembly", "asm");
cy.get("[data-cy=woItemPartAssemblyAdd]").click();
//Labor
@@ -169,8 +169,8 @@ describe.skip("When Service user logs in", () => {
cy.get("[data-cy='serviceStopDate:time']").type(
dayjs().add(1, "hour").format("HH:mm")
);
cy.choosePickList("labors.userid", "TechRestricted");
cy.choosePickList("labors.serviceRateId", "e2e");
cy.ayChooseGZPickList("labors.userid", "TechRestricted");
cy.ayChooseGZPickList("labors.serviceRateId", "e2e");
cy.get("[data-cy=laborserviceDetails]").type("e2elabordeets");
//Travel
@@ -187,8 +187,8 @@ describe.skip("When Service user logs in", () => {
cy.get("[data-cy='travelStopDate:time']").type(
dayjs().add(1, "hour").format("HH:mm")
);
cy.choosePickList("travels.userid", "TechRestricted");
cy.choosePickList("travels.travelRateId", "e2e");
cy.ayChooseGZPickList("travels.userid", "TechRestricted");
cy.ayChooseGZPickList("travels.travelRateId", "e2e");
cy.get("[data-cy=travelTravelRateDistance]").type("123");
cy.get("[data-cy=traveltravelDetails]").type("e2etraveldeets");
@@ -200,16 +200,16 @@ describe.skip("When Service user logs in", () => {
cy.get('[data-cy="expenses.chargeAmount"]').type("200.00");
cy.get("[data-cy='expenses.chargeToCustomer']").check({ force: true });
cy.get('[data-cy="expenses.taxPaid"]').type("17.00");
cy.choosePickList("expenses.chargeTaxCode", "Goods");
cy.ayChooseGZPickList("expenses.chargeTaxCode", "Goods");
cy.get("[data-cy='expenses.reimburseUser']").check({ force: true });
cy.choosePickList("expenses.user", "TechRestricted");
cy.ayChooseGZPickList("expenses.user", "TechRestricted");
cy.get('[data-cy="expenses.description"]').type("e2eexpensedescription");
//Loan
cy.get("[data-cy=woItemHeader]").click();
cy.get("[data-cy=woItemAddLoan]").click();
cy.choosePickList("loans.loanUnitId", "e2e");
cy.chooseVSelect("loans.rate", "Hourly charge");
cy.ayChooseGZPickList("loans.loanUnitId", "e2e");
cy.ayChooseVSelect("loans.rate", "Hourly charge");
cy.get('[data-cy="loans.quantity"]').type("5");
cy.get("[data-cy='loans.loaned:date']").type(
@@ -229,12 +229,12 @@ describe.skip("When Service user logs in", () => {
//OutsideService
cy.get("[data-cy=woItemHeader]").click();
cy.get("[data-cy=woItemAddOutsideService]").click();
cy.choosePickList("outsideServices.unitId", "e2e");
cy.choosePickList("outsideServices.vendorSentToId", "e2e");
cy.ayChooseGZPickList("outsideServices.unitId", "e2e");
cy.ayChooseGZPickList("outsideServices.vendorSentToId", "e2e");
cy.get('[data-cy="outsideServices.rma"]').type("e2e-outsideservice-rma");
cy.get('[data-cy="outsideServices.repairCost"]').type("123.45");
cy.get('[data-cy="outsideServices.repairPrice"]').type("67.89");
cy.choosePickList("outsideServices.vendorSentViaId", "e2e");
cy.ayChooseGZPickList("outsideServices.vendorSentViaId", "e2e");
cy.get('[data-cy="outsideServices.trackingNumber"]').type(
"e2e-outsideservice-tracking#"
);
@@ -258,7 +258,7 @@ describe.skip("When Service user logs in", () => {
cy.get("[data-cy='outsideServices.returnDate:time']").type(
dayjs().format("HH:mm")
);
cy.choosePickList("outsideServices.taxCodeId", "Services");
cy.ayChooseGZPickList("outsideServices.taxCodeId", "Services");
cy.get('[data-cy="outsideServices.notes"]').type(
"e2e-outsideservice-notes"
);