import './index.js'; describe('Travel Component vnTravel', () => { let controller; beforeEach(ngModule('travel')); beforeEach(inject($componentController => { let $element = angular.element(`
`); controller = $componentController('vnTravel', {$element}); })); describe('fetchParams()', () => { it('should return a range of dates with passed scope days', () => { let params = controller.fetchParams({ scopeDays: 2 }); const shippedFrom = new Date(); shippedFrom.setHours(0, 0, 0, 0); const shippedTo = new Date(shippedFrom.getTime()); shippedTo.setDate(shippedTo.getDate() + params.scopeDays); shippedTo.setHours(23, 59, 59, 999); const expectedParams = ({ shippedFrom, scopeDays: params.scopeDays, shippedTo }); expect(params).toEqual(expectedParams); }); it('should return a default value for scope days', () => { let params = controller.fetchParams({ scopeDays: 0 }); if (!params || params.scopeDays == '0') params.scopeDays = 1; expect(params.scopeDays).toEqual(1); }); it('should return a number value in scope days', () => { let params = controller.fetchParams({ scopeDays: 2 }); if (typeof params.scopeDays === 'number') expect(params.scopeDays).toEqual(2); }); it('should throw an error when scope days is not equal a number', () => { let params = controller.fetchParams({ scopeDays: 'ScopeDayNoNumber' }); if (typeof params.scopeDays !== 'number') expect(params.scopeDays).toBe('ScopeDayNoNumber'); }); }); });