import './index.js'; describe('Zone warehouses', () => { let $httpBackend; let $httpParamSerializer; let controller; let $element; beforeEach(ngModule('zone')); beforeEach(angular.mock.inject(($componentController, _$httpBackend_, _$httpParamSerializer_) => { $httpBackend = _$httpBackend_; $httpParamSerializer = _$httpParamSerializer_; $element = angular.element(' { it('should make an HTTP GET query and then set the data', () => { const params = {filter: {include: 'warehouse'}}; const serializedParams = $httpParamSerializer(params); const path = `Zones/1/warehouses?${serializedParams}`; $httpBackend.expect('GET', path).respond([{id: 1, name: 'Warehouse one'}]); controller.refresh(); $httpBackend.flush(); expect(controller.$.data).toBeDefined(); }); }); describe('onSave()', () => { it('should make an HTTP POST query and then call the refresh() method', () => { jest.spyOn(controller, 'refresh').mockReturnThis(); $httpBackend.expect('POST', `Zones/1/warehouses`).respond(200); controller.onSave('accept'); $httpBackend.flush(); expect(controller.selected).toBeNull(); expect(controller.isNew).toBeNull(); expect(controller.$.dialog.hide).toHaveBeenCalledWith(); expect(controller.refresh).toHaveBeenCalledWith(); }); }); describe('delete()', () => { it('should make an HTTP DELETE query and then set deleteRow property to null value', () => { controller.deleteRow = {id: 1}; controller.$.data = [{id: 1}]; $httpBackend.expect('DELETE', `Zones/1/warehouses/1`).respond(200); controller.delete(); $httpBackend.flush(); expect(controller.deleteRow).toBeNull(); }); }); });