IO-2327 importing job from available jobs table

This commit is contained in:
swtmply
2023-06-15 03:17:36 +08:00
parent 76b17cd249
commit 63f86e4627
4 changed files with 49 additions and 3 deletions

View File

@@ -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");
});
}
);

View File

@@ -171,6 +171,7 @@ export function JobsAvailableComponent({
{!isClosed && (
<>
<Button
data-cy="add-job-as-new-button"
onClick={() => addJobAsNew(record)}
disabled={record.issupplement}
>
@@ -255,6 +256,7 @@ export function JobsAvailableComponent({
columns={columns}
rowKey="id"
dataSource={availableJobs}
data-cy="available-jobs-table"
onChange={handleTableChange}
/>
</Card>

View File

@@ -3,7 +3,7 @@ import {
useApolloClient,
useLazyQuery,
useMutation,
useQuery
useQuery,
} from "@apollo/client";
import { useTreatments } from "@splitsoftware/splitio-react";
import { Col, notification, Row } from "antd";
@@ -20,7 +20,7 @@ import { logImEXEvent } from "../../firebase/firebase.utils";
import {
DELETE_AVAILABLE_JOB,
QUERY_AVAILABLE_JOBS,
QUERY_AVAILABLE_NEW_JOBS_EST_DATA_BY_PK
QUERY_AVAILABLE_NEW_JOBS_EST_DATA_BY_PK,
} from "../../graphql/available-jobs.queries";
import { INSERT_NEW_JOB, UPDATE_JOB } from "../../graphql/jobs.queries";
import { INSERT_NEW_NOTE } from "../../graphql/notes.queries";
@@ -28,7 +28,7 @@ import { SEARCH_VEHICLE_BY_VIN } from "../../graphql/vehicles.queries";
import { insertAuditTrail } from "../../redux/application/application.actions";
import {
selectBodyshop,
selectCurrentUser
selectCurrentUser,
} from "../../redux/user/user.selectors";
import confirmDialog from "../../utils/asyncConfirm";
import AuditTrailMapping from "../../utils/AuditTrailMappings";

View File

@@ -106,6 +106,7 @@ export default function OwnerFindModalComponent({
<Checkbox
checked={selectedOwner ? false : true}
onClick={() => setSelectedOwner(null)}
data-cy="new_owner_checkbox"
>
{t("owners.labels.create_new")}
</Checkbox>