58 lines
2.4 KiB
JavaScript
58 lines
2.4 KiB
JavaScript
describe('Test rs recommended ka directive', function () {
|
|
var compile, scope, $httpBackend, rootScope, events, relationModel;
|
|
|
|
beforeEach(module('myitsmApp', 'templates'));
|
|
beforeEach(function () {
|
|
inject(function ($compile, $rootScope, $injector, _events_, _relationModel_) {
|
|
$httpBackend = $injector.get('$httpBackend');
|
|
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=global').respond(200);
|
|
$httpBackend.whenGET('/smartit/rest/relations/AG00123F73CF5Eqc4TSQTOQxAgc0QB').respond(200);
|
|
$httpBackend.whenPOST('/smartit/rest/globalsearch?chunk_size=15&need_totalcount=false').respond([]);
|
|
compile = $compile;
|
|
rootScope = $rootScope;
|
|
scope = $rootScope.$new();
|
|
events = _events_;
|
|
relationModel = _relationModel_;
|
|
});
|
|
});
|
|
|
|
beforeEach(function () {
|
|
scope.context = {
|
|
id: 'AG00123F73CF5Eqc4TSQTOQxAgc0QB'
|
|
};
|
|
});
|
|
|
|
function getCompiledElement() {
|
|
var element = angular.element('<rs context="context"><rs-recommended-ka></rs-recommended-ka></rs>');
|
|
var compiledElement = compile(element)(scope);
|
|
scope.$digest();
|
|
return compiledElement;
|
|
}
|
|
|
|
it('should compile', function () {
|
|
var directiveElem = getCompiledElement(),
|
|
divElem = directiveElem[0];
|
|
expect(divElem).toBeDefined();
|
|
});
|
|
|
|
it('should listen REFRESH_RECOMMENDED_KNOWLEDGE handlers on transition from search knowledge view to recommended knowledge view', function () {
|
|
var directiveElem = getCompiledElement(),
|
|
isolateScope = directiveElem.find('rs-recommended-ka').isolateScope();
|
|
|
|
relationModel.cache = {
|
|
'AG00123F73CF5Eqc4TSQTOQxAgc0QB': [{
|
|
"desc": "Test",
|
|
"type": "knowledge",
|
|
"templateName": "Problem Solution",
|
|
"id": "KBGAA5V0HI5R3ANB8BXO1PK388S9LK"
|
|
}]
|
|
}
|
|
rootScope.$broadcast(events.REFRESH_RECOMMENDED_KNOWLEDGE);
|
|
isolateScope.$digest();
|
|
expect(isolateScope.recommendedArticles[0].desc).toBe('Test');
|
|
});
|
|
}); |