SmartIT_Extensions/BMC/smart-it-full/test/app/create/create-task-v2-controller.s...

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();
});
});