From 614685c558604d1fc9b79cc2919469a648f89ae1 Mon Sep 17 00:00:00 2001 From: Mohammed Nihal <57055998+nihal467@users.noreply.github.com> Date: Sat, 2 Dec 2023 16:05:16 +0530 Subject: [PATCH 1/5] Inital File Change --- cypress/e2e/facility_spec/facility.cy.ts | 82 ------- .../e2e/facility_spec/facility_creation.cy.ts | 229 ++++++++++++++++++ .../pageobject/Facility/FacilityCreation.ts | 51 ++++ src/Components/Facility/FacilityCreate.tsx | 9 +- src/Components/Facility/FacilityHome.tsx | 16 +- vite.config.ts | 4 +- 6 files changed, 300 insertions(+), 91 deletions(-) delete mode 100644 cypress/e2e/facility_spec/facility.cy.ts create mode 100644 cypress/e2e/facility_spec/facility_creation.cy.ts diff --git a/cypress/e2e/facility_spec/facility.cy.ts b/cypress/e2e/facility_spec/facility.cy.ts deleted file mode 100644 index da06c65ed53..00000000000 --- a/cypress/e2e/facility_spec/facility.cy.ts +++ /dev/null @@ -1,82 +0,0 @@ -// FacilityCreation -import { cy, describe, before, beforeEach, it, afterEach } from "local-cypress"; -import FacilityPage from "../../pageobject/Facility/FacilityCreation"; -import LoginPage from "../../pageobject/Login/LoginPage"; - -describe("Facility Creation", () => { - let facilityUrl: string; - const facilityPage = new FacilityPage(); - const loginPage = new LoginPage(); - - before(() => { - loginPage.loginAsDisctrictAdmin(); - cy.saveLocalStorage(); - }); - - beforeEach(() => { - cy.viewport(1280, 720); - cy.restoreLocalStorage(); - cy.awaitUrl("/facility"); - }); - - it("Create a new facility", () => { - facilityPage.visitCreateFacilityPage(); - facilityPage.fillFacilityName("cypress facility"); - facilityPage.fillPincode("682001"); - facilityPage.selectState("Kerala"); - facilityPage.selectDistrict("Ernakulam"); - facilityPage.selectLocalBody("Aluva"); - facilityPage.selectWard("4"); - facilityPage.fillAddress("Cypress Address"); - facilityPage.fillPhoneNumber("9898469865"); - facilityPage.submitForm(); - - facilityPage.selectBedType("Oxygen beds"); - facilityPage.fillTotalCapacity("10"); - facilityPage.fillCurrentlyOccupied("5"); - facilityPage.saveAndExitBedCapacityForm(); - - facilityPage.selectAreaOfSpecialization("General Medicine"); - facilityPage.fillDoctorCount("5"); - facilityPage.saveAndExitDoctorForm(); - facilityPage.verifyfacilitynewurl(); - cy.url().then((newUrl) => { - facilityUrl = newUrl; - }); - }); - - it("Update the existing facility", () => { - facilityPage.visitUpdateFacilityPage(facilityUrl); - facilityPage.clickManageFacilityDropdown(); - facilityPage.clickUpdateFacilityOption(); - facilityPage.clickUpdateFacilityType("Request Approving Center"); - facilityPage.fillFacilityName("cypress facility updated"); - facilityPage.fillAddress("Cypress Facility Updated Address"); - facilityPage.fillOxygenCapacity("100"); - facilityPage.fillExpectedOxygenRequirement("80"); - facilityPage.selectLocation("Kochi, Kerala"); - facilityPage.submitForm(); - - cy.url().should("not.include", "/update"); - }); - - it("Configure the existing facility", () => { - facilityPage.visitUpdateFacilityPage(facilityUrl); - facilityPage.clickManageFacilityDropdown(); - facilityPage.clickConfigureFacilityOption(); - facilityPage.fillMiddleWareAddress("dev_middleware.coronasafe.live"); - facilityPage.clickupdateMiddleWare(); - facilityPage.verifySuccessNotification("Facility updated successfully"); - }); - - it("Delete a facility", () => { - facilityPage.visitUpdateFacilityPage(facilityUrl); - facilityPage.clickManageFacilityDropdown(); - facilityPage.clickDeleteFacilityOption(); - facilityPage.confirmDeleteFacility(); - }); - - afterEach(() => { - cy.saveLocalStorage(); - }); -}); diff --git a/cypress/e2e/facility_spec/facility_creation.cy.ts b/cypress/e2e/facility_spec/facility_creation.cy.ts new file mode 100644 index 00000000000..ca1026a6400 --- /dev/null +++ b/cypress/e2e/facility_spec/facility_creation.cy.ts @@ -0,0 +1,229 @@ +// FacilityCreation +import { cy, describe, before, beforeEach, it, afterEach } from "local-cypress"; +import FacilityPage from "../../pageobject/Facility/FacilityCreation"; +import LoginPage from "../../pageobject/Login/LoginPage"; +import FacilityHome from "../../pageobject/Facility/FacilityHome"; +import ManageUserPage from "../../pageobject/Users/ManageUserPage"; + +describe("Facility Creation", () => { + let facilityUrl1: string; + let facilityUrl2: string; + let facilityUrl3: string; + const facilityPage = new FacilityPage(); + const loginPage = new LoginPage(); + const facilityHome = new FacilityHome(); + const manageUserPage = new ManageUserPage(); + const facilityFeature = [ + "CT Scan", + "X-Ray", + "Maternity Care", + "Neonatal Care", + "Operation Theater", + "Blood Bank", + ]; + const bedCapacity = "10"; + const bedOccupancy = "5"; + const oxygenCapacity = "100"; + const oxygenExpected = "80"; + const totalCapacity = "200"; + const totalOccupancy = "160"; + const doctorCapacity = "5"; + + before(() => { + loginPage.loginAsDisctrictAdmin(); + cy.saveLocalStorage(); + }); + + beforeEach(() => { + cy.viewport(1280, 720); + cy.restoreLocalStorage(); + cy.awaitUrl("/facility"); + }); + + it("Create a new facility with multiple bed and doctor capacity", () => { + facilityPage.visitCreateFacilityPage(); + facilityPage.fillFacilityName("cypress facility with multiple bed"); + facilityPage.clickfacilityfeatureoption(); + facilityFeature.forEach((featureText) => { + cy.get("[role='option']").contains(featureText).click(); + }); + facilityPage.fillPincode("682001"); + facilityPage.selectState("Kerala"); + facilityPage.selectDistrict("Ernakulam"); + facilityPage.selectLocalBody("Aluva"); + facilityPage.selectWard("4"); + facilityPage.fillAddress("cypress address"); + facilityPage.fillPhoneNumber("9898469865"); + facilityPage.fillOxygenCapacity(oxygenCapacity); + facilityPage.fillExpectedOxygenRequirement(oxygenExpected); + facilityPage.fillBTypeCylinderCapacity(oxygenCapacity); + facilityPage.fillExpectedBTypeCylinderRequirement(oxygenExpected); + facilityPage.fillCTypeCylinderCapacity(oxygenCapacity); + facilityPage.fillExpectedCTypeCylinderRequirement(oxygenExpected); + facilityPage.fillDTypeCylinderCapacity(oxygenCapacity); + facilityPage.fillExpectedDTypeCylinderRequirement(oxygenExpected); + facilityPage.selectLocation("Kochi, Kerala"); + facilityPage.submitForm(); + // create multiple bed capacity and verify card reflection + facilityPage.selectBedType("Oxygen beds"); + facilityPage.fillTotalCapacity(bedCapacity); + facilityPage.fillCurrentlyOccupied(bedOccupancy); + facilityPage.clickbedcapcityaddmore(); + facilityPage.selectBedType("Ordinary Bed"); + facilityPage.fillTotalCapacity(bedCapacity); + facilityPage.fillCurrentlyOccupied(bedOccupancy); + facilityPage.clickbedcapcityaddmore(); + cy.get("#total-bed-capacity").contains(totalCapacity); + cy.get("#total-bed-capacity").contains(totalOccupancy); + facilityPage.clickcancelbutton(); + // create multiple bed capacity and verify card reflection + facilityPage.selectAreaOfSpecialization("General Medicine"); + facilityPage.fillDoctorCount(doctorCapacity); + facilityPage.clickdoctorcapacityaddmore(); + facilityPage.selectAreaOfSpecialization("Pulmonology"); + facilityPage.fillDoctorCount(doctorCapacity); + facilityPage.clickdoctorcapacityaddmore(); + cy.get("#total-doctor-capacity").contains(doctorCapacity); + facilityPage.clickcancelbutton(); + facilityPage.verifyfacilitynewurl(); + cy.url().then((newUrl) => { + facilityUrl3 = newUrl; + }); + // verify the facility card + cy.get("#facility-name").contains("cypress").should("be.visible"); + cy.get("#address-details-view").contains("cypress").should("be.visible"); + cy.get("#phone-number-view").contains("9898469865").should("be.visible"); + cy.get("#facility-available-features") + .invoke("text") + .then((text) => { + facilityFeature.forEach((feature) => { + expect(text).to.contain(feature); + }); + }); + cy.get("#facility-oxygen-info").scrollIntoView(); + cy.get("#facility-oxygen-info").contains("100").should("be.visible"); + }); + + it("Create a new facility with single bed and doctor capacity", () => { + facilityPage.visitCreateFacilityPage(); + facilityPage.fillFacilityName("cypress facility with single bed"); + facilityPage.fillPincode("682001"); + facilityPage.selectState("Kerala"); + facilityPage.selectDistrict("Ernakulam"); + facilityPage.selectLocalBody("Aluva"); + facilityPage.selectWard("4"); + facilityPage.fillAddress("cypress address"); + facilityPage.fillPhoneNumber("9898469865"); + facilityPage.submitForm(); + // add the bed capacity + facilityPage.selectBedType("Oxygen beds"); + facilityPage.fillTotalCapacity("10"); + facilityPage.fillCurrentlyOccupied("5"); + facilityPage.saveAndExitBedCapacityForm(); + // add the doctor capacity + facilityPage.selectAreaOfSpecialization("General Medicine"); + facilityPage.fillDoctorCount("5"); + facilityPage.saveAndExitDoctorForm(); + facilityPage.verifyfacilitynewurl(); + cy.url().then((newUrl) => { + facilityUrl1 = newUrl; + }); + // verify the created facility details + cy.get("#facility-name").contains("cypress").should("be.visible"); + cy.get("#address-details-view").contains("cypress").should("be.visible"); + cy.get("#phone-number-view").contains("9898469865").should("be.visible"); + }); + + it("Create a new facility with no bed and doctor capacity", () => { + facilityPage.visitCreateFacilityPage(); + facilityPage.fillFacilityName("cypress facility with no bed"); + facilityPage.fillPincode("682001"); + facilityPage.selectState("Kerala"); + facilityPage.selectDistrict("Ernakulam"); + facilityPage.selectLocalBody("Aluva"); + facilityPage.selectWard("4"); + facilityPage.fillAddress("cypress Address"); + facilityPage.fillPhoneNumber("9898469865"); + facilityPage.submitForm(); + // add no bed capacity + facilityPage.isVisibleselectBedType(); + cy.get("#cancel").click(); + // add no doctor capacity + facilityPage.isVisibleAreaOfSpecialization(); + cy.get("#cancel").click(); + cy.url().then((newUrl) => { + facilityUrl2 = newUrl; + }); + // verify the created facility details + cy.get("#facility-name").contains("cypress").should("be.visible"); + cy.get("#address-details-view").contains("cypress").should("be.visible"); + cy.get("#phone-number-view").contains("9898469865").should("be.visible"); + // verify the facility homepage + cy.visit("/facility"); + manageUserPage.typeFacilitySearch("cypress"); + facilityPage.verifyFacilityBadgeContent("cypress"); + manageUserPage.assertFacilityInCard("cypress"); + facilityHome.verifyURLContains("cypress"); + }); + + it("Update the existing facility", () => { + facilityPage.visitUpdateFacilityPage(facilityUrl1); + facilityPage.clickManageFacilityDropdown(); + facilityPage.clickUpdateFacilityOption(); + facilityPage.clickUpdateFacilityType("Request Approving Center"); + facilityPage.fillFacilityName("cypress facility updated"); + facilityPage.fillAddress("Cypress Facility Updated Address"); + facilityPage.fillOxygenCapacity("100"); + facilityPage.fillExpectedOxygenRequirement("80"); + facilityPage.selectLocation("Kochi, Kerala"); + facilityPage.submitForm(); + cy.url().should("not.include", "/update"); + + // + facilityPage.visitUpdateFacilityPage(facilityUrl2); + facilityPage.clickManageFacilityDropdown(); + facilityPage.clickUpdateFacilityOption(); + facilityPage.clickUpdateFacilityType("Request Approving Center"); + facilityPage.fillFacilityName("cypress facility updated"); + facilityPage.fillAddress("Cypress Facility Updated Address"); + facilityPage.fillOxygenCapacity("100"); + facilityPage.fillExpectedOxygenRequirement("80"); + facilityPage.selectLocation("Kochi, Kerala"); + facilityPage.submitForm(); + cy.url().should("not.include", "/update"); + + // + + facilityPage.visitUpdateFacilityPage(facilityUrl3); + facilityPage.clickManageFacilityDropdown(); + facilityPage.clickUpdateFacilityOption(); + facilityPage.clickUpdateFacilityType("Request Approving Center"); + facilityPage.fillFacilityName("cypress facility updated"); + facilityPage.fillAddress("Cypress Facility Updated Address"); + facilityPage.fillOxygenCapacity("100"); + facilityPage.fillExpectedOxygenRequirement("80"); + facilityPage.selectLocation("Kochi, Kerala"); + facilityPage.submitForm(); + cy.url().should("not.include", "/update"); + }); + + it("Configure the existing facility", () => { + facilityPage.visitUpdateFacilityPage(facilityUrl1); + facilityPage.clickManageFacilityDropdown(); + facilityPage.clickConfigureFacilityOption(); + facilityPage.fillMiddleWareAddress("dev_middleware.coronasafe.live"); + facilityPage.clickupdateMiddleWare(); + facilityPage.verifySuccessNotification("Facility updated successfully"); + }); + + it("Delete a facility", () => { + facilityPage.visitUpdateFacilityPage(facilityUrl1); + facilityPage.clickManageFacilityDropdown(); + facilityPage.clickDeleteFacilityOption(); + facilityPage.confirmDeleteFacility(); + }); + + afterEach(() => { + cy.saveLocalStorage(); + }); +}); diff --git a/cypress/pageobject/Facility/FacilityCreation.ts b/cypress/pageobject/Facility/FacilityCreation.ts index 8c20b808c98..5d469f08828 100644 --- a/cypress/pageobject/Facility/FacilityCreation.ts +++ b/cypress/pageobject/Facility/FacilityCreation.ts @@ -70,6 +70,10 @@ class FacilityPage { cy.get("[role='option']").contains(bedType).click(); } + isVisibleselectBedType() { + cy.get("div#bed-type button").should("be.visible"); + } + fillTotalCapacity(capacity: string) { cy.get("input#total-capacity").click().type(capacity); } @@ -87,6 +91,10 @@ class FacilityPage { cy.get("[role='option']").contains(area).click(); } + isVisibleAreaOfSpecialization() { + cy.get("div#area-of-specialization button").should("be.visible"); + } + fillDoctorCount(count: string) { cy.get("input#count").click().type(count); } @@ -99,6 +107,33 @@ class FacilityPage { cy.get("#expected_oxygen_requirement").click().clear().type(requirement); } + fillBTypeCylinderCapacity(capacity: string) { + cy.get("#type_b_cylinders").click().clear().type(capacity); + } + + fillExpectedBTypeCylinderRequirement(requirement: string) { + cy.get("#expected_type_b_cylinders").focus().clear(); + cy.get("#expected_type_b_cylinders").focus().type(requirement); + } + + fillCTypeCylinderCapacity(capacity: string) { + cy.get("#type_c_cylinders").click().clear().type(capacity); + } + + fillExpectedCTypeCylinderRequirement(requirement: string) { + cy.get("#expected_type_c_cylinders").focus().clear(); + cy.get("#expected_type_c_cylinders").focus().type(requirement); + } + + fillDTypeCylinderCapacity(capacity: string) { + cy.get("#type_d_cylinders").click().clear().type(capacity); + } + + fillExpectedDTypeCylinderRequirement(requirement: string) { + cy.get("#expected_type_d_cylinders").focus().clear(); + cy.get("#expected_type_d_cylinders").focus().type(requirement); + } + saveAndExitDoctorForm() { cy.intercept("GET", "**/api/v1/facility/**").as("createFacilities"); cy.get("button#save-and-exit").click(); @@ -146,6 +181,22 @@ class FacilityPage { cy.get("#delete-facility").contains("Delete Facility").click(); } + clickfacilityfeatureoption() { + cy.get("#features").click(); + } + + clickbedcapcityaddmore() { + cy.get("#bed-capacity-save").click(); + } + + clickdoctorcapacityaddmore() { + cy.get("#doctor-save").click(); + } + + clickcancelbutton() { + cy.get("#cancel").click(); + } + verifyfacilitynewurl() { cy.url().should("match", /facility\/[a-z\d-]+/); } diff --git a/src/Components/Facility/FacilityCreate.tsx b/src/Components/Facility/FacilityCreate.tsx index e742caefb82..8a7887ebc25 100644 --- a/src/Components/Facility/FacilityCreate.tsx +++ b/src/Components/Facility/FacilityCreate.tsx @@ -570,7 +570,10 @@ export const FacilityCreate = (props: FacilityProps) => { }); capacityList = ( -
+
{
{t("doctors_list")}
-
{doctorList}
+
+ {doctorList} +
); diff --git a/src/Components/Facility/FacilityHome.tsx b/src/Components/Facility/FacilityHome.tsx index e971f0f3b9d..3ad295a3df3 100644 --- a/src/Components/Facility/FacilityHome.tsx +++ b/src/Components/Facility/FacilityHome.tsx @@ -198,7 +198,7 @@ export const FacilityHome = (props: any) => { )} {editCoverImageTooltip}
-
+

