Skip to content

Commit

Permalink
fix: unit tests for core factories with new error handling
Browse files Browse the repository at this point in the history
  • Loading branch information
Fifciuu committed Dec 22, 2020
1 parent 3503428 commit fc3f98c
Show file tree
Hide file tree
Showing 6 changed files with 74 additions and 40 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@ describe('[CORE - factories] useContentFactory', () => {

expect(content.value).toEqual([]);
expect(loading.value).toEqual(false);
expect(error.value).toEqual(null);
expect(error.value).toEqual({});
});

it('invokes content search', async () => {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -80,7 +80,7 @@ describe('[CORE - factories] useReviews', () => {

expect(reviews.value).toEqual([]);
expect(loading.value).toEqual(false);
expect(error.value).toEqual(null);
expect(error.value).toEqual({});
});

it('returns reviews response', async () => {
Expand All @@ -89,7 +89,7 @@ describe('[CORE - factories] useReviews', () => {
await search({});

expect(reviews.value).toEqual(searchReviewResponse);
expect(error.value).toEqual(null);
expect(error.value).toEqual({ search: null });
});

it('can submit new review', async () => {
Expand All @@ -111,7 +111,7 @@ describe('[CORE - factories] useReviews', () => {

expect(reviews.value).toEqual([]);
expect(loading.value).toEqual(false);
expect(error.value).toEqual('Error: Couldn\'t retrieve reviews');
expect(error.value.search.toString()).toEqual('Error: Couldn\'t retrieve reviews');
});

it('returns error when submit fails', async () => {
Expand All @@ -121,6 +121,6 @@ describe('[CORE - factories] useReviews', () => {

expect(reviews.value).toEqual([]);
expect(loading.value).toEqual(false);
expect(error.value).toEqual('Error: Couldn\'t submit review');
expect(error.value.addReview.toString()).toEqual('Error: Couldn\'t submit review');
});
});
Original file line number Diff line number Diff line change
Expand Up @@ -38,10 +38,12 @@ describe('[CORE - factories] useUserBillingFactory', () => {
});

it('throws error', async () => {
const err = new Error('zxczxcx');
factoryParams.addAddress.mockImplementationOnce(() => {
throw new Error;
throw err;
});
await expect(useUserBillingMethods.addAddress('' as any)).rejects.toThrow();
await useUserBillingMethods.addAddress('' as any);
expect(useUserBillingMethods.error.value.addAddress).toBe(err);
});

it('finally loading go to false', () => {
Expand All @@ -58,10 +60,12 @@ describe('[CORE - factories] useUserBillingFactory', () => {
});

it('throws error', async () => {
const err = new Error('87878dfdf');
factoryParams.deleteAddress.mockImplementationOnce(() => {
throw new Error();
throw err;
});
await expect(useUserBillingMethods.deleteAddress('' as any)).rejects.toThrow();
await useUserBillingMethods.deleteAddress('' as any);
expect(useUserBillingMethods.error.value.deleteAddress).toBe(err);
});

it('finally loading go to false', () => {
Expand All @@ -78,10 +82,12 @@ describe('[CORE - factories] useUserBillingFactory', () => {
});

it('throws error', async () => {
const err = new Error('23232323');
factoryParams.updateAddress.mockImplementationOnce(() => {
throw new Error();
throw err;
});
await expect(useUserBillingMethods.updateAddress('' as any)).rejects.toThrow();
await useUserBillingMethods.updateAddress('' as any);
expect(useUserBillingMethods.error.value.updateAddress).toBe(err);
});

it('finally loading go to false', () => {
Expand All @@ -98,10 +104,12 @@ describe('[CORE - factories] useUserBillingFactory', () => {
});

it('throws error', async () => {
const err = new Error('cvcvc');
factoryParams.load.mockImplementationOnce(() => {
throw new Error();
throw err;
});
await expect(useUserBillingMethods.load()).rejects.toThrow();
await useUserBillingMethods.load();
expect(useUserBillingMethods.error.value.load).toBe(err);
});

it('finally loading go to false', () => {
Expand All @@ -118,10 +126,12 @@ describe('[CORE - factories] useUserBillingFactory', () => {
});

it('throws error', async () => {
const err = new Error('adsd');
factoryParams.setDefaultAddress.mockImplementationOnce(() => {
throw new Error();
throw err;
});
await expect(useUserBillingMethods.setDefaultAddress('' as any)).rejects.toThrow();
await useUserBillingMethods.setDefaultAddress('' as any);
expect(useUserBillingMethods.error.value.setDefaultAddress).toBe(err);
});

it('finally loading go to false', () => {
Expand Down
36 changes: 24 additions & 12 deletions packages/core/core/__tests__/factories/useUserFactory.spec.ts
Original file line number Diff line number Diff line change
Expand Up @@ -53,10 +53,12 @@ describe('[CORE - factories] useUserFactory', () => {
});

it('throws error', async () => {
const err = new Error('test-568-08989');
factoryParams.updateUser.mockImplementationOnce(() => {
throw new Error('Error');
throw err;
});
await expect(useUserMethods.updateUser('' as any)).rejects.toThrow('Error');
await useUserMethods.updateUser('' as any);
await expect(useUserMethods.error.value.updateUser).toBe(err);
});

it('finally loading go to false', () => {
Expand All @@ -71,10 +73,12 @@ describe('[CORE - factories] useUserFactory', () => {
expect(useUserMethods.user.value).toEqual(userToRegister);
});
it('throws error', async () => {
const err = new Error('test-568-5687565');
factoryParams.register.mockImplementationOnce(() => {
throw new Error('Error');
throw err;
});
await expect(useUserMethods.register('' as any)).rejects.toThrow('Error');
await useUserMethods.register('' as any);
expect(useUserMethods.error.value.register).toBe(err);
});
it('finally loading go to false', () => {
expect(useUserMethods.loading.value).toBe(false);
Expand All @@ -90,10 +94,12 @@ describe('[CORE - factories] useUserFactory', () => {
expect(useUserMethods.user.value).toEqual(userToLogin);
});
it('throws error', async () => {
const err = new Error('test-568-232332');
factoryParams.logIn.mockImplementationOnce(() => {
throw new Error('Error');
throw err;
});
await expect(useUserMethods.login('' as any)).rejects.toThrow('Error');
await useUserMethods.login('' as any);
expect(useUserMethods.error.value.login).toBe(err);
});
it('finally loading go to false', () => {
expect(useUserMethods.loading.value).toBe(false);
Expand All @@ -106,10 +112,12 @@ describe('[CORE - factories] useUserFactory', () => {
expect(factoryParams.logOut).toHaveBeenCalled();
});
it('throws error', async () => {
const err = new Error('test-value-568-232332');
factoryParams.logOut.mockImplementationOnce(() => {
throw new Error('Error');
throw err;
});
await expect(useUserMethods.logout()).rejects.toThrow('Error');
await useUserMethods.logout();
expect(useUserMethods.error.value.logout).toBe(err);
});
it('finally loading go to false', () => {
expect(useUserMethods.loading.value).toBe(false);
Expand All @@ -124,10 +132,12 @@ describe('[CORE - factories] useUserFactory', () => {
expect(useUserMethods.user.value).toEqual(user);
});
it('throws error', async () => {
const err = new Error('test-value-568');
factoryParams.load.mockImplementationOnce(() => {
throw new Error('Error');
throw err;
});
await expect(useUserMethods.load()).rejects.toThrow('Error');
await useUserMethods.load();
expect(useUserMethods.error.value.load).toBe(err);
});
it('finally loading go to false', () => {
expect(useUserMethods.loading.value).toBe(false);
Expand All @@ -141,10 +151,12 @@ describe('[CORE - factories] useUserFactory', () => {
expect(useUserMethods.user.value).toEqual(changePasswordData);
});
it('throws error', async () => {
const err = new Error('test-value');
factoryParams.changePassword.mockImplementationOnce(() => {
throw new Error('Error');
throw err;
});
await expect(useUserMethods.changePassword({ current: null as any, new: null as any })).rejects.toThrow('Error');
await useUserMethods.changePassword({ current: null as any, new: null as any });
expect(useUserMethods.error.value.changePassword).toBe(err);
});
it('finally loading go to false', () => {
expect(useUserMethods.loading.value).toBe(false);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -35,11 +35,13 @@ describe('[CORE - factories] useUserOrderFactory', () => {
});

it('should disable loading flag on error', async () => {
const err = new Error('some-error');
params.searchOrders = jest.fn().mockImplementationOnce(() => {
throw new Error();
throw err;
});
const { search, loading, orders } = useUserOrders();
await expect(search({})).rejects.toThrow();
const { search, loading, orders, error } = useUserOrders();
await search({});
expect(error.value.search).toBe(err);

expect(loading.value).toEqual(false);
expect(orders.value).toEqual([]);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -38,10 +38,12 @@ describe('[CORE - factories] useUserShippingFactory', () => {
});

it('throws error', async () => {
const err = new Error('2323');
factoryParams.addAddress.mockImplementationOnce(() => {
throw new Error();
throw err;
});
await expect(useUserShippingMethods.addAddress('' as any)).rejects.toThrow();
await useUserShippingMethods.addAddress('' as any);
expect(useUserShippingMethods.error.value.addAddress).toBe(err);
});

it('finally loading go to false', () => {
Expand All @@ -58,10 +60,12 @@ describe('[CORE - factories] useUserShippingFactory', () => {
});

it('throws error', async () => {
const err = new Error('2323');
factoryParams.deleteAddress.mockImplementationOnce(() => {
throw new Error();
throw err;
});
await expect(useUserShippingMethods.deleteAddress('' as any)).rejects.toThrow();
await useUserShippingMethods.deleteAddress('' as any);
expect(useUserShippingMethods.error.value.deleteAddress).toBe(err);
});

it('finally loading go to false', () => {
Expand All @@ -78,10 +82,12 @@ describe('[CORE - factories] useUserShippingFactory', () => {
});

it('throws error', async () => {
const err = new Error('2323');
factoryParams.updateAddress.mockImplementationOnce(() => {
throw new Error();
throw err;
});
await expect(useUserShippingMethods.updateAddress('' as any)).rejects.toThrow();
await useUserShippingMethods.updateAddress('' as any);
expect(useUserShippingMethods.error.value.updateAddress).toBe(err);
});

it('finally loading go to false', () => {
Expand All @@ -98,10 +104,12 @@ describe('[CORE - factories] useUserShippingFactory', () => {
});

it('throws error', async () => {
const err = new Error('2323');
factoryParams.load.mockImplementationOnce(() => {
throw new Error();
throw err;
});
await expect(useUserShippingMethods.load()).rejects.toThrow();
await useUserShippingMethods.load();
expect(useUserShippingMethods.error.value.load).toBe(err);
});

it('finally loading go to false', () => {
Expand All @@ -118,10 +126,12 @@ describe('[CORE - factories] useUserShippingFactory', () => {
});

it('throws error', async () => {
const err = new Error('zxczxcx');
factoryParams.setDefaultAddress.mockImplementationOnce(() => {
throw new Error();
throw err;
});
await expect(useUserShippingMethods.setDefaultAddress('' as any)).rejects.toThrow();
await useUserShippingMethods.setDefaultAddress('' as any);
expect(useUserShippingMethods.error.value.setDefaultAddress).toBe(err);
});

it('finally loading go to false', () => {
Expand Down

0 comments on commit fc3f98c

Please sign in to comment.