29 lines
		
	
	
		
			1.0 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
		
		
			
		
	
	
			29 lines
		
	
	
		
			1.0 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
|  | const disambiguateByModule = require('./disambiguateByModule')(); | ||
|  | const moduleA = { name: 'a' }; | ||
|  | const moduleB = { name: 'b' }; | ||
|  | const docs = [ | ||
|  |   { id: 'doc1', moduleDoc: moduleA }, | ||
|  |   { id: 'doc2', moduleDoc: moduleA }, | ||
|  |   { id: 'doc3', moduleDoc: moduleB }, | ||
|  | ]; | ||
|  | 
 | ||
|  | describe('disambiguateByModule', () => { | ||
|  |   it('should return all docs if the originating doc has no moduleDoc', () => { | ||
|  |     expect(disambiguateByModule('alias', { }, docs)).toEqual(docs); | ||
|  |   }); | ||
|  | 
 | ||
|  |   it('should return all docs if no docs match the originating doc moduleDoc', () => { | ||
|  |     expect(disambiguateByModule('alias', { moduleDoc: { name: 'c' } }, docs)).toEqual(docs); | ||
|  |   }); | ||
|  | 
 | ||
|  |   it('should return only docs that match the moduleDoc of the originating doc', () => { | ||
|  |     expect(disambiguateByModule('alias', { moduleDoc: moduleA }, docs)).toEqual([ | ||
|  |       { id: 'doc1', moduleDoc: moduleA }, | ||
|  |       { id: 'doc2', moduleDoc: moduleA }, | ||
|  |     ]); | ||
|  | 
 | ||
|  |     expect(disambiguateByModule('alias', { moduleDoc: moduleB }, docs)).toEqual([ | ||
|  |       { id: 'doc3', moduleDoc: moduleB }, | ||
|  |     ]); | ||
|  |   }); | ||
|  | }); |