{facilityData?.name}

{facilityData?.modified_date && ( {
-
+

Address

@@ -222,7 +222,7 @@ export const FacilityHome = (props: any) => {
-
+

Phone Number

@@ -270,7 +270,10 @@ export const FacilityHome = (props: any) => { ) && (

Available features

)} -
+
{facilityData?.features?.map( (feature: number, i: number) => FACILITY_FEATURE_TYPES.some((f) => f.id === feature) && ( @@ -426,7 +429,10 @@ export const FacilityHome = (props: any) => {

Oxygen Information

-
+
Date: Mon, 4 Dec 2023 09:28:01 +0530 Subject: [PATCH 2/5] revert vite --- vite.config.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/vite.config.ts b/vite.config.ts index 07280c60dc5..ecd6a2676d3 100644 --- a/vite.config.ts +++ b/vite.config.ts @@ -85,7 +85,7 @@ export default defineConfig({ port: 4000, proxy: { "/api": { - target: process.env.CARE_API ?? "http://localhost:9000", + target: process.env.CARE_API ?? "https://careapi.ohc.network", changeOrigin: true, }, }, @@ -94,7 +94,7 @@ export default defineConfig({ port: 4000, proxy: { "/api": { - target: process.env.CARE_API ?? "http://localhost:9000", + target: process.env.CARE_API ?? "https://careapi.ohc.network", changeOrigin: true, }, }, From 8876e57cbd0a5f685acc383b6d93063e8c278623 Mon Sep 17 00:00:00 2001 From: Mohammed Nihal <57055998+nihal467@users.noreply.github.com> Date: Mon, 4 Dec 2023 13:56:48 +0530 Subject: [PATCH 3/5] Final converted remaining test part --- .../e2e/facility_spec/facility_creation.cy.ts | 172 ++++++++++-------- .../pageobject/Facility/FacilityCreation.ts | 36 ++++ .../Facility/FacilityBedCapacity.tsx | 4 +- .../Facility/FacilityDoctorList.tsx | 4 +- 4 files changed, 137 insertions(+), 79 deletions(-) diff --git a/cypress/e2e/facility_spec/facility_creation.cy.ts b/cypress/e2e/facility_spec/facility_creation.cy.ts index ca1026a6400..d66517fe1e9 100644 --- a/cypress/e2e/facility_spec/facility_creation.cy.ts +++ b/cypress/e2e/facility_spec/facility_creation.cy.ts @@ -4,15 +4,15 @@ import FacilityPage from "../../pageobject/Facility/FacilityCreation"; import LoginPage from "../../pageobject/Login/LoginPage"; import FacilityHome from "../../pageobject/Facility/FacilityHome"; import ManageUserPage from "../../pageobject/Users/ManageUserPage"; +import { UserCreationPage } from "../../pageobject/Users/UserCreation"; describe("Facility Creation", () => { let facilityUrl1: string; - let facilityUrl2: string; - let facilityUrl3: string; const facilityPage = new FacilityPage(); const loginPage = new LoginPage(); const facilityHome = new FacilityHome(); const manageUserPage = new ManageUserPage(); + const userCreationPage = new UserCreationPage(); const facilityFeature = [ "CT Scan", "X-Ray", @@ -25,9 +25,30 @@ describe("Facility Creation", () => { const bedOccupancy = "5"; const oxygenCapacity = "100"; const oxygenExpected = "80"; - const totalCapacity = "200"; - const totalOccupancy = "160"; + const totalCapacity = "20"; + const totalOccupancy = "10"; const doctorCapacity = "5"; + const totalDoctor = "10"; + const facilityName = "cypress facility"; + const facilityAddress = "cypress address"; + const facilityNumber = "9898469865"; + const facilityErrorMessage = [ + "Required", + "Invalid Pincode", + "Required", + "Required", + "Required", + "Required", + "Required", + "Required", + "Invalid Phone Number", + ]; + const bedErrorMessage = [ + "Field is required", + "Total capacity cannot be 0", + "Field is required", + ]; + const doctorErrorMessage = ["Field is required", "Field is required"]; before(() => { loginPage.loginAsDisctrictAdmin(); @@ -41,8 +62,11 @@ describe("Facility Creation", () => { }); it("Create a new facility with multiple bed and doctor capacity", () => { + // create facility with multiple capacity and verify form error message for facility form facilityPage.visitCreateFacilityPage(); - facilityPage.fillFacilityName("cypress facility with multiple bed"); + facilityPage.submitForm(); + userCreationPage.verifyErrorMessages(facilityErrorMessage); + facilityPage.fillFacilityName(facilityName); facilityPage.clickfacilityfeatureoption(); facilityFeature.forEach((featureText) => { cy.get("[role='option']").contains(featureText).click(); @@ -52,8 +76,8 @@ describe("Facility Creation", () => { facilityPage.selectDistrict("Ernakulam"); facilityPage.selectLocalBody("Aluva"); facilityPage.selectWard("4"); - facilityPage.fillAddress("cypress address"); - facilityPage.fillPhoneNumber("9898469865"); + facilityPage.fillAddress(facilityAddress); + facilityPage.fillPhoneNumber(facilityNumber); facilityPage.fillOxygenCapacity(oxygenCapacity); facilityPage.fillExpectedOxygenRequirement(oxygenExpected); facilityPage.fillBTypeCylinderCapacity(oxygenCapacity); @@ -73,8 +97,8 @@ describe("Facility Creation", () => { facilityPage.fillTotalCapacity(bedCapacity); facilityPage.fillCurrentlyOccupied(bedOccupancy); facilityPage.clickbedcapcityaddmore(); - cy.get("#total-bed-capacity").contains(totalCapacity); - cy.get("#total-bed-capacity").contains(totalOccupancy); + facilityPage.getTotalBedCapacity().contains(totalCapacity); + facilityPage.getTotalBedCapacity().contains(totalOccupancy); facilityPage.clickcancelbutton(); // create multiple bed capacity and verify card reflection facilityPage.selectAreaOfSpecialization("General Medicine"); @@ -83,87 +107,112 @@ describe("Facility Creation", () => { facilityPage.selectAreaOfSpecialization("Pulmonology"); facilityPage.fillDoctorCount(doctorCapacity); facilityPage.clickdoctorcapacityaddmore(); - cy.get("#total-doctor-capacity").contains(doctorCapacity); + facilityPage.getTotalDoctorCapacity().contains(doctorCapacity); facilityPage.clickcancelbutton(); facilityPage.verifyfacilitynewurl(); - cy.url().then((newUrl) => { - facilityUrl3 = newUrl; - }); // verify the facility card - cy.get("#facility-name").contains("cypress").should("be.visible"); - cy.get("#address-details-view").contains("cypress").should("be.visible"); - cy.get("#phone-number-view").contains("9898469865").should("be.visible"); - cy.get("#facility-available-features") + facilityPage.getFacilityName().contains(facilityName).should("be.visible"); + facilityPage + .getAddressDetailsView() + .contains(facilityAddress) + .should("be.visible"); + facilityPage + .getPhoneNumberView() + .contains(facilityNumber) + .should("be.visible"); + facilityPage + .getFacilityAvailableFeatures() .invoke("text") .then((text) => { facilityFeature.forEach((feature) => { expect(text).to.contain(feature); }); }); - cy.get("#facility-oxygen-info").scrollIntoView(); - cy.get("#facility-oxygen-info").contains("100").should("be.visible"); + facilityPage.getFacilityOxygenInfo().scrollIntoView(); + facilityPage + .getFacilityOxygenInfo() + .contains(oxygenCapacity) + .should("be.visible"); + facilityPage.getFacilityTotalBedCapacity().scrollIntoView(); + facilityPage.getFacilityTotalBedCapacity().contains(totalCapacity); + facilityPage.getFacilityTotalBedCapacity().contains(totalOccupancy); + facilityPage.getFacilityTotalDoctorCapacity().scrollIntoView(); + facilityPage.getFacilityTotalDoctorCapacity().contains(totalDoctor); }); it("Create a new facility with single bed and doctor capacity", () => { facilityPage.visitCreateFacilityPage(); - facilityPage.fillFacilityName("cypress facility with single bed"); + facilityPage.fillFacilityName(facilityName); facilityPage.fillPincode("682001"); facilityPage.selectState("Kerala"); facilityPage.selectDistrict("Ernakulam"); facilityPage.selectLocalBody("Aluva"); facilityPage.selectWard("4"); - facilityPage.fillAddress("cypress address"); - facilityPage.fillPhoneNumber("9898469865"); + facilityPage.fillAddress(facilityAddress); + facilityPage.fillPhoneNumber(facilityNumber); facilityPage.submitForm(); - // add the bed capacity + // add the bed capacity and verify form error message + facilityPage.saveAndExitBedCapacityForm(); + userCreationPage.verifyErrorMessages(bedErrorMessage); facilityPage.selectBedType("Oxygen beds"); - facilityPage.fillTotalCapacity("10"); - facilityPage.fillCurrentlyOccupied("5"); + facilityPage.fillTotalCapacity(oxygenCapacity); + facilityPage.fillCurrentlyOccupied(oxygenExpected); facilityPage.saveAndExitBedCapacityForm(); - // add the doctor capacity + // add the doctor capacity and verify form error message + facilityPage.saveAndExitDoctorForm(); + userCreationPage.verifyErrorMessages(doctorErrorMessage); facilityPage.selectAreaOfSpecialization("General Medicine"); - facilityPage.fillDoctorCount("5"); + facilityPage.fillDoctorCount(doctorCapacity); facilityPage.saveAndExitDoctorForm(); facilityPage.verifyfacilitynewurl(); - cy.url().then((newUrl) => { - facilityUrl1 = newUrl; - }); // verify the created facility details - cy.get("#facility-name").contains("cypress").should("be.visible"); - cy.get("#address-details-view").contains("cypress").should("be.visible"); - cy.get("#phone-number-view").contains("9898469865").should("be.visible"); + facilityPage.getFacilityName().contains(facilityName).should("be.visible"); + facilityPage + .getAddressDetailsView() + .contains(facilityAddress) + .should("be.visible"); + facilityPage + .getPhoneNumberView() + .contains(facilityNumber) + .should("be.visible"); + // verify the facility homepage + cy.visit("/facility"); + manageUserPage.typeFacilitySearch(facilityName); + facilityPage.verifyFacilityBadgeContent(facilityName); + manageUserPage.assertFacilityInCard(facilityName); + facilityHome.verifyURLContains(facilityName); }); it("Create a new facility with no bed and doctor capacity", () => { facilityPage.visitCreateFacilityPage(); - facilityPage.fillFacilityName("cypress facility with no bed"); + facilityPage.fillFacilityName(facilityName); facilityPage.fillPincode("682001"); facilityPage.selectState("Kerala"); facilityPage.selectDistrict("Ernakulam"); facilityPage.selectLocalBody("Aluva"); facilityPage.selectWard("4"); - facilityPage.fillAddress("cypress Address"); - facilityPage.fillPhoneNumber("9898469865"); + facilityPage.fillAddress(facilityAddress); + facilityPage.fillPhoneNumber(facilityNumber); facilityPage.submitForm(); // add no bed capacity facilityPage.isVisibleselectBedType(); - cy.get("#cancel").click(); + facilityPage.clickcancelbutton(); // add no doctor capacity facilityPage.isVisibleAreaOfSpecialization(); - cy.get("#cancel").click(); + facilityPage.clickcancelbutton(); cy.url().then((newUrl) => { - facilityUrl2 = newUrl; + facilityUrl1 = newUrl; }); // verify the created facility details - cy.get("#facility-name").contains("cypress").should("be.visible"); - cy.get("#address-details-view").contains("cypress").should("be.visible"); - cy.get("#phone-number-view").contains("9898469865").should("be.visible"); - // verify the facility homepage - cy.visit("/facility"); - manageUserPage.typeFacilitySearch("cypress"); - facilityPage.verifyFacilityBadgeContent("cypress"); - manageUserPage.assertFacilityInCard("cypress"); - facilityHome.verifyURLContains("cypress"); + facilityPage.getFacilityName().contains(facilityName).should("be.visible"); + facilityPage + .getAddressDetailsView() + .contains(facilityAddress) + .should("be.visible"); + facilityPage + .getPhoneNumberView() + .contains(facilityNumber) + .should("be.visible"); }); it("Update the existing facility", () => { @@ -178,33 +227,6 @@ describe("Facility Creation", () => { facilityPage.selectLocation("Kochi, Kerala"); facilityPage.submitForm(); cy.url().should("not.include", "/update"); - - // - facilityPage.visitUpdateFacilityPage(facilityUrl2); - facilityPage.clickManageFacilityDropdown(); - facilityPage.clickUpdateFacilityOption(); - facilityPage.clickUpdateFacilityType("Request Approving Center"); - facilityPage.fillFacilityName("cypress facility updated"); - facilityPage.fillAddress("Cypress Facility Updated Address"); - facilityPage.fillOxygenCapacity("100"); - facilityPage.fillExpectedOxygenRequirement("80"); - facilityPage.selectLocation("Kochi, Kerala"); - facilityPage.submitForm(); - cy.url().should("not.include", "/update"); - - // - - facilityPage.visitUpdateFacilityPage(facilityUrl3); - facilityPage.clickManageFacilityDropdown(); - facilityPage.clickUpdateFacilityOption(); - facilityPage.clickUpdateFacilityType("Request Approving Center"); - facilityPage.fillFacilityName("cypress facility updated"); - facilityPage.fillAddress("Cypress Facility Updated Address"); - facilityPage.fillOxygenCapacity("100"); - facilityPage.fillExpectedOxygenRequirement("80"); - facilityPage.selectLocation("Kochi, Kerala"); - facilityPage.submitForm(); - cy.url().should("not.include", "/update"); }); it("Configure the existing facility", () => { diff --git a/cypress/pageobject/Facility/FacilityCreation.ts b/cypress/pageobject/Facility/FacilityCreation.ts index 5d469f08828..b4d3808d645 100644 --- a/cypress/pageobject/Facility/FacilityCreation.ts +++ b/cypress/pageobject/Facility/FacilityCreation.ts @@ -173,6 +173,42 @@ class FacilityPage { cy.get("#inventory-management").click(); } + getTotalBedCapacity() { + return cy.get("#total-bed-capacity"); + } + + getFacilityTotalBedCapacity() { + return cy.get("#facility-bed-capacity-details"); + } + + getFacilityTotalDoctorCapacity() { + return cy.get("#facility-doctor-capacity-details"); + } + + getTotalDoctorCapacity() { + return cy.get("#total-doctor-capacity"); + } + + getFacilityName() { + return cy.get("#facility-name"); + } + + getAddressDetailsView() { + return cy.get("#address-details-view"); + } + + getPhoneNumberView() { + return cy.get("#phone-number-view"); + } + + getFacilityAvailableFeatures() { + return cy.get("#facility-available-features"); + } + + getFacilityOxygenInfo() { + return cy.get("#facility-oxygen-info"); + } + clickResourceRequestOption() { cy.get("#resource-request").contains("Resource Request").click(); } diff --git a/src/Components/Facility/FacilityBedCapacity.tsx b/src/Components/Facility/FacilityBedCapacity.tsx index 33583840643..0c05fb022cb 100644 --- a/src/Components/Facility/FacilityBedCapacity.tsx +++ b/src/Components/Facility/FacilityBedCapacity.tsx @@ -82,7 +82,7 @@ export const FacilityBedCapacity = (props: any) => { } return ( -
+
Bed Capacity
@@ -114,6 +114,6 @@ export const FacilityBedCapacity = (props: any) => { /> )} -
+
); }; diff --git a/src/Components/Facility/FacilityDoctorList.tsx b/src/Components/Facility/FacilityDoctorList.tsx index e6bbc7f7f3b..d9a8b0d1a37 100644 --- a/src/Components/Facility/FacilityDoctorList.tsx +++ b/src/Components/Facility/FacilityDoctorList.tsx @@ -83,7 +83,7 @@ export const FacilityDoctorList = (props: any) => { } return ( -
+
Doctors List
@@ -116,6 +116,6 @@ export const FacilityDoctorList = (props: any) => { /> )} -
+
); }; From e5be748ef5750f6f5f5720ae9c2961f96eee3d0d Mon Sep 17 00:00:00 2001 From: Mohammed Nihal <57055998+nihal467@users.noreply.github.com> Date: Mon, 4 Dec 2023 14:24:57 +0530 Subject: [PATCH 4/5] minor fix --- .../e2e/facility_spec/facility_creation.cy.ts | 22 +++++++------------ 1 file changed, 8 insertions(+), 14 deletions(-) diff --git a/cypress/e2e/facility_spec/facility_creation.cy.ts b/cypress/e2e/facility_spec/facility_creation.cy.ts index d66517fe1e9..dfb7aae673a 100644 --- a/cypress/e2e/facility_spec/facility_creation.cy.ts +++ b/cypress/e2e/facility_spec/facility_creation.cy.ts @@ -72,8 +72,6 @@ describe("Facility Creation", () => { cy.get("[role='option']").contains(featureText).click(); }); facilityPage.fillPincode("682001"); - facilityPage.selectState("Kerala"); - facilityPage.selectDistrict("Ernakulam"); facilityPage.selectLocalBody("Aluva"); facilityPage.selectWard("4"); facilityPage.fillAddress(facilityAddress); @@ -144,23 +142,17 @@ describe("Facility Creation", () => { facilityPage.visitCreateFacilityPage(); facilityPage.fillFacilityName(facilityName); facilityPage.fillPincode("682001"); - facilityPage.selectState("Kerala"); - facilityPage.selectDistrict("Ernakulam"); facilityPage.selectLocalBody("Aluva"); facilityPage.selectWard("4"); facilityPage.fillAddress(facilityAddress); facilityPage.fillPhoneNumber(facilityNumber); facilityPage.submitForm(); - // add the bed capacity and verify form error message - facilityPage.saveAndExitBedCapacityForm(); - userCreationPage.verifyErrorMessages(bedErrorMessage); + // add the bed capacity facilityPage.selectBedType("Oxygen beds"); facilityPage.fillTotalCapacity(oxygenCapacity); facilityPage.fillCurrentlyOccupied(oxygenExpected); facilityPage.saveAndExitBedCapacityForm(); - // add the doctor capacity and verify form error message - facilityPage.saveAndExitDoctorForm(); - userCreationPage.verifyErrorMessages(doctorErrorMessage); + // add the doctor capacity facilityPage.selectAreaOfSpecialization("General Medicine"); facilityPage.fillDoctorCount(doctorCapacity); facilityPage.saveAndExitDoctorForm(); @@ -187,18 +179,20 @@ describe("Facility Creation", () => { facilityPage.visitCreateFacilityPage(); facilityPage.fillFacilityName(facilityName); facilityPage.fillPincode("682001"); - facilityPage.selectState("Kerala"); - facilityPage.selectDistrict("Ernakulam"); facilityPage.selectLocalBody("Aluva"); facilityPage.selectWard("4"); facilityPage.fillAddress(facilityAddress); facilityPage.fillPhoneNumber(facilityNumber); facilityPage.submitForm(); - // add no bed capacity + // add no bed capacity and verify form error message facilityPage.isVisibleselectBedType(); + facilityPage.saveAndExitBedCapacityForm(); + userCreationPage.verifyErrorMessages(bedErrorMessage); facilityPage.clickcancelbutton(); - // add no doctor capacity + // add no doctor capacity and verify form error message facilityPage.isVisibleAreaOfSpecialization(); + facilityPage.saveAndExitDoctorForm(); + userCreationPage.verifyErrorMessages(doctorErrorMessage); facilityPage.clickcancelbutton(); cy.url().then((newUrl) => { facilityUrl1 = newUrl; From 43aa7aa688bcf8675e8065994ed4a8bb4dd90875 Mon Sep 17 00:00:00 2001 From: Mohammed Nihal <57055998+nihal467@users.noreply.github.com> Date: Mon, 4 Dec 2023 14:45:17 +0530 Subject: [PATCH 5/5] minor fix component change --- cypress/e2e/facility_spec/facility_creation.cy.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/cypress/e2e/facility_spec/facility_creation.cy.ts b/cypress/e2e/facility_spec/facility_creation.cy.ts index dfb7aae673a..d43aa093a69 100644 --- a/cypress/e2e/facility_spec/facility_creation.cy.ts +++ b/cypress/e2e/facility_spec/facility_creation.cy.ts @@ -191,7 +191,7 @@ describe("Facility Creation", () => { facilityPage.clickcancelbutton(); // add no doctor capacity and verify form error message facilityPage.isVisibleAreaOfSpecialization(); - facilityPage.saveAndExitDoctorForm(); + facilityPage.clickdoctorcapacityaddmore(); userCreationPage.verifyErrorMessages(doctorErrorMessage); facilityPage.clickcancelbutton(); cy.url().then((newUrl) => {