61 lines
2.0 KiB
JavaScript
61 lines
2.0 KiB
JavaScript
import './index.js';
|
|
|
|
describe('Item', () => {
|
|
describe('Component vnItemSearchPanel', () => {
|
|
let $element;
|
|
let controller;
|
|
|
|
beforeEach(ngModule('item'));
|
|
|
|
beforeEach(inject($componentController => {
|
|
$element = angular.element(`<div></div>`);
|
|
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([]);
|
|
});
|
|
});
|
|
});
|
|
});
|