forked from Yara724/api
72 lines
2.4 KiB
TypeScript
72 lines
2.4 KiB
TypeScript
import { ExpertInitiatedClaimMirrorController } from "./expert-initiated-claim.mirror.controller";
|
|
import { FileReviewerBlameV4Controller } from "../request-management/file-reviewer-blame-v4.controller";
|
|
import { FileReviewerBlameV5Controller } from "../request-management/file-reviewer-blame-v5.controller";
|
|
|
|
describe("owner insurer approval mirror endpoints", () => {
|
|
const claimRequestId = "507f1f77bcf86cd799439011";
|
|
const actor = { sub: "507f1f77bcf86cd799439012" };
|
|
const sign = {
|
|
filename: "sign.png",
|
|
path: "/tmp/sign.png",
|
|
} as Express.Multer.File;
|
|
|
|
const createDependencies = () => {
|
|
const claimRequestManagementService = {
|
|
submitOwnerInsurerApprovalSignV2: jest
|
|
.fn()
|
|
.mockResolvedValue({ accepted: true }),
|
|
};
|
|
const mediaPolicyService = {
|
|
assertForClaim: jest.fn().mockResolvedValue(undefined),
|
|
};
|
|
return { claimRequestManagementService, mediaPolicyService };
|
|
};
|
|
|
|
it.each([
|
|
[
|
|
"expert-initiated",
|
|
(deps: ReturnType<typeof createDependencies>) =>
|
|
new ExpertInitiatedClaimMirrorController(
|
|
deps.claimRequestManagementService as never,
|
|
deps.mediaPolicyService as never,
|
|
),
|
|
],
|
|
[
|
|
"V4 file-reviewer",
|
|
(deps: ReturnType<typeof createDependencies>) =>
|
|
new FileReviewerBlameV4Controller(
|
|
{} as never,
|
|
deps.claimRequestManagementService as never,
|
|
deps.mediaPolicyService as never,
|
|
),
|
|
],
|
|
[
|
|
"V5 file-reviewer",
|
|
(deps: ReturnType<typeof createDependencies>) =>
|
|
new FileReviewerBlameV5Controller(
|
|
{} as never,
|
|
deps.claimRequestManagementService as never,
|
|
deps.mediaPolicyService as never,
|
|
),
|
|
],
|
|
])(
|
|
"forwards a signature without branchId through the %s endpoint",
|
|
async (_name, createController) => {
|
|
const dependencies = createDependencies();
|
|
const controller = createController(dependencies) as {
|
|
submitOwnerSign: (...args: any[]) => Promise<unknown>;
|
|
};
|
|
|
|
await controller.submitOwnerSign(claimRequestId, "true", actor, sign);
|
|
|
|
expect(
|
|
dependencies.mediaPolicyService.assertForClaim,
|
|
).toHaveBeenCalledWith(sign, claimRequestId, "image");
|
|
expect(
|
|
dependencies.claimRequestManagementService
|
|
.submitOwnerInsurerApprovalSignV2,
|
|
).toHaveBeenCalledWith(claimRequestId, true, sign, actor.sub, actor);
|
|
},
|
|
);
|
|
});
|