forked from Yara724/api
Fixed Participants
This commit is contained in:
@@ -0,0 +1,130 @@
|
||||
import { BlameRequestType } from "src/Types&Enums/blame-request-management/blameRequestType.enum";
|
||||
import { RequestManagementService } from "./request-management.service";
|
||||
|
||||
describe("RequestManagementService previous policyholder routing", () => {
|
||||
const currentPlate = {
|
||||
leftDigits: "44",
|
||||
centerAlphabet: "ب",
|
||||
centerDigits: "111",
|
||||
ir: "22",
|
||||
};
|
||||
const previousPlate = {
|
||||
leftDigits: "55",
|
||||
centerAlphabet: "ج",
|
||||
centerDigits: "222",
|
||||
ir: "33",
|
||||
};
|
||||
const vehicle = {
|
||||
registrationState: "RECENTLY_TRANSFERRED",
|
||||
currentPlate,
|
||||
previousPlate,
|
||||
previousPolicyholderNationalCode: "0098765432",
|
||||
vin: "NAAM01E15HK123456",
|
||||
};
|
||||
|
||||
function participantInput(caseType: BlameRequestType) {
|
||||
return {
|
||||
driver: {
|
||||
nationalCode: "0011111111",
|
||||
birthday: "1370/01/01",
|
||||
hasDrivingLicense: false,
|
||||
},
|
||||
vehicleOwner: { sameAs: "DRIVER" },
|
||||
thirdPartyPolicyholder: {
|
||||
nationalCode: "0022222222",
|
||||
birthday: "1360/02/02",
|
||||
},
|
||||
...(caseType === BlameRequestType.CAR_BODY
|
||||
? {
|
||||
carBodyPolicyholder: {
|
||||
nationalCode: "0033333333",
|
||||
birthday: "1350/03/03",
|
||||
},
|
||||
}
|
||||
: {}),
|
||||
vehicle,
|
||||
};
|
||||
}
|
||||
|
||||
it("uses the previous code only for the previous-plate third-party lookup", async () => {
|
||||
const service = Object.create(RequestManagementService.prototype) as any;
|
||||
service.sandHubService = {
|
||||
getTejaratBlockInquiry: jest
|
||||
.fn()
|
||||
.mockResolvedValueOnce({ raw: {}, mapped: {} })
|
||||
.mockResolvedValueOnce({
|
||||
raw: {},
|
||||
mapped: {
|
||||
CompanyName: "پارسیان",
|
||||
VinNumberField: vehicle.vin,
|
||||
},
|
||||
}),
|
||||
};
|
||||
const submission = service.normalizeInquiryInput(
|
||||
BlameRequestType.THIRD_PARTY,
|
||||
participantInput(BlameRequestType.THIRD_PARTY),
|
||||
);
|
||||
|
||||
const result = await service.getThirdPartyPlateInquiry(submission);
|
||||
|
||||
expect(result.plateKind).toBe("PREVIOUS");
|
||||
expect(
|
||||
service.sandHubService.getTejaratBlockInquiry,
|
||||
).toHaveBeenNthCalledWith(
|
||||
1,
|
||||
expect.objectContaining({
|
||||
plate: currentPlate,
|
||||
nationalCodeOfInsurer: "0022222222",
|
||||
}),
|
||||
undefined,
|
||||
);
|
||||
expect(
|
||||
service.sandHubService.getTejaratBlockInquiry,
|
||||
).toHaveBeenNthCalledWith(
|
||||
2,
|
||||
expect.objectContaining({
|
||||
plate: previousPlate,
|
||||
nationalCodeOfInsurer: "0098765432",
|
||||
}),
|
||||
undefined,
|
||||
);
|
||||
});
|
||||
|
||||
it("uses the previous code only for the previous-plate car-body lookup", async () => {
|
||||
const service = Object.create(RequestManagementService.prototype) as any;
|
||||
service.sandHubService = {
|
||||
getCarBodyInquiry: jest
|
||||
.fn()
|
||||
.mockResolvedValueOnce({ raw: {}, mapped: {} })
|
||||
.mockResolvedValueOnce({
|
||||
raw: {},
|
||||
mapped: {
|
||||
policyNumber: "BODY-1",
|
||||
VinNumberField: vehicle.vin,
|
||||
},
|
||||
}),
|
||||
};
|
||||
const submission = service.normalizeInquiryInput(
|
||||
BlameRequestType.CAR_BODY,
|
||||
participantInput(BlameRequestType.CAR_BODY),
|
||||
);
|
||||
|
||||
const result = await service.getCarBodyPlateInquiry(submission);
|
||||
|
||||
expect(result.plateKind).toBe("PREVIOUS");
|
||||
expect(service.sandHubService.getCarBodyInquiry).toHaveBeenNthCalledWith(
|
||||
1,
|
||||
expect.objectContaining({
|
||||
plate: currentPlate,
|
||||
nationalCodeOfInsurer: "0033333333",
|
||||
}),
|
||||
);
|
||||
expect(service.sandHubService.getCarBodyInquiry).toHaveBeenNthCalledWith(
|
||||
2,
|
||||
expect.objectContaining({
|
||||
plate: previousPlate,
|
||||
nationalCodeOfInsurer: "0098765432",
|
||||
}),
|
||||
);
|
||||
});
|
||||
});
|
||||
Reference in New Issue
Block a user