59 lines
		
	
	
		
			2.8 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
		
		
			
		
	
	
			59 lines
		
	
	
		
			2.8 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
|  | const processorFactory = require('./removeInjectableConstructors'); | ||
|  | const testPackage = require('../../helpers/test-package'); | ||
|  | const Dgeni = require('dgeni'); | ||
|  | 
 | ||
|  | describe('removeInjectableConstructors processor', () => { | ||
|  | 
 | ||
|  |   it('should be available on the injector', () => { | ||
|  |     const dgeni = new Dgeni([testPackage('angular-api-package')]); | ||
|  |     const injector = dgeni.configureInjector(); | ||
|  |     const processor = injector.get('removeInjectableConstructors'); | ||
|  |     expect(processor.$process).toBeDefined(); | ||
|  |     expect(processor.$runAfter).toEqual(['processing-docs', 'splitDescription']); | ||
|  |     expect(processor.$runBefore).toEqual(['docs-processed']); | ||
|  |   }); | ||
|  | 
 | ||
|  |   it('should remove undocumented constructors from docs that have an "Injectable" decorator on them', () => { | ||
|  |     const processor = processorFactory(); | ||
|  |     const docs = [ | ||
|  |       { constructorDoc: {} }, | ||
|  |       { constructorDoc: {}, decorators: [] }, | ||
|  |       { constructorDoc: {}, decorators: [{ name: 'Injectable' }] }, | ||
|  |       { constructorDoc: {}, decorators: [{ name: 'Component' }] }, | ||
|  |       { constructorDoc: {}, decorators: [{ name: 'Directive' }] }, | ||
|  |       { constructorDoc: {}, decorators: [{ name: 'Pipe' }] }, | ||
|  |       { constructorDoc: {}, decorators: [{ name: 'Other' }, { name: 'Injectable' }] }, | ||
|  |       { constructorDoc: {}, decorators: [{ name: 'Other' }] }, | ||
|  | 
 | ||
|  |       { constructorDoc: { shortDescription: 'Blah' } }, | ||
|  |       { constructorDoc: { shortDescription: 'Blah' }, decorators: [] }, | ||
|  |       { constructorDoc: { shortDescription: 'Blah' }, decorators: [{ name: 'Injectable' }] }, | ||
|  |       { constructorDoc: { shortDescription: 'Blah' }, decorators: [{ name: 'Component' }] }, | ||
|  |       { constructorDoc: { shortDescription: 'Blah' }, decorators: [{ name: 'Directive' }] }, | ||
|  |       { constructorDoc: { shortDescription: 'Blah' }, decorators: [{ name: 'Pipe' }] }, | ||
|  |       { constructorDoc: { shortDescription: 'Blah' }, decorators: [{ name: 'Other' }, { name: 'Injectable' }] }, | ||
|  |       { constructorDoc: { shortDescription: 'Blah' }, decorators: [{ name: 'Other' }] }, | ||
|  |     ]; | ||
|  | 
 | ||
|  |     processor.$process(docs); | ||
|  | 
 | ||
|  |     expect(docs[0].constructorDoc).toBeDefined(); | ||
|  |     expect(docs[1].constructorDoc).toBeDefined(); | ||
|  |     expect(docs[2].constructorDoc).toBeUndefined(); | ||
|  |     expect(docs[3].constructorDoc).toBeUndefined(); | ||
|  |     expect(docs[4].constructorDoc).toBeUndefined(); | ||
|  |     expect(docs[5].constructorDoc).toBeUndefined(); | ||
|  |     expect(docs[6].constructorDoc).toBeUndefined(); | ||
|  |     expect(docs[7].constructorDoc).toBeDefined(); | ||
|  | 
 | ||
|  |     expect(docs[8].constructorDoc).toBeDefined(); | ||
|  |     expect(docs[9].constructorDoc).toBeDefined(); | ||
|  |     expect(docs[10].constructorDoc).toBeDefined(); | ||
|  |     expect(docs[11].constructorDoc).toBeDefined(); | ||
|  |     expect(docs[12].constructorDoc).toBeDefined(); | ||
|  |     expect(docs[13].constructorDoc).toBeDefined(); | ||
|  |     expect(docs[14].constructorDoc).toBeDefined(); | ||
|  |     expect(docs[15].constructorDoc).toBeDefined(); | ||
|  |   }); | ||
|  | }); |