104 lines
3.4 KiB
JavaScript
104 lines
3.4 KiB
JavaScript
|
import './index';
|
||
|
|
||
|
describe('component vnZoneEvents', () => {
|
||
|
let $scope;
|
||
|
let controller;
|
||
|
let $httpBackend;
|
||
|
let $httpParamSerializer;
|
||
|
|
||
|
beforeEach(ngModule('zone'));
|
||
|
|
||
|
beforeEach(angular.mock.inject(($componentController, $rootScope, _$httpBackend_, _$httpParamSerializer_) => {
|
||
|
$httpBackend = _$httpBackend_;
|
||
|
$httpParamSerializer = _$httpParamSerializer_;
|
||
|
$scope = $rootScope.$new();
|
||
|
const $element = angular.element(`<vn-zone-events></vn-zone-events>`);
|
||
|
controller = $componentController('vnZoneEvents', {$element, $scope});
|
||
|
controller.$params = {id: 1};
|
||
|
}));
|
||
|
|
||
|
describe('refresh()', () => {
|
||
|
it('should set the zone and then call both getSummary() and getWarehouses()', () => {
|
||
|
$httpBackend.expectGET(`Zones/1/events`).respond({id: 1});
|
||
|
$httpBackend.expectGET(`Zones/1/exclusions`).respond({id: 1});
|
||
|
controller.refresh();
|
||
|
$httpBackend.flush();
|
||
|
|
||
|
const data = controller.$.data;
|
||
|
|
||
|
expect(data.events).toBeDefined();
|
||
|
expect(data.exclusions).toBeDefined();
|
||
|
});
|
||
|
});
|
||
|
|
||
|
describe('onSelection()', () => {
|
||
|
it('should call the edit() method', () => {
|
||
|
jest.spyOn(controller, 'edit').mockReturnThis();
|
||
|
|
||
|
const weekday = {};
|
||
|
const days = [];
|
||
|
const type = 'EventType';
|
||
|
const events = [{name: 'Event'}];
|
||
|
const exclusions = [];
|
||
|
controller.editMode = 'include';
|
||
|
controller.onSelection(days, type, weekday, events, exclusions);
|
||
|
|
||
|
expect(controller.edit).toHaveBeenCalledWith({name: 'Event'});
|
||
|
});
|
||
|
|
||
|
it('should call the create() method', () => {
|
||
|
jest.spyOn(controller, 'create').mockReturnThis();
|
||
|
|
||
|
const weekday = {dated: new Date()};
|
||
|
const days = [weekday];
|
||
|
const type = 'EventType';
|
||
|
const events = [];
|
||
|
const exclusions = [];
|
||
|
controller.editMode = 'include';
|
||
|
controller.onSelection(days, type, weekday, events, exclusions);
|
||
|
|
||
|
expect(controller.create).toHaveBeenCalledWith(type, days, weekday);
|
||
|
});
|
||
|
|
||
|
it('should call the exclusionDelete() method', () => {
|
||
|
jest.spyOn(controller, 'exclusionDelete').mockReturnThis();
|
||
|
|
||
|
const weekday = {};
|
||
|
const days = [];
|
||
|
const type = 'EventType';
|
||
|
const events = [];
|
||
|
const exclusions = [{id: 1}];
|
||
|
controller.editMode = 'delete';
|
||
|
controller.onSelection(days, type, weekday, events, exclusions);
|
||
|
|
||
|
expect(controller.exclusionDelete).toHaveBeenCalledWith(exclusions);
|
||
|
});
|
||
|
|
||
|
it('should call the exclusionCreate() method', () => {
|
||
|
jest.spyOn(controller, 'exclusionCreate').mockReturnThis();
|
||
|
|
||
|
const weekday = {};
|
||
|
const days = [{dated: new Date()}];
|
||
|
const type = 'EventType';
|
||
|
const events = [];
|
||
|
const exclusions = [];
|
||
|
controller.editMode = 'delete';
|
||
|
controller.onSelection(days, type, weekday, events, exclusions);
|
||
|
|
||
|
expect(controller.exclusionCreate).toHaveBeenCalledWith(days);
|
||
|
});
|
||
|
});
|
||
|
|
||
|
describe('onDeleteResponse()', () => {
|
||
|
it('', () => { });
|
||
|
});
|
||
|
|
||
|
describe('exclusionCreate()', () => {
|
||
|
it('', () => { });
|
||
|
});
|
||
|
|
||
|
describe('exclusionDelete()', () => {
|
||
|
it('', () => { });
|
||
|
});
|
||
|
});
|