text: /**
   * External dependencies
   */
  import deepFreeze from 'deep-freeze';
  
  /**
   * Internal dependencies
   */
  import cartReducer from '../reducers';
  import { ACTION_TYPES as types } from '../action-types';
  
  describe( 'cartReducer', () => {
  	const originalState = deepFreeze( {
  		cartData: {
  			coupons: [],
  			items: [],
  			fees: [],
  			itemsCount: 0,
  			itemsWeight: 0,
  			needsShipping: true,
  			totals: {},
  		},
  		metaData: {},
  		errors: [
  			{
  				code: '100',
  				message: 'Test Error',
  				data: {},
  			},
  		],
  	} );
  	it( 'sets expected state when a cart is received', () => {
  		const testAction = {
  			type: types.RECEIVE_CART,
  			response: {
  				coupons: [],
  				items: [],
  				fees: [],
  				itemsCount: 0,
  				itemsWeight: 0,
  				needsShipping: true,
  				totals: {},
  			},
  		};
  		const newState = cartReducer( originalState, testAction );
  		expect( newState ).not.toBe( originalState );
  		expect( newState.cartData ).toEqual( {
  			coupons: [],
  			items: [],
  			fees: [],
  			itemsCount: 0,
  			itemsWeight: 0,
  			needsShipping: true,
  			totals: {},
  		} );
  	} );
  	it( 'sets expected state when errors are replaced', () => {
  		const testAction = {
  			type: types.REPLACE_ERRORS,
  			error: {
  				code: '101',
  				message: 'Test Error',
  				data: {},
  			},
  		};
  		const newState = cartReducer( originalState, testAction );
  		expect( newState ).not.toBe( originalState );
  		expect( newState.errors ).toEqual( [
  			{
  				code: '101',
  				message: 'Test Error',
  				data: {},
  			},
  		] );
  	} );
  	it( 'sets expected state when an error is added', () => {
  		const testAction = {
  			type: types.RECEIVE_ERROR,
  			error: {
  				code: '101',
  				message: 'Test Error',
  				data: {},
  			},
  		};
  		const newState = cartReducer( originalState, testAction );
  		expect( newState ).not.toBe( originalState );
  		expect( newState.errors ).toEqual( [
  			{
  				code: '100',
  				message: 'Test Error',
  				data: {},
  			},
  			{
  				code: '101',
  				message: 'Test Error',
  				data: {},
  			},
  		] );
  	} );
  	it( 'sets expected state when a coupon is applied', () => {
  		const testAction = {
  			type: types.APPLYING_COUPON,
  			couponCode: 'APPLYME',
  		};
  		const newState = cartReducer( originalState, testAction );
  		expect( newState ).not.toBe( originalState );
  		expect( newState.metaData.applyingCoupon ).toEqual( 'APPLYME' );
  	} );
  	it( 'sets expected state when a coupon is removed', () => {
  		const testAction = {
  			type: types.REMOVING_COUPON,
  			couponCode: 'REMOVEME',
  		};
  		const newState = cartReducer( originalState, testAction );
  		expect( newState ).not.toBe( originalState );
  		expect( newState.metaData.removingCoupon ).toEqual( 'REMOVEME' );
  	} );
  } );
  