Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import { ProductAddToBagViewController } from './ProductAddToBagViewController';
- import { diContainer, serviceNames, setConfig } from '../../service-setup/diContainer';
- import { MOCK_PRODUCT_ID, MOCK_BUID } from '../../internal/utils/testUtils/constants';
- import { Product } from '../domain/entities/Product';
- import { initialProduct } from '../constants/InitialProduct';
- import { AddToCartErrors } from '../constants/AddToCartErrors';
- const config = diContainer.get(serviceNames.config);
- config.updateConfig({
- businessUnitId: MOCK_BUID,
- currency: 'USD'
- });
- setConfig(config);
- // const mockEmitCall = jest.fn();
- // jest.spyOn(service, 'command').mockImplementation(mockEmitCall);
- const mockProducts = [Product.fromJson(initialProduct)];
- const mockProductAddedUsecase = jest.fn(async () => {
- // tslint:disable-next-line
- console.log('EXECUTE 0');
- throw new Error(AddToCartErrors.ITEM_QTY_MAXIMUM_REACHED);
- };
- );
- jest.mock('./../use-cases/ProductAddedUseCase', () => ({
- ProductAddedUseCase: function() {
- return {
- // tslint:disable-next-line
- execute: () => mockProductAddedUsecase()
- };
- }
- }));
- const controller = new ProductAddToBagViewController();
- describe('ProductAddToBagViewController', () => {
- it('should correctly initialize the controller', () => {
- expect(controller).toBeDefined();
- expect(controller.addingToCart).toBeFalsy();
- });
- it('should correctly signal that max quantity has been reached', async () => {
- console.log('TEST BEFORE', controller.disableAddToCart);
- expect(controller.disableAddToCart).toBeFalsy();
- await controller.addToBag(
- MOCK_PRODUCT_ID,
- 5,
- true,
- 1
- );
- console.log('TEST AFTER', controller.disableAddToCart);
- expect(controller.disableAddToCart).toBeTruthy();
- });
- });
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement