Files
raven-test/e2e/tests/regression/service-user/service-user-features.js
2021-11-02 23:51:05 +00:00

159 lines
6.3 KiB
JavaScript

/// <reference types="cypress" />
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(`Test summary workorder information`);
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(
"# Heading 1st level {enter}## Heading 2nd level{enter} ### Heading 3rd level{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(`cywoitemnotes`);
cy.get('[data-cy="items.techNotes"]').type(`cytechnotes`);
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", "zone1"); //this works but is indeterminate so there must be a zone 1 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(`cywoitemunitnotes`);
//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", "Tech");
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", "zone");
cy.get("[data-cy=woItemPartAssemblyAdd]").click();
//Save
cy.get("[data-cy='workorder-edit:save'] > .v-btn__content").click();
//LOGOUT
cy.get("[data-cy=navicon]").click();
cy.get("[data-cy=logout]").click();
cy.url().should("include", "/login");
//END OF TEST
//-----------------------------------------------------
});
});