diff --git a/client/cypress/e2e/job-import/job-import.cy.js b/client/cypress/e2e/job-import/job-import.cy.js new file mode 100644 index 000000000..8a829b95c --- /dev/null +++ b/client/cypress/e2e/job-import/job-import.cy.js @@ -0,0 +1,43 @@ +describe( + "Importing an available job", + { + defaultCommandTimeout: 5000, + }, + () => { + beforeEach(() => { + cy.visit("/manage/available"); + + cy.get("body").then(($body) => { + if ($body.text().includes("Login")) { + // Log in + cy.get('[data-cy="username"]').type("john@imex.dev"); + cy.get('[data-cy="password"]').type("john123"); + 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"); + }); + + it("creates a new owner record for the job", () => { + cy.get('[data-cy="add-job-as-new-button"]') + .filter(":enabled") + .first() + .click(); + + cy.get('[data-cy="new_owner_checkbox"]').should("be.checked"); + + cy.get(".ant-modal-content").find("button").contains("OK").click(); + + cy.get(".ant-notification-notice-message") + .contains("Job created successfully. Click to view.") + .click(); + + cy.url().should("include", "/manage/jobs"); + }); + } +); diff --git a/client/src/components/jobs-available-table/jobs-available-table.component.jsx b/client/src/components/jobs-available-table/jobs-available-table.component.jsx index 508eddc6f..513e795e0 100644 --- a/client/src/components/jobs-available-table/jobs-available-table.component.jsx +++ b/client/src/components/jobs-available-table/jobs-available-table.component.jsx @@ -171,6 +171,7 @@ export function JobsAvailableComponent({ {!isClosed && ( <>