unit tests - getFinalDeductible and updateDeductible
This commit is contained in:
parent
5c86c0546c
commit
2f42dc1e78
1 changed files with 89 additions and 1 deletions
|
|
@ -1107,7 +1107,7 @@ describe('Store', () => {
|
||||||
|
|
||||||
describe('getFinalDeductible method', () => {
|
describe('getFinalDeductible method', () => {
|
||||||
describe('successful method call', () => {
|
describe('successful method call', () => {
|
||||||
it.only('calls get final deductible api endpoint', () => {
|
it('calls get final deductible api endpoint', () => {
|
||||||
// Arrange
|
// Arrange
|
||||||
globalMethods.callHttpClient = jest.fn().mockReturnValue(Promise.resolve({}));
|
globalMethods.callHttpClient = jest.fn().mockReturnValue(Promise.resolve({}));
|
||||||
|
|
||||||
|
|
@ -1116,10 +1116,98 @@ describe('Store', () => {
|
||||||
|
|
||||||
// Assert
|
// Assert
|
||||||
expect(globalMethods.callHttpClient).toHaveBeenCalledWith(expect.objectContaining({
|
expect(globalMethods.callHttpClient).toHaveBeenCalledWith(expect.objectContaining({
|
||||||
|
method: endpoints.FinalDeductible.method,
|
||||||
|
endpoint: endpoints.FinalDeductible.url
|
||||||
|
}));
|
||||||
|
});
|
||||||
|
it('returns expected response object', async () => {
|
||||||
|
// Arrange
|
||||||
|
const response = { deductible: getRandomInt(0, 5000) };
|
||||||
|
globalMethods.callHttpClient = jest.fn().mockReturnValue(Promise.resolve(response));
|
||||||
|
|
||||||
|
// Act
|
||||||
|
const result = store.getFinalDeductible();
|
||||||
|
|
||||||
|
// Assert
|
||||||
|
await expect(result).resolves.toBe(response);
|
||||||
|
});
|
||||||
|
it('calls api with expected payload', () => {
|
||||||
|
// Arrange
|
||||||
|
const accountNumber = getRandomString(6, 6);
|
||||||
|
const currentDeductible = getRandomInt(0, 5000);
|
||||||
|
const noCoverage = getRandomBoolean();
|
||||||
|
const endorsements = [];
|
||||||
|
const policy = {
|
||||||
|
status: 'Active', // need to change this
|
||||||
|
policyState: getRandomString(2, 2)
|
||||||
|
};
|
||||||
|
store.issConfig.parentAccountNumber = accountNumber;
|
||||||
|
store.order.currentDeductible = currentDeductible;
|
||||||
|
store.order.policy.noCoverage = noCoverage;
|
||||||
|
store.order.policy.status = policy.status;
|
||||||
|
store.order.vehicle.registration.state = policy.policyState;
|
||||||
|
globalMethods.callHttpClient = jest.fn().mockReturnValue(Promise.resolve({}));
|
||||||
|
|
||||||
|
// Act
|
||||||
|
store.getFinalDeductible();
|
||||||
|
|
||||||
|
// Assert
|
||||||
|
expect(globalMethods.callHttpClient).toHaveBeenCalledWith(({
|
||||||
method: endpoints.FinalDeductible.method,
|
method: endpoints.FinalDeductible.method,
|
||||||
endpoint: endpoints.FinalDeductible.url,
|
endpoint: endpoints.FinalDeductible.url,
|
||||||
|
payload: ({
|
||||||
|
accountNumber,
|
||||||
|
currentDeductible,
|
||||||
|
noCoverage,
|
||||||
|
endorsements,
|
||||||
|
policy: {
|
||||||
|
status: policy.status,
|
||||||
|
policyState: policy.policyState
|
||||||
|
}
|
||||||
|
})
|
||||||
|
}));
|
||||||
|
});
|
||||||
|
});
|
||||||
|
describe('unsuccessful api call', () => {
|
||||||
|
it('api call throws exception', async () => {
|
||||||
|
// Arrange
|
||||||
|
const error = 'final deductible error';
|
||||||
|
globalMethods.callHttpClient = jest.fn().mockReturnValue(Promise.reject(error));
|
||||||
|
|
||||||
|
// Act
|
||||||
|
await store.getFinalDeductible().catch((e) => {
|
||||||
|
expect(e).toEqual(error);
|
||||||
|
});
|
||||||
|
|
||||||
|
// Assert
|
||||||
|
expect(globalMethods.callHttpClient).toHaveBeenCalledWith(expect.objectContaining({
|
||||||
|
method: endpoints.FinalDeductible.method,
|
||||||
|
endpoint: endpoints.FinalDeductible.url
|
||||||
}));
|
}));
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
|
describe('updateDeductible method', () => {
|
||||||
|
it('final deductible is saved as currentDeductible in store', () => {
|
||||||
|
// Arrange
|
||||||
|
const finalDeductible = getRandomInt(0, 5000);
|
||||||
|
|
||||||
|
// Act
|
||||||
|
store.updateDeductible(finalDeductible);
|
||||||
|
|
||||||
|
// Assert
|
||||||
|
expect(store.order.currentDeductible).toEqual(finalDeductible);
|
||||||
|
});
|
||||||
|
it('null final deductible => currentDeductible in store set to null', () => {
|
||||||
|
// Arrange
|
||||||
|
const finalDeductible = null;
|
||||||
|
|
||||||
|
// Act
|
||||||
|
store.updateDeductible(finalDeductible);
|
||||||
|
|
||||||
|
// Assert
|
||||||
|
expect(store.order.currentDeductible).toEqual(finalDeductible);
|
||||||
|
});
|
||||||
|
});
|
||||||
});
|
});
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue