Skip to content

Commit

Permalink
OH2-328 | Tests | Add cypress e2e tests to cover admin/operations (#623)
Browse files Browse the repository at this point in the history
* tests:OH2-326 | Tests | Add cypress e2e tests to cover admin/diseases

* tests:OH2-328 | Tests | Add cypress e2e tests to cover admin/operations

* chore:improve cypress indexing
  • Loading branch information
SilverD3 authored Jul 19, 2024
1 parent 6cd5cc4 commit e8ce818
Show file tree
Hide file tree
Showing 5 changed files with 136 additions and 2 deletions.
Original file line number Diff line number Diff line change
@@ -0,0 +1,55 @@
/// <reference types="cypress" />

const OPERATION_STARTS_PATH = "/admin/operations";

describe("Add Operation Activity specs", () => {
it("should render the ui", () => {
cy.authenticate(OPERATION_STARTS_PATH);
cy.dataCy("activity-title").contains("Operations");
});

it("should show operation creation form", () => {
cy.dataCy("add-new-operation").click();
cy.dataCy("activity-title").contains("Add Operation");
});

it("should fail to create a new operation", () => {
cy.byId("code").type("FAIL");
cy.byId("type").click();
cy.get('.MuiAutocomplete-popper li[data-option-index="0"]').click();
cy.byId("description").type("Laparotomy");
cy.get('input[name="major"]').check();
cy.dataCy("submit-form").click();
cy.dataCy("info-box").contains("Fail");
});

it("should successfully create a new operation", () => {
cy.byId("code").clear().type("202");
cy.dataCy("submit-form").click();
cy.dataCy("dialog-info").contains(
"Operation has been created successfully!"
);
cy.dataCy("approve-dialog").click();
});

it("should redirect after operation creation", () => {
cy.dataCy("activity-title").contains("Operations");
});

it("should cancel the cancellation of the operation creation", () => {
cy.dataCy("add-new-operation").click();
cy.dataCy("cancel-form").click();
cy.dataCy("dialog-info").contains(
"Are you sure to Reset the Form? All the unsaved data will be lost."
);
cy.dataCy("close-dialog").click();
cy.dataCy("dialog-info").should("not.exist");
});

it("should cancel the operation creation", () => {
cy.dataCy("cancel-form").click();
cy.dataCy("approve-dialog").click();
cy.dataCy("dialog-info").should("not.exist");
cy.dataCy("activity-title").contains("Operations");
});
});
Original file line number Diff line number Diff line change
@@ -0,0 +1,53 @@
/// <reference types="cypress" />

const OPERATION_START_PATH = "/admin/operations";

describe("Operations Edit Activity specs", () => {
it("should render the ui", () => {
cy.authenticate(OPERATION_START_PATH);
cy.dataCy("activity-title").contains("Operations");
});

it("should show operation edit form", () => {
cy.dataCy("table-edit-action").first().click();
cy.dataCy("activity-title").contains("Edit Operation");
});

it("should fail to edit the operation", () => {
cy.byId("code").should("be.disabled");
cy.get('input[name="major"]').uncheck();
cy.get('input[name="major"]').check();
cy.byId("type").clear().blur();
cy.dataCy("submit-form").click();
cy.dataCy("dialog-info").should("not.exist");
});

it("should successfully save operation changes", () => {
cy.byId("type").click();
cy.get('.MuiAutocomplete-popper li[data-option-index="0"]').click();
cy.dataCy("submit-form").click();
cy.dataCy("dialog-info").contains("has been updated successfully!");
cy.dataCy("approve-dialog").click();
});

it("should redirect after operation update", () => {
cy.dataCy("activity-title").contains("Operations");
});

it("should cancel the cancellation of the operation creation", () => {
cy.dataCy("table-edit-action").first().click();
cy.dataCy("cancel-form").click();
cy.dataCy("dialog-info").contains(
"Are you sure to Reset the Form? All the unsaved data will be lost."
);
cy.dataCy("close-dialog").click();
cy.dataCy("dialog-info").should("not.be.visible");
});

it("should cancel the operation update", () => {
cy.dataCy("cancel-form").click();
cy.dataCy("approve-dialog").click();
cy.dataCy("dialog-info").should("not.exist");
cy.dataCy("activity-title").contains("Operations");
});
});
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
/// <reference types="cypress" />

const OPERATIONS_START_PATH = "/admin/operations";

describe("Operations Activity specs", () => {
it("should render the ui", () => {
cy.authenticate(OPERATIONS_START_PATH);
cy.dataCy("activity-title").contains("Operations");
});

it("should present the table with four rows", () => {
cy.dataCy("operations-table")
.find("table")
.then(($table) => {
const rows = $table.find("tbody tr");
expect(rows.length).equal(4);
});
});
});
3 changes: 2 additions & 1 deletion src/components/accessories/admin/operations/Operations.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,7 @@ export const Operations = () => {
};

return (
<div className={classes.operations}>
<div className={classes.operations} data-cy="operations-table">
<OperationTable
onEdit={handleEdit}
onDelete={handleDelete}
Expand All @@ -49,6 +49,7 @@ export const Operations = () => {
type="button"
variant="contained"
color="primary"
dataCy="add-new-operation"
>
{t("operation.addOperation")}
</Button>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -205,12 +205,18 @@ const OperationForm: FC<IOperationProps> = ({

<div className="operationForm__buttonSet">
<div className="submit_button">
<Button type="submit" variant="contained" disabled={isLoading}>
<Button
type="submit"
dataCy="submit-form"
variant="contained"
disabled={isLoading}
>
{submitButtonLabel}
</Button>
</div>
<div className="reset_button">
<Button
dataCy="cancel-form"
type="reset"
variant="text"
disabled={isLoading}
Expand Down

0 comments on commit e8ce818

Please sign in to comment.