Skip to content

Commit

Permalink
New Cypress Test | Patient consultation file upload | Patient Consult…
Browse files Browse the repository at this point in the history
…ation Module (ohcnetwork#7554)

* patient file upload

* flaky test

* missed test

* deleted existing file upload test
  • Loading branch information
nihal467 authored Apr 8, 2024
1 parent 04247d4 commit 12d4187
Show file tree
Hide file tree
Showing 10 changed files with 127 additions and 135 deletions.
2 changes: 2 additions & 0 deletions cypress/e2e/facility_spec/facility_manage.cy.ts
Original file line number Diff line number Diff line change
Expand Up @@ -141,6 +141,7 @@ describe("Facility Manage Functions", () => {
facilityManage.verifySuccessMessageVisibilityAndContent(
"Bed capacity added successfully"
);
cy.closeNotification();
facilityManage.verifyFacilityBedCapacity(totalCapacity);
facilityManage.verifyFacilityBedCapacity(currentOccupied);
// edit a existing bed
Expand All @@ -151,6 +152,7 @@ describe("Facility Manage Functions", () => {
facilityManage.verifySuccessMessageVisibilityAndContent(
"Bed capacity updated successfully"
);
cy.closeNotification();
facilityManage.verifyFacilityBedCapacity(totalUpdatedCapacity);
facilityManage.verifyFacilityBedCapacity(currentUpdatedOccupied);
// delete a bed
Expand Down
106 changes: 0 additions & 106 deletions cypress/e2e/patient_spec/patient_detailpage.cy.ts

This file was deleted.

117 changes: 117 additions & 0 deletions cypress/e2e/patient_spec/patient_fileupload.cy.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,117 @@
import { afterEach, before, beforeEach, cy, describe, it } from "local-cypress";
import LoginPage from "../../pageobject/Login/LoginPage";
import { PatientPage } from "../../pageobject/Patient/PatientCreation";
import { PatientFileUpload } from "../../pageobject/Patient/PatientFileupload";
const loginPage = new LoginPage();
const patientPage = new PatientPage();
const patientFileUpload = new PatientFileUpload();

function runTests(testDescription, visitPatientFileUploadSection) {
describe(testDescription, () => {
const cypressAudioName = "cypress audio";
const cypressFileName = "cypress name";
const newFileName = "cypress modified name";
const patientNameOne = "Dummy Patient 3";
const patientNameTwo = "Dummy Patient 4";
const patientNameThree = "Dummy Patient 5";
before(() => {
loginPage.loginAsDisctrictAdmin();
cy.saveLocalStorage();
});

beforeEach(() => {
cy.restoreLocalStorage();
cy.clearLocalStorage(/filters--.+/);
cy.awaitUrl("/patients");
});

it("Record an Audio and download the file", () => {
// Record an audio
patientPage.visitPatient(patientNameOne);
visitPatientFileUploadSection.call(patientFileUpload);
patientFileUpload.recordAudio();
patientFileUpload.typeAudioName(cypressAudioName);
patientFileUpload.clickUploadAudioFile();
// Verify the audio file is uploaded
cy.verifyNotification("File Uploaded Successfully");
patientFileUpload.verifyUploadFilePresence(cypressAudioName);
// Verify the download of the audio file
cy.get("button").contains("DOWNLOAD").click();
cy.verifyNotification("Downloading file...");
});

it("Upload a File and archive it", () => {
// Upload the file
patientPage.visitPatient(patientNameTwo);
visitPatientFileUploadSection.call(patientFileUpload);
patientFileUpload.uploadFile();
patientFileUpload.typeFileName(cypressFileName);
patientFileUpload.clickUploadFile();
// Verify the file is uploaded
cy.verifyNotification("File Uploaded Successfully");
cy.closeNotification();
patientFileUpload.verifyUploadFilePresence(cypressFileName);
// Archive the file
patientFileUpload.archiveFile();
patientFileUpload.clickSaveArchiveFile();
cy.verifyNotification("File archived successfully");
patientFileUpload.verifyArchiveFile(cypressFileName);
});

it("User-level Based Permission for File Modification", () => {
// Login as Nurse 1
loginPage.login("dummynurse1", "Coronasafe@123");
cy.reload();
// Visit the patient details page
patientPage.visitPatient(patientNameThree);
visitPatientFileUploadSection.call(patientFileUpload);
// Upload the file
patientFileUpload.uploadFile();
patientFileUpload.typeFileName(cypressFileName);
patientFileUpload.clickUploadFile();
// Verify the file is uploaded
cy.verifyNotification("File Uploaded Successfully");
cy.closeNotification();
patientFileUpload.verifyUploadFilePresence(cypressFileName);
// Edit the file name
patientFileUpload.verifyFileRenameOption(true);
patientFileUpload.renameFile(newFileName);
patientFileUpload.clickSaveFileName();
// Verify the file name is changed
cy.verifyNotification("File name changed successfully");
cy.closeNotification();
patientFileUpload.verifyUploadFilePresence(newFileName);
// Login as Nurse 2
loginPage.login("dummynurse2", "Coronasafe@123");
cy.reload();
// Verify the file edit option is not available
patientFileUpload.verifyUploadFilePresence(newFileName);
patientFileUpload.verifyFileRenameOption(false);
// Login as District Admin
loginPage.loginAsDisctrictAdmin();
cy.reload();
// Verify the file edit option is available
patientFileUpload.verifyUploadFilePresence(newFileName);
patientFileUpload.verifyFileRenameOption(true);
patientFileUpload.renameFile(cypressFileName);
patientFileUpload.clickSaveFileName();
// Verify the file name is changed
cy.verifyNotification("File name changed successfully");
cy.closeNotification();
patientFileUpload.verifyUploadFilePresence(cypressFileName);
});

afterEach(() => {
cy.saveLocalStorage();
});
});
}

runTests(
"Patient File upload in patient details page",
patientFileUpload.clickFileUploadIcon
);
runTests(
"Patient File upload in patient consultation page",
patientFileUpload.clickFileTab
);
7 changes: 0 additions & 7 deletions cypress/e2e/patient_spec/patient_manage.cy.ts
Original file line number Diff line number Diff line change
Expand Up @@ -58,13 +58,6 @@ describe("Patient", () => {
cy.verifyNotification("Medicine prescribed");
});

it("Upload consultations file ", () => {
patientPage.visitPatient("Dummy Patient 5");
patientConsultationPage.visitFilesPage();
patientConsultationPage.uploadFile();
patientConsultationPage.clickUploadFile();
});

it("Discharge a patient", () => {
patientPage.visitPatient("Dummy Patient 6");
patientConsultationPage.clickDischargePatient();
Expand Down
2 changes: 1 addition & 1 deletion cypress/e2e/patient_spec/patient_registration.cy.ts
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ import FacilityPage from "../../pageobject/Facility/FacilityCreation";
import {
generatePhoneNumber,
generateEmergencyPhoneNumber,
} from "../../pageobject/constants";
} from "../../pageobject/utils/constants";
import PatientTransfer from "../../pageobject/Patient/PatientTransfer";
import PatientExternal from "../../pageobject/Patient/PatientExternal";
import PatientInsurance from "../../pageobject/Patient/PatientInsurance";
Expand Down
2 changes: 1 addition & 1 deletion cypress/e2e/users_spec/user_creation.cy.ts
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ import { UserCreationPage } from "../../pageobject/Users/UserCreation";
import {
generatePhoneNumber,
generateEmergencyPhoneNumber,
} from "../../pageobject/constants";
} from "../../pageobject/utils/constants";

describe("User Creation", () => {
const userPage = new UserPage();
Expand Down
18 changes: 0 additions & 18 deletions cypress/pageobject/Patient/PatientConsultation.ts
Original file line number Diff line number Diff line change
Expand Up @@ -95,24 +95,6 @@ export class PatientConsultationPage {
cy.searchAndSelectOption("#referred_from_facility", referringFacility);
}

visitFilesPage() {
cy.get("#consultation_tab_nav").scrollIntoView();
cy.get("#consultation_tab_nav").contains("Files").click();
}

uploadFile() {
cy.get("#file_upload_patient").selectFile(
"cypress/fixtures/sampleAsset.xlsx",
{ force: true }
);
}

clickUploadFile() {
cy.intercept("POST", "**/api/v1/files/").as("uploadFile");
cy.get("#upload_file_button").click();
cy.wait("@uploadFile").its("response.statusCode").should("eq", 201);
}

clickEditConsultationButton() {
cy.get("#consultation-buttons").scrollIntoView();
cy.get("button").contains("Manage Patient").click();
Expand Down
6 changes: 5 additions & 1 deletion cypress/pageobject/Patient/PatientFileupload.ts
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
import { cy } from "local-cypress";

export class PatientFileUpload {
visitPatientDetailsPage() {
clickFileUploadIcon() {
cy.get("#patient-details").click();
cy.get("#upload-patient-files").click();
}
Expand All @@ -11,6 +11,10 @@ export class PatientFileUpload {
cy.get("#consultation_audio_file").click().type(name);
}

clickFileTab() {
cy.verifyAndClickElement("#consultation_tab_nav", "Files");
}

typeFileName(name: string) {
cy.get("#consultation_file").clear();
cy.get("#consultation_file").click().type(name);
Expand Down
2 changes: 1 addition & 1 deletion cypress/pageobject/Patient/PatientPredefined.ts
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ import PatientMedicalHistory from "../../pageobject/Patient/PatientMedicalHistor
import {
generatePhoneNumber,
generateEmergencyPhoneNumber,
} from "../../pageobject/constants";
} from "../utils/constants";

class PatientPredefined {
createPatient() {
Expand Down
File renamed without changes.

0 comments on commit 12d4187

Please sign in to comment.