/// import dayjs from "../../../support/dayjs.min.js"; describe("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"); //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 }); //PROJECT cy.get("[data-cy=navicon]").click(); cy.get("[data-cy=service]").click(); cy.get("[data-cy='nav/svc-projects']").click(); cy.url().should("include", "/svc-projects"); cy.get("[data-cy=projectsTable]"); cy.get("[data-cy='project-list:new']:first").click(); cy.get("[data-cy=name]").type( `${Cypress.config("cyid")}-test-project{enter}` ); cy.get("[data-cy='project-edit:save'] > .v-btn__content").click(); //WORKORDER cy.get("[data-cy=navicon]").click(); // cy.get("[data-cy=service]").click(); //only if not setting project above 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"); //Status cy.get("[data-cy='woState:open']").click(); cy.chooseVSelect("woState:picker", "Scheduled"); cy.get("[data-cy='woState:btnok']").click(); // //Address; // cy.get("[data-cy='woAddress:open']").click(); // cy.get("[data-cy=address]").type( // `${Cypress.config("cyid")} E. First St{enter}` // ); // cy.get("[data-cy=city]").type("Los Angeles"); // cy.get("[data-cy=region]").type("California"); // cy.get("[data-cy=country]").type("USA"); // cy.get("[data-cy=latitude]").type("34.052234"); // cy.get("[data-cy=longitude]").type("-118.243685"); // cy.get("[data-cy=postAddress]").type(`Box ${Cypress.config("cyid")}`); // cy.get("[data-cy=postCity]").type("Los Angeles"); // cy.get("[data-cy=postRegion]").type("CA"); // cy.get("[data-cy=postCountry]").type("US"); // cy.get("[data-cy=postCode]").type("90012"); // cy.get("[data-cy='woAddress:btnok']").click(); cy.get("[data-cy=notes]").type(`e2ewosummary`); cy.get("[data-cy='completeByDate:date']").type( dayjs().add(7, "day").format("YYYY-MM-DD") ); 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.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`); // cy.get("[data-cy=customerReferenceNumber]").type( // `cref-${Cypress.config("cyid")}` // ); // cy.get("[data-cy=internalReferenceNumber]").type( // `intref-${Cypress.config("cyid")}` // ); // cy.get("[data-cy=tags]").click().type("zone1{enter}"); //select some tags // cy.get("[data-cy=tags]").click().type("blue{enter}"); // cy.get("[data-cy=tags]").click().type("jade{enter}"); // cy.get("[data-cy=wiki] > div > .v-btn").click(); // cy.get("[data-cy=wikiDesignView]").click(); // cy.get("[data-cy=wikiEditor]").type( // "# H1{enter}## H2{enter} ### H3{enter}#### 😀🍕" // ); // cy.get("[data-cy=wiki] > :nth-child(1) > .v-btn").click(); //Item cy.get("[data-cy=woItemHeader]").click(); cy.get("[data-cy=woItemNew]").click(); cy.get('[data-cy="Items.Notes"]').type(`e2ewoitemnotes`); 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"); // //Unit // cy.get("[data-cy=woItemHeader]").click(); // cy.get("[data-cy=woItemAddUnit]").click(); // cy.choosePickList("units.unitId", "zone"); //this works but is indeterminate so there must be a zoneX unit which usually seems to be the case // cy.get("[data-cy=woItemUnitGetWarrantyInfo]").click(); // cy.contains("Receipt Number:"); //just confirm it displayed something // cy.get("[data-cy=unitUnitNotes]").type(`e2ewoitemunitnotes`); // //Scheduled User // cy.get("[data-cy=woItemHeader]").click(); // cy.get("[data-cy=woItemAddScheduledUser]").click(); // cy.get("[data-cy='startDate:date']").type(dayjs().format("YYYY-MM-DD")); // cy.get("[data-cy='startDate:time']").type(dayjs().format("HH:mm")); // cy.get("[data-cy='stopDate:date']").type( // dayjs().add(1, "hour").format("YYYY-MM-DD") // ); // cy.get("[data-cy='stopDate:time']").type( // dayjs().add(1, "hour").format("HH:mm") // ); // cy.choosePickList("scheduledUsers.userid", "TechRestricted"); // cy.choosePickList("scheduledUsers.serviceRateId", "zone"); // //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.get("[data-cy=woItemTaskGroupAdd]").click(); // //Part // cy.get("[data-cy=woItemHeader]").click(); // cy.get("[data-cy=woItemAddPart]").click(); // cy.get("[data-cy=woItemPartsHeader]").click(); // cy.get("[data-cy=woItemPartAssemblySelect]").click(); // cy.choosePickList("selectedPartAssembly", "asm"); // cy.get("[data-cy=woItemPartAssemblyAdd]").click(); // //Labor // cy.get("[data-cy=woItemHeader]").click(); // cy.get("[data-cy=woItemAddLabor]").click(); // cy.get("[data-cy='serviceStartDate:date']").type(dayjs().format("YYYY-MM-DD")); // cy.get("[data-cy='serviceStartDate:time']").type(dayjs().format("HH:mm")); // cy.get("[data-cy='serviceStopDate:date']").type( // dayjs().add(1, "hour").format("YYYY-MM-DD") // ); // cy.get("[data-cy='serviceStopDate:time']").type( // dayjs().add(1, "hour").format("HH:mm") // ); // cy.choosePickList("labors.userid", "TechRestricted"); // cy.choosePickList("labors.serviceRateId", "zone"); // cy.get('[data-cy=laborserviceDetails]').type("e2elabordeets"); // //Travel // cy.get("[data-cy=woItemHeader]").click(); // cy.get("[data-cy=woItemAddTravel]").click(); // cy.get("[data-cy='travelStartDate:date']").type(dayjs().format("YYYY-MM-DD")); // cy.get("[data-cy='travelStartDate:time']").type(dayjs().format("HH:mm")); // cy.get("[data-cy='travelStopDate:date']").type( // dayjs().add(1, "hour").format("YYYY-MM-DD") // ); // cy.get("[data-cy='travelStopDate:time']").type( // dayjs().add(1, "hour").format("HH:mm") // ); // cy.choosePickList("travels.userid", "TechRestricted"); // cy.choosePickList("travels.travelRateId", "zone"); // cy.get('[data-cy=travelTravelRateDistance]').type("123"); // cy.get('[data-cy=traveltravelDetails]').type("e2etraveldeets"); // //Expense // cy.get("[data-cy=woItemHeader]").click(); // cy.get("[data-cy=woItemAddExpense]").click(); // cy.get('[data-cy="expenses.name"]').type("e2eexpensesummary"); // cy.get('[data-cy="expenses.totalCost"]').type("250.00"); // 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.get("[data-cy='expenses.reimburseUser']").check({ force: true }); // cy.choosePickList("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", "zone"); cy.chooseVSelect("loans.rate", "Hourly charge"); cy.get('[data-cy="loans.quantity"]').type("5"); cy.get("[data-cy='loans.loaned:date']").type( dayjs().add(1, "hour").format("YYYY-MM-DD") ); cy.get("[data-cy='loans.loaned:time']").type( dayjs().add(1, "hour").format("HH:mm") ); cy.get("[data-cy='loans.due:date']").type( dayjs().add(3, "day").format("YYYY-MM-DD") ); cy.get("[data-cy='loans.due:time']").type( dayjs().add(3, "day").format("HH:mm") ); cy.get('[data-cy="loans.notes"]').type("e2eloannotes"); //------------------------------- //Save cy.get("[data-cy=notes]").type(` eot.`); //make dirty again, for some reason when get here dirty seems to go away cy.get("[data-cy='workorder-edit:save'] > .v-btn__content").click(); cy.contains( "These are alert notes displayed on workorders about this GOLD contract" ); //wait for save, workorder save can take forever due to all the separate posts //this will ensure it no matter how long it takes up to the timeout period it will wait //for non-zero path cy.location("pathname", { timeout: 20000 }).should( "not.eq", "/svc-workorders/0" ); // //LOGOUT // cy.get("[data-cy=navicon]").click(); //{force:true} // cy.get("[data-cy=logout]").click(); // cy.url().should("include", "/login"); //END OF TEST //----------------------------------------------------- }); });