IO-2327 job importing tests

This commit is contained in:
swtmply
2023-06-19 07:54:49 +08:00
parent 63f86e4627
commit aa064cc573
8 changed files with 79 additions and 7 deletions

View File

@@ -57,9 +57,9 @@ describe(
cy.get("#driveable").should("have.class", "ant-switch").click();
cy.get("#towin").should("have.class", "ant-switch").click();
// cy.get('[data-cy="convert-button"]').click();
cy.get('[data-cy="convert-button"]').click();
// cy.get(".ant-notification-notice-message").contains("successfully");
cy.get(".ant-notification-notice-message").contains("successfully");
});
}
);

View File

@@ -15,9 +15,7 @@ describe(
cy.get('[data-cy="sign-in-button"]').click();
}
});
});
it("checks if there are available jobs", () => {
cy.get('[data-cy="available-jobs-table"]')
.find("tr")
.should("not.have.class", "ant-table-placeholder");
@@ -39,5 +37,69 @@ describe(
cy.url().should("include", "/manage/jobs");
});
it("imports a supplement for an existing job", () => {
cy.get('[data-cy="add-job-as-supplement"]')
.filter(":enabled")
.first()
.click();
cy.get('[data-cy="existing-jobs-table"]')
.find(".ant-table-tbody tr")
.should("not.have.class", "ant-table-placeholder")
.first()
.click();
cy.get('[data-cy="existing-jobs-ok-button"]')
.should("not.be", "disabled")
.click();
cy.get(".ant-notification-notice-message")
.contains("Job supplemented successfully.")
.click();
cy.url().should("include", "/manage/jobs");
});
it("imports a job with an existing owner", () => {
let hasOwner = false;
cy.get('[data-cy="add-job-as-new-button"]')
.filter(":enabled")
.each(($el) => {
cy.then(() => {
if (hasOwner) return false;
cy.wrap($el).click();
// check if table is not empty
cy.get('[data-cy="existing-owner-table"]', { timeout: 20000 })
.find(".ant-table-tbody tr")
.should("not.have.class", "ant-table-placeholder")
.then(($table) => {
if ($table.length === 0) {
cy.get('[data-cy="existing-owners-cancel-button"]').click();
}
cy.wrap($table).first().click();
cy.get('[data-cy="new_owner_checkbox"]').should(
"not.be",
"checked"
);
hasOwner = true;
});
});
});
cy.get('[data-cy="existing-owners-ok-button"]').click();
cy.get(".ant-notification-notice-message")
.contains("Job created successfully. Click to view.")
.click();
cy.url().should("include", "/manage/jobs");
});
}
);

View File

@@ -177,7 +177,10 @@ export function JobsAvailableComponent({
>
<PlusCircleFilled />
</Button>
<Button onClick={() => addJobAsSupp(record)}>
<Button
data-cy="add-job-as-supplement"
onClick={() => addJobAsSupp(record)}
>
<DownloadOutlined />
</Button>
</>

View File

@@ -167,6 +167,7 @@ export default function JobsFindModalComponent({
/>
</div>
)}
data-cy="existing-jobs-table"
pagination={{ position: "bottom" }}
columns={columns}
rowKey="id"

View File

@@ -77,7 +77,10 @@ export default connect(
title={t("jobs.labels.existing_jobs")}
width={"80%"}
destroyOnClose
okButtonProps={{ disabled: selectedJob ? false : true }}
okButtonProps={{
disabled: selectedJob ? false : true,
"data-cy": "existing-jobs-ok-button",
}}
{...modalProps}
>
{loading ? <LoadingSpinner /> : null}

View File

@@ -10,7 +10,7 @@ export default function LoadingSpinner({ loading = true, message, ...props }) {
size="large"
style={{
position: "relative",
alignContent: "center"
alignContent: "center",
}}
delay={200}
tip={message ? message : null}

View File

@@ -82,6 +82,7 @@ export default function OwnerFindModalComponent({
return (
<div>
<Table
data-cy="existing-owner-table"
pagination={{ position: "bottom" }}
columns={columns}
rowKey="id"

View File

@@ -42,6 +42,8 @@ export default function OwnerFindModalContainer({
<Modal
title={t("owners.labels.existing_owners")}
width={"80%"}
okButtonProps={{ "data-cy": "existing-owners-ok-button" }}
cancelButtonProps={{ "data-cy": "existing-owners-cancel-button" }}
{...modalProps}
>
{loading ? <LoadingSpinner /> : null}