import './index'; import crudModel from 'core/mocks/crud-model'; describe('component vnZoneLocation', () => { let $scope; let controller; let $httpBackend; beforeEach(ngModule('zone')); beforeEach(inject(($componentController, $rootScope, _$httpBackend_) => { $httpBackend = _$httpBackend_; $scope = $rootScope.$new(); const $element = angular.element(``); controller = $componentController('vnZoneLocation', {$element, $scope}); controller.$.model = crudModel; controller.zone = {id: 1}; })); describe('onSearch()', () => { it('should call the applyFilter() method and then set the data', () => { controller.$.treeview = {}; controller.onSearch({}); const treeviewData = controller.$.treeview.data; expect(treeviewData).toBeDefined(); expect(treeviewData.length).toEqual(3); }); }); describe('onFetch()', () => { it('should call the applyFilter() method and then return the model data', () => { const result = controller.onFetch(); expect(result.length).toEqual(3); }); }); describe('onSelection()', () => { it('should make an HTTP POST query', () => { const item = {id: 123}; const expectedParams = {geoId: 123, isIncluded: true}; $httpBackend.expect('POST', `zones/1/toggleIsIncluded`, expectedParams).respond(200); controller.onSelection(true, item); $httpBackend.flush(); }); }); });