1
0
forked from Yara724/api

Fixed 3 upload documents for capture part

This commit is contained in:
SepehrYahyaee
2026-05-16 11:16:08 +03:30
parent 2c851725a5
commit 7c76149c95
6 changed files with 339 additions and 91 deletions

View File

@@ -0,0 +1,95 @@
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");
});
});