forked from Yara724/api
Fixed mock data
This commit is contained in:
85
src/sand-hub/sand-hub.service.spec.ts
Normal file
85
src/sand-hub/sand-hub.service.spec.ts
Normal file
@@ -0,0 +1,85 @@
|
||||
import { SandHubService } from "./sand-hub.service";
|
||||
import { ExternalInquirySettingsService } from "src/client/external-inquiry-settings.service";
|
||||
import { SandHubDetailDto } from "./dto/sand-hub.dto";
|
||||
|
||||
describe("SandHubService inquiry mocks", () => {
|
||||
const httpService = { post: jest.fn() };
|
||||
const sandHubDbService = { findOneBySandHubId: jest.fn() };
|
||||
const externalInquirySettings = {
|
||||
isInquiryLive: jest.fn(),
|
||||
getMockCompanyContext: jest.fn(),
|
||||
};
|
||||
|
||||
let service: SandHubService;
|
||||
|
||||
const userDetail = {
|
||||
nationalCodeOfInsurer: "1234567890",
|
||||
plate: {
|
||||
leftDigits: 16,
|
||||
centerAlphabet: "12",
|
||||
centerDigits: 498,
|
||||
ir: 60,
|
||||
nationalCode: "1234567890",
|
||||
},
|
||||
} as SandHubDetailDto;
|
||||
|
||||
beforeEach(() => {
|
||||
jest.clearAllMocks();
|
||||
delete process.env.CLIENT_ID;
|
||||
service = new SandHubService(
|
||||
httpService as any,
|
||||
sandHubDbService as any,
|
||||
externalInquirySettings as unknown as ExternalInquirySettingsService,
|
||||
);
|
||||
externalInquirySettings.isInquiryLive.mockResolvedValue(false);
|
||||
externalInquirySettings.getMockCompanyContext.mockResolvedValue({
|
||||
companyId: "8",
|
||||
companyName: "بیمه پارسیان",
|
||||
});
|
||||
});
|
||||
|
||||
it("returns car-body mock without HTTP when carBodyPlate is off", async () => {
|
||||
const result = await service.getTejaratCarBodyInquiry(userDetail);
|
||||
|
||||
expect(httpService.post).not.toHaveBeenCalled();
|
||||
expect(externalInquirySettings.isInquiryLive).toHaveBeenCalledWith(
|
||||
"carBodyPlate",
|
||||
undefined,
|
||||
);
|
||||
expect(result.raw?.isSuccess).toBe(true);
|
||||
expect(result.raw?.data?.companyId).toBe(8);
|
||||
expect(result.raw?.data?.companyName).toBe("بیمه پارسیان");
|
||||
expect(result.mapped.policyNumber).toBe("1405/1143-70591/220/1/0");
|
||||
expect(result.mapped.CompanyName).toBe("بیمه پارسیان");
|
||||
expect(result.mapped.companyId).toBe(8);
|
||||
expect(result.mapped.insurerNationalCode).toBe("1234567890");
|
||||
expect(result.mapped.platePartOne).toBe(16);
|
||||
expect(result.mapped.platePartThree).toBe(498);
|
||||
});
|
||||
|
||||
it("uses car-body mock shape in Tejarat helper when inquiry is off", async () => {
|
||||
const raw = await (service as any).makeTejaratRequest(
|
||||
"http://example/block-inquiry-tejarat/badane",
|
||||
{
|
||||
part1: 16,
|
||||
part2: 12,
|
||||
part3: 498,
|
||||
part4: 60,
|
||||
nationalCode: "1234567890",
|
||||
},
|
||||
"carBodyPlate",
|
||||
);
|
||||
|
||||
expect(httpService.post).not.toHaveBeenCalled();
|
||||
expect(raw?.data?.printNumber).toBe("1405/1143-70591/220/1/0");
|
||||
expect(raw?.data?.companyName).toBe("بیمه پارسیان");
|
||||
});
|
||||
|
||||
it("returns third-party plate mock for block inquiry when inquiry is off", async () => {
|
||||
const result = await service.getTejaratBlockInquiry(userDetail);
|
||||
|
||||
expect(httpService.post).not.toHaveBeenCalled();
|
||||
expect(result.mapped?.CompanyName).toBe("بیمه پارسیان");
|
||||
expect(result.mapped?.CompanyCode).toBe("8");
|
||||
});
|
||||
});
|
||||
Reference in New Issue
Block a user