86 lines
3.2 KiB
JavaScript
86 lines
3.2 KiB
JavaScript
import { updateClientSpecificFieldsForClaimRegistration } from '@/helpers/coverage-helper';
|
|
import coverageType from '@/constants/coverage-type';
|
|
|
|
let mockStore;
|
|
|
|
jest.mock('@/store', () => ({
|
|
useMainStore: jest.fn(() => mockStore)
|
|
}));
|
|
|
|
describe('coverage-helper.js', () => {
|
|
describe('updateClientSpecificFieldsForClaimRegistration', () => {
|
|
beforeEach(() => {
|
|
mockStore = {
|
|
order: {
|
|
parentAccountNumber: null,
|
|
insuranceCoverage: {
|
|
coverageType: coverageType.NONE
|
|
}
|
|
}
|
|
};
|
|
|
|
jest.clearAllMocks();
|
|
});
|
|
describe('custom claim registration for client 900040', () => {
|
|
test.each([
|
|
[900040, true],
|
|
[900040, false],
|
|
['900040', true],
|
|
['900040', false]
|
|
])(`Sets additionalInfo fields when parent account is %s and isITAC is %s`, async (parentAccountNumber, isITAC) => {
|
|
// Arrange
|
|
const payload = {};
|
|
mockStore.order.parentAccountNumber = parentAccountNumber;
|
|
mockStore.order.insuranceCoverage.coverageType = isITAC ? coverageType.ITAC : coverageType.Deductible;
|
|
|
|
// Act
|
|
await updateClientSpecificFieldsForClaimRegistration(payload, mockStore.order);
|
|
|
|
// Assert
|
|
expect(payload.additionalInfo).toEqual({
|
|
offeredItac: isITAC.toString(),
|
|
qualifiedForItac: isITAC.toString()
|
|
});
|
|
});
|
|
|
|
test.each([900040, '900040'])('Sets accountUserId when parent account is %s', async (parentAccountNumber) => {
|
|
// Arrange
|
|
const payload = {};
|
|
mockStore.order.parentAccountNumber = parentAccountNumber;
|
|
mockStore.order.insuranceCoverage.coverageType = coverageType.ITAC;
|
|
|
|
// Act
|
|
await updateClientSpecificFieldsForClaimRegistration(payload, mockStore.order);
|
|
|
|
// Assert
|
|
expect(payload.accountUserId).toBe('0000001');
|
|
});
|
|
});
|
|
|
|
test('Does not set additionalInfo when parent account is not 900040', async () => {
|
|
// Arrange
|
|
const payload = {};
|
|
mockStore.order.parentAccountNumber = 123456;
|
|
mockStore.order.insuranceCoverage.coverageType = coverageType.ITAC;
|
|
|
|
// Act
|
|
await updateClientSpecificFieldsForClaimRegistration(payload, mockStore.order);
|
|
|
|
// Assert
|
|
expect(payload.additionalInfo).toBeUndefined();
|
|
});
|
|
|
|
test.each([123456, '123456'])('Does not set accountUserId when parent account is not 900040 (parentAccountNumber=%s)', async (parentAccountNumber) => {
|
|
// Arrange
|
|
const payload = {};
|
|
mockStore.order.parentAccountNumber = parentAccountNumber;
|
|
mockStore.order.insuranceCoverage.coverageType = coverageType.ITAC;
|
|
|
|
// Act
|
|
await updateClientSpecificFieldsForClaimRegistration(payload, mockStore.order);
|
|
|
|
// Assert
|
|
expect(payload.accountUserId).toBeUndefined();
|
|
});
|
|
});
|
|
});
|