51 lines
1.6 KiB
JavaScript
51 lines
1.6 KiB
JavaScript
import './index';
|
|
import crudModel from 'core/mocks/crud-model';
|
|
|
|
describe('component vnZoneLocation', () => {
|
|
let $scope;
|
|
let controller;
|
|
let $httpBackend;
|
|
|
|
beforeEach(ngModule('zone'));
|
|
|
|
beforeEach(inject(($componentController, $rootScope, _$httpBackend_) => {
|
|
$httpBackend = _$httpBackend_;
|
|
$scope = $rootScope.$new();
|
|
const $element = angular.element(`<vn-zone-location></vn-zone-location>`);
|
|
controller = $componentController('vnZoneLocation', {$element, $scope});
|
|
controller.$.model = crudModel;
|
|
controller.zone = {id: 1};
|
|
}));
|
|
|
|
describe('onSearch()', () => {
|
|
it('should call the applyFilter() method and then set the data', () => {
|
|
controller.$.treeview = {};
|
|
controller.onSearch({});
|
|
|
|
const treeviewData = controller.$.treeview.data;
|
|
|
|
expect(treeviewData).toBeDefined();
|
|
expect(treeviewData.length).toEqual(3);
|
|
});
|
|
});
|
|
|
|
describe('onFetch()', () => {
|
|
it('should call the applyFilter() method and then return the model data', () => {
|
|
const result = controller.onFetch();
|
|
|
|
expect(result.length).toEqual(3);
|
|
});
|
|
});
|
|
|
|
describe('onSelection()', () => {
|
|
it('should make an HTTP POST query', () => {
|
|
const item = {id: 123};
|
|
|
|
const expectedParams = {geoId: 123, isIncluded: true};
|
|
$httpBackend.expect('POST', `zones/1/toggleIsIncluded`, expectedParams).respond(200);
|
|
controller.onSelection(true, item);
|
|
$httpBackend.flush();
|
|
});
|
|
});
|
|
});
|