forked from Yara724/api
96 lines
2.5 KiB
TypeScript
96 lines
2.5 KiB
TypeScript
import {
|
|
getClaimCaptureProgress,
|
|
isClaimCaptureStepComplete,
|
|
} from "./claim-capture-phase";
|
|
|
|
describe("claim-capture-phase", () => {
|
|
const baseClaim = {
|
|
vehicle: { carType: "sedan" },
|
|
damage: {
|
|
selectedParts: [{ name: "hood", side: "front", label_fa: "کاپوت" }],
|
|
},
|
|
media: { carAngles: {}, damagedParts: [] },
|
|
requiredDocuments: {},
|
|
};
|
|
|
|
it("starts in parts phase", () => {
|
|
const p = getClaimCaptureProgress(baseClaim);
|
|
expect(p.sequencePhase).toBe("parts");
|
|
expect(p.partsComplete).toBe(false);
|
|
});
|
|
|
|
it("moves to angles after all parts", () => {
|
|
const claim = {
|
|
...baseClaim,
|
|
media: {
|
|
carAngles: {},
|
|
damagedParts: [
|
|
{
|
|
name: "hood",
|
|
side: "front",
|
|
label_fa: "کاپوت",
|
|
path: "/x.jpg",
|
|
},
|
|
],
|
|
},
|
|
};
|
|
const p = getClaimCaptureProgress(claim);
|
|
expect(p.sequencePhase).toBe("angles");
|
|
expect(p.partsComplete).toBe(true);
|
|
expect(p.anglesComplete).toBe(false);
|
|
});
|
|
|
|
it("does not complete capture step with only capture-phase docs uploaded", () => {
|
|
const claim = {
|
|
...baseClaim,
|
|
media: {
|
|
carAngles: {},
|
|
damagedParts: [
|
|
{
|
|
name: "hood",
|
|
side: "front",
|
|
label_fa: "کاپوت",
|
|
path: "/x.jpg",
|
|
},
|
|
],
|
|
},
|
|
requiredDocuments: {
|
|
damaged_chassis_number: { uploaded: true },
|
|
damaged_engine_photo: { uploaded: true },
|
|
damaged_metal_plate: { uploaded: true },
|
|
},
|
|
};
|
|
expect(isClaimCaptureStepComplete(claim)).toBe(false);
|
|
expect(getClaimCaptureProgress(claim).sequencePhase).toBe("angles");
|
|
});
|
|
|
|
it("is complete only when parts, angles, and capture-phase docs are done", () => {
|
|
const claim = {
|
|
...baseClaim,
|
|
media: {
|
|
carAngles: {
|
|
front: { path: "/f.jpg" },
|
|
back: { path: "/b.jpg" },
|
|
left: { path: "/l.jpg" },
|
|
right: { path: "/r.jpg" },
|
|
},
|
|
damagedParts: [
|
|
{
|
|
name: "hood",
|
|
side: "front",
|
|
label_fa: "کاپوت",
|
|
path: "/x.jpg",
|
|
},
|
|
],
|
|
},
|
|
requiredDocuments: {
|
|
damaged_chassis_number: { uploaded: true },
|
|
damaged_engine_photo: { uploaded: true },
|
|
damaged_metal_plate: { uploaded: true },
|
|
},
|
|
};
|
|
expect(isClaimCaptureStepComplete(claim)).toBe(true);
|
|
expect(getClaimCaptureProgress(claim).sequencePhase).toBe("complete");
|
|
});
|
|
});
|