116 lines
3.9 KiB
JavaScript
116 lines
3.9 KiB
JavaScript
describe('CreateTaskV2Controller', function () {
|
|
'use strict';
|
|
|
|
var ctrl,
|
|
$controller,
|
|
$rootScope,
|
|
$scope,
|
|
configurationModel,
|
|
ticketModel,
|
|
modalInstance,
|
|
createTicketModel,
|
|
deferred,
|
|
$httpBackend,
|
|
systemAlertService;
|
|
|
|
beforeEach(module('myitsmApp'));
|
|
|
|
beforeEach(inject(function (_$controller_, _$rootScope_, _configurationModel_, _ticketModel_, _createTicketModel_, $q, $injector, _systemAlertService_) {
|
|
$controller = _$controller_;
|
|
$rootScope = _$rootScope_;
|
|
configurationModel = _configurationModel_;
|
|
ticketModel = _ticketModel_;
|
|
$scope = $rootScope.$new();
|
|
createTicketModel = _createTicketModel_;
|
|
deferred = $q.defer();
|
|
$httpBackend = $injector.get('$httpBackend');
|
|
systemAlertService = _systemAlertService_;
|
|
|
|
var getLocale = function () {
|
|
return readJSON('scripts/app/i18n/resources-locale_en.json');
|
|
};
|
|
|
|
$httpBackend.whenGET(/^scripts\/app\/i18n\/resources-locale_en.*$/).respond(getLocale());
|
|
$httpBackend.whenGET('/smartit/rest/v2/metadata?type=task').respond(200);
|
|
$httpBackend.whenGET('/smartit/rest/task/draft').respond(200);
|
|
$httpBackend.whenGET('/smartit/rest/v2/customization/screenlayout?screen=createTaskScreen').respond(200);
|
|
$httpBackend.whenGET('/smartit/rest/v2/customization/application/search?name=Galileo&phase=2&screen=createTaskScreen').respond(200);
|
|
|
|
modalInstance = {
|
|
close: jasmine.createSpy('modalInstance.close'),
|
|
dismiss: jasmine.createSpy('modalInstance.dismiss'),
|
|
result: {
|
|
then: jasmine.createSpy('modalInstance.result.then')
|
|
}
|
|
};
|
|
|
|
var parent = new TicketVO();
|
|
parent.id = "AG00123F73CF5Eqc4TSQAOExAgW0QB";
|
|
parent.type = "incident";
|
|
parent.company = {name: 'Calbro Services'};
|
|
ticketModel.taskParent = parent;
|
|
|
|
configurationModel.isServerApplicationEnabled = jasmine.createSpy('isServerApplicationEnabled').and.callFake(function () {
|
|
return function () {
|
|
return true;
|
|
};
|
|
});
|
|
|
|
ctrl = $controller('CreateTaskV2Controller', {
|
|
$scope: $scope,
|
|
$modalInstance: modalInstance
|
|
});
|
|
|
|
spyOn(systemAlertService, 'error');
|
|
}));
|
|
|
|
it('should exist', function () {
|
|
expect(ctrl).toBeDefined();
|
|
});
|
|
|
|
beforeEach(inject(function ($q, $rootScope) {
|
|
var taskData = {
|
|
id: '123',
|
|
type: 'task',
|
|
};
|
|
|
|
spyOn(ticketModel, 'getDraft').and.callFake(function () {
|
|
deferred.resolve(taskData);
|
|
return deferred.promise;
|
|
});
|
|
}));
|
|
|
|
it('should run cancel', function () {
|
|
$scope.cancel();
|
|
});
|
|
|
|
it('should run createTask', function () {
|
|
$scope.createTask();
|
|
});
|
|
|
|
it('should throw an error while creating task having summary more than 255 characters in case of success', function () {
|
|
var dummyError = "Dummy Error";
|
|
spyOn(createTicketModel, 'createTaskV2').and.callFake(function () {
|
|
deferred.resolve(dummyError);
|
|
return deferred.promise;
|
|
});
|
|
$scope.createTask();
|
|
$scope.$digest();
|
|
expect(systemAlertService.error).toHaveBeenCalled();
|
|
});
|
|
|
|
it('should throw an error while creating task having summary more than 255 characters in case of catch', function () {
|
|
var dummyError = {
|
|
'data': {
|
|
'error': 'Dummy Error'
|
|
}
|
|
};
|
|
spyOn(createTicketModel, 'createTaskV2').and.callFake(function () {
|
|
deferred.reject(dummyError);
|
|
return deferred.promise;
|
|
});
|
|
$scope.createTask();
|
|
$scope.$digest();
|
|
expect(systemAlertService.error).toHaveBeenCalled();
|
|
});
|
|
}); |