Advertisement
Guest User

Untitled

a guest
Oct 14th, 2019
88
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. import { ProductAddToBagViewController } from './ProductAddToBagViewController';
  2. import { diContainer, serviceNames, setConfig } from '../../service-setup/diContainer';
  3. import { MOCK_PRODUCT_ID, MOCK_BUID } from '../../internal/utils/testUtils/constants';
  4. import { Product } from '../domain/entities/Product';
  5. import { initialProduct } from '../constants/InitialProduct';
  6. import { AddToCartErrors } from '../constants/AddToCartErrors';
  7.  
  8. const config = diContainer.get(serviceNames.config);
  9. config.updateConfig({
  10.     businessUnitId: MOCK_BUID,
  11.     currency: 'USD'
  12. });
  13. setConfig(config);
  14.  
  15. // const mockEmitCall = jest.fn();
  16. // jest.spyOn(service, 'command').mockImplementation(mockEmitCall);
  17. const mockProducts = [Product.fromJson(initialProduct)];
  18. const mockProductAddedUsecase = jest.fn(async () => {
  19.       // tslint:disable-next-line
  20.       console.log('EXECUTE 0');
  21.       throw new Error(AddToCartErrors.ITEM_QTY_MAXIMUM_REACHED);
  22.   };
  23. );
  24.  
  25. jest.mock('./../use-cases/ProductAddedUseCase', () => ({
  26.     ProductAddedUseCase: function() {
  27.         return {
  28.             // tslint:disable-next-line
  29.             execute: () => mockProductAddedUsecase()
  30.         };
  31.     }
  32. }));
  33.  
  34. const controller = new ProductAddToBagViewController();
  35.  
  36.  
  37. describe('ProductAddToBagViewController', () => {
  38.     it('should correctly initialize the controller', () => {
  39.         expect(controller).toBeDefined();
  40.         expect(controller.addingToCart).toBeFalsy();
  41.     });
  42.  
  43.     it('should correctly signal that max quantity has been reached', async () => {
  44.         console.log('TEST BEFORE', controller.disableAddToCart);
  45.         expect(controller.disableAddToCart).toBeFalsy();
  46.         await controller.addToBag(
  47.           MOCK_PRODUCT_ID,
  48.           5,
  49.           true,
  50.           1
  51.         );
  52.         console.log('TEST AFTER', controller.disableAddToCart);
  53.         expect(controller.disableAddToCart).toBeTruthy();
  54.     });
  55.   });
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement