forked from Yara724/api
fix: align inquiry errors and expert review rules
This commit is contained in:
@@ -168,6 +168,88 @@ describe("ExpertClaimService expert-reply pricing", () => {
|
||||
);
|
||||
});
|
||||
|
||||
it("enforces the configured total-payment cap for a V1 user-created file", async () => {
|
||||
const previousEnabled = process.env.CLAIM_V2_TOTAL_PAYMENT_CAP_ENABLED;
|
||||
process.env.CLAIM_V2_TOTAL_PAYMENT_CAP_ENABLED = "true";
|
||||
|
||||
try {
|
||||
const { service, findByIdAndUpdate } = setupSuccessfulV2Submit(
|
||||
BlameRequestType.THIRD_PARTY,
|
||||
);
|
||||
(service as any).blameRequestDbService.findById.mockResolvedValue({
|
||||
type: BlameRequestType.THIRD_PARTY,
|
||||
creationMethod: "NORMAL",
|
||||
});
|
||||
|
||||
await expect(
|
||||
service.submitExpertReplyV2(
|
||||
"v1-claim",
|
||||
{
|
||||
...validV2Reply,
|
||||
parts: [
|
||||
{
|
||||
...validV2Reply.parts[0],
|
||||
salary: "1000000",
|
||||
totalPayment: "600000000",
|
||||
},
|
||||
],
|
||||
},
|
||||
{
|
||||
sub: V2_EXPERT_ID,
|
||||
fullName: "Expert One",
|
||||
role: RoleEnum.FIELD_EXPERT,
|
||||
},
|
||||
),
|
||||
).rejects.toMatchObject({ response: { code: "PRICE_CAP_ERROR" } });
|
||||
|
||||
expect(findByIdAndUpdate).not.toHaveBeenCalled();
|
||||
} finally {
|
||||
if (previousEnabled === undefined) {
|
||||
delete process.env.CLAIM_V2_TOTAL_PAYMENT_CAP_ENABLED;
|
||||
} else {
|
||||
process.env.CLAIM_V2_TOTAL_PAYMENT_CAP_ENABLED = previousEnabled;
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
it("does not enforce the V1 cap for an expert-initiated flow", async () => {
|
||||
const previousEnabled = process.env.CLAIM_V2_TOTAL_PAYMENT_CAP_ENABLED;
|
||||
process.env.CLAIM_V2_TOTAL_PAYMENT_CAP_ENABLED = "true";
|
||||
|
||||
try {
|
||||
const { service, findByIdAndUpdate } = setupSuccessfulV2Submit(
|
||||
BlameRequestType.THIRD_PARTY,
|
||||
);
|
||||
|
||||
await service.submitExpertReplyV2(
|
||||
"v3-claim",
|
||||
{
|
||||
...validV2Reply,
|
||||
parts: [
|
||||
{
|
||||
...validV2Reply.parts[0],
|
||||
salary: "1000000",
|
||||
totalPayment: "600000000",
|
||||
},
|
||||
],
|
||||
},
|
||||
{
|
||||
sub: V2_EXPERT_ID,
|
||||
fullName: "Expert One",
|
||||
role: RoleEnum.FIELD_EXPERT,
|
||||
},
|
||||
);
|
||||
|
||||
expect(findByIdAndUpdate).toHaveBeenCalledTimes(1);
|
||||
} finally {
|
||||
if (previousEnabled === undefined) {
|
||||
delete process.env.CLAIM_V2_TOTAL_PAYMENT_CAP_ENABLED;
|
||||
} else {
|
||||
process.env.CLAIM_V2_TOTAL_PAYMENT_CAP_ENABLED = previousEnabled;
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
it("allows a repair line without daghi and removes a stray daghi payload", () => {
|
||||
const service = createService() as any;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user