55 lines
1.7 KiB
JavaScript
55 lines
1.7 KiB
JavaScript
describe('Test potentially required field directive', function () {
|
|
'use strict';
|
|
|
|
var compile, scope, element, $httpBackend, directiveElem, divElem, metadataModel, deferred;
|
|
|
|
beforeEach(module('myitsmApp', 'templates'));
|
|
beforeEach(function () {
|
|
inject(function ($compile, $rootScope, $injector, $q) {
|
|
$httpBackend = $injector.get('$httpBackend');
|
|
deferred = $q.defer();
|
|
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/serverstates').respond(200);
|
|
$httpBackend.whenGET('/smartit/rest/sessionstatus?getLicenseKey=true').respond(200);
|
|
$httpBackend.expect('GET', '/smartit/rest/v2/metadata').respond(200, 'success');
|
|
compile = $compile;
|
|
scope = $rootScope.$new();
|
|
|
|
scope.ticket = {
|
|
type: EntityVO.TYPE_BROADCAST
|
|
};
|
|
|
|
});
|
|
});
|
|
beforeEach(function () {
|
|
inject(function (_metadataModel_) {
|
|
var metadata = new MetadataVO();
|
|
metadataModel = _metadataModel_;
|
|
metadata.requiredOOTBObjectName = ['desc'];
|
|
|
|
spyOn(metadataModel, 'getMetadataByType').and.callFake(function () {
|
|
deferred.resolve(metadata);
|
|
return deferred.promise;
|
|
});
|
|
});
|
|
});
|
|
|
|
function getCompiledElement() {
|
|
element = angular.element('<span potentially-required-field class="label__text" field-name="desc" entity="ticket" data-required="(required)"></span>');
|
|
var compiledElement = compile(element)(scope);
|
|
scope.$digest();
|
|
scope.$apply();
|
|
return compiledElement;
|
|
}
|
|
|
|
it('should compile', function() {
|
|
directiveElem = getCompiledElement();
|
|
divElem = directiveElem[0];
|
|
expect(divElem.className).toContain('required__label');
|
|
});
|
|
});
|