import './index.js'; describe('Item', () => { describe('Component summary', () => { let controller; let $httpBackend; let $scope; beforeEach(ngModule('item')); beforeEach(inject(($componentController, _$httpBackend_, $rootScope) => { $httpBackend = _$httpBackend_; $scope = $rootScope.$new(); const $element = angular.element(''); controller = $componentController('vnItemSummary', {$element, $scope}); controller.item = {id: 1}; })); describe('getSummary()', () => { it('should perform a query to set summary', () => { let data = {id: 1, name: 'Gem of mind'}; $httpBackend.expect('GET', `Items/1/getSummary`).respond(200, data); controller.getSummary(); $httpBackend.flush(); expect(controller.summary).toEqual(data); }); }); describe('$onChanges()', () => { it('should call getSummary when item.id is defined', () => { jest.spyOn(controller, 'getSummary'); controller.$onChanges(); expect(controller.getSummary).toHaveBeenCalledWith(); }); }); }); });