import './index'; describe('Travel Component vnTravelSearchPanel', () => { let controller; beforeEach(ngModule('travel')); beforeEach(inject($componentController => { controller = $componentController('vnTravelSearchPanel', {$element: null}); controller.$t = () => {}; })); describe('applyFilters()', () => { it('should apply filters', async() => { controller.filter = {foo: 'bar'}; controller.model = { applyFilter: jest.fn().mockResolvedValue(), _orgData: [{id: 1}] }; controller.$state = { current: { name: 'foo' }, go: jest.fn() }; await controller.applyFilters(true); expect(controller.model.applyFilter).toHaveBeenCalledWith({}, controller.filter); expect(controller.$state.go).toHaveBeenCalledWith('travel.card.summary', {id: 1}); await controller.applyFilters(false); expect(controller.$state.go).toHaveBeenCalledWith(controller.$state.current.name, {q: JSON.stringify(controller.filter)}, {location: 'replace'}); }); }); });