import './index.js'; describe('Item', () => { describe('Component vnItemSearchPanel', () => { let $element; let controller; beforeEach(ngModule('item')); beforeEach(inject($componentController => { $element = angular.element(`
`); controller = $componentController('vnItemSearchPanel', {$element}); })); describe('filter() setter', () => { it(`should set the tags property to the scope filter with an empty array`, () => { const expectedFilter = { tags: [{}] }; controller.filter = null; expect(controller.filter).toEqual(expectedFilter); }); it(`should set the tags property to the scope filter with an array of tags`, () => { const expectedFilter = { description: 'My item', tags: [{}] }; const expectedFieldFilter = [{ info: { label: 'description', name: 'description', type: null }, name: 'description', value: 'My item' }]; controller.filter = { description: 'My item' }; expect(controller.filter).toEqual(expectedFilter); expect(controller.fieldFilters).toEqual(expectedFieldFilter); }); }); describe('removeField()', () => { it(`should remove the description property from the fieldFilters and from the scope filter`, () => { const expectedFilter = {tags: [{}]}; controller.filter = {description: 'My item'}; controller.removeField(0, 'description'); expect(controller.filter).toEqual(expectedFilter); expect(controller.fieldFilters).toEqual([]); }); }); }); });