forked from Yara724/api
Fixed 3 upload documents for capture part
This commit is contained in:
95
src/helpers/claim-capture-phase.spec.ts
Normal file
95
src/helpers/claim-capture-phase.spec.ts
Normal 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");
|
||||
});
|
||||
});
|
||||
Reference in New Issue
Block a user