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