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