48 lines
1.7 KiB
JavaScript
48 lines
1.7 KiB
JavaScript
|
var testPackage = require('../../helpers/test-package');
|
||
|
var Dgeni = require('dgeni');
|
||
|
|
||
|
var getDocFromAlias, aliasMap;
|
||
|
|
||
|
describe('getDocFromAlias', function() {
|
||
|
beforeEach(function() {
|
||
|
var dgeni = new Dgeni([testPackage('links-package', true)]);
|
||
|
var injector = dgeni.configureInjector();
|
||
|
aliasMap = injector.get('aliasMap');
|
||
|
getDocFromAlias = injector.get('getDocFromAlias');
|
||
|
});
|
||
|
|
||
|
it('should return an array of docs that match the alias', function() {
|
||
|
var doc1 = {aliases: ['a', 'b', 'c']};
|
||
|
var doc2 = {aliases: ['a', 'b']};
|
||
|
var doc3 = {aliases: ['a']};
|
||
|
aliasMap.addDoc(doc1);
|
||
|
aliasMap.addDoc(doc2);
|
||
|
aliasMap.addDoc(doc3);
|
||
|
|
||
|
expect(getDocFromAlias('a')).toEqual([doc1, doc2, doc3]);
|
||
|
expect(getDocFromAlias('b')).toEqual([doc1, doc2]);
|
||
|
expect(getDocFromAlias('c')).toEqual([doc1]);
|
||
|
});
|
||
|
|
||
|
it('should return docs that match the alias and originating doc\'s area', function() {
|
||
|
var doc1 = {aliases: ['a'], area: 'api'};
|
||
|
var doc2 = {aliases: ['a'], area: 'api'};
|
||
|
var doc3 = {aliases: ['a'], area: 'other'};
|
||
|
aliasMap.addDoc(doc1);
|
||
|
aliasMap.addDoc(doc2);
|
||
|
aliasMap.addDoc(doc3);
|
||
|
|
||
|
expect(getDocFromAlias('a', {area: 'api'})).toEqual([doc1, doc2]);
|
||
|
});
|
||
|
|
||
|
it('should return docs that match the alias and originating doc\'s area and module', function() {
|
||
|
var doc1 = {aliases: ['a'], area: 'api', module: 'ng'};
|
||
|
var doc2 = {aliases: ['a'], area: 'api', module: 'ngMock'};
|
||
|
var doc3 = {aliases: ['a'], area: 'other', module: 'ng'};
|
||
|
aliasMap.addDoc(doc1);
|
||
|
aliasMap.addDoc(doc2);
|
||
|
aliasMap.addDoc(doc3);
|
||
|
|
||
|
expect(getDocFromAlias('a', {area: 'api', module: 'ng'})).toEqual([doc1]);
|
||
|
});
|
||
|
});
|