forked from Yara724/api
65 lines
1.8 KiB
TypeScript
65 lines
1.8 KiB
TypeScript
import { plainToInstance } from "class-transformer";
|
|
import { validate } from "class-validator";
|
|
import { DaghiOption } from "src/Types&Enums/claim-request-management/daghi-option.enum";
|
|
import { TypeOfDamage } from "src/Types&Enums/claim-request-management/type-of-damage.enum";
|
|
import { SubmitExpertReplyV2Dto } from "./expert-claim-v2.dto";
|
|
|
|
describe("SubmitExpertReplyV2Dto", () => {
|
|
it("rejects a selected damaged part with blank pricing", async () => {
|
|
const dto = plainToInstance(SubmitExpertReplyV2Dto, {
|
|
description: "Damage assessment",
|
|
parts: [
|
|
{
|
|
partId: 201,
|
|
typeOfDamage: TypeOfDamage.Repair,
|
|
price: "",
|
|
salary: "",
|
|
totalPayment: "",
|
|
factorNeeded: false,
|
|
daghi: { option: DaghiOption.NO_VALUE },
|
|
},
|
|
],
|
|
});
|
|
|
|
const errors = await validate(dto);
|
|
|
|
expect(errors).not.toHaveLength(0);
|
|
});
|
|
|
|
it("accepts a replacement part without a price", async () => {
|
|
const dto = plainToInstance(SubmitExpertReplyV2Dto, {
|
|
description: "Damage assessment",
|
|
parts: [
|
|
{
|
|
partId: 201,
|
|
typeOfDamage: TypeOfDamage.Change,
|
|
salary: "0",
|
|
totalPayment: "0",
|
|
factorNeeded: false,
|
|
daghi: { option: DaghiOption.NO_VALUE },
|
|
},
|
|
],
|
|
});
|
|
|
|
expect(await validate(dto)).toHaveLength(0);
|
|
});
|
|
|
|
it("accepts a repair part without daghi", async () => {
|
|
const dto = plainToInstance(SubmitExpertReplyV2Dto, {
|
|
description: "Damage assessment",
|
|
parts: [
|
|
{
|
|
partId: 201,
|
|
typeOfDamage: TypeOfDamage.Repair,
|
|
price: "10000",
|
|
salary: "0",
|
|
totalPayment: "10000",
|
|
factorNeeded: false,
|
|
},
|
|
],
|
|
});
|
|
|
|
expect(await validate(dto)).toHaveLength(0);
|
|
});
|
|
});
|