50 lines
		
	
	
		
			2.4 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
		
		
			
		
	
	
			50 lines
		
	
	
		
			2.4 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
| 
								 | 
							
								const testPackage = require('../../helpers/test-package');
							 | 
						||
| 
								 | 
							
								const processorFactory = require('./collectPackageContentDocs');
							 | 
						||
| 
								 | 
							
								const Dgeni = require('dgeni');
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								describe('collectPackageContentDocs processor', () => {
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								  it('should be available on the injector', () => {
							 | 
						||
| 
								 | 
							
								    const dgeni = new Dgeni([testPackage('angular-api-package')]);
							 | 
						||
| 
								 | 
							
								    const injector = dgeni.configureInjector();
							 | 
						||
| 
								 | 
							
								    const processor = injector.get('collectPackageContentDocsProcessor');
							 | 
						||
| 
								 | 
							
								    expect(processor.$process).toBeDefined();
							 | 
						||
| 
								 | 
							
								    expect(processor.$runAfter).toEqual(['tags-extracted']);
							 | 
						||
| 
								 | 
							
								    expect(processor.$runBefore).toEqual(['computing-ids', 'processPackages']);
							 | 
						||
| 
								 | 
							
								  });
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								  it('should collect any `package-content` docs in the `packageContentFiles` map', () => {
							 | 
						||
| 
								 | 
							
								    const docs = [
							 | 
						||
| 
								 | 
							
								      { fileInfo: { filePath: 'some/a' }, docType: 'a', id: 'a' },
							 | 
						||
| 
								 | 
							
								      { fileInfo: { filePath: 'some/x/PACKAGE.md' }, docType: 'package-content', id: 'x' },
							 | 
						||
| 
								 | 
							
								      { fileInfo: { filePath: 'some/b' }, docType: 'b', id: 'b' },
							 | 
						||
| 
								 | 
							
								      { fileInfo: { filePath: 'some/y/PACKAGE.md' }, docType: 'package-content', id: 'y' },
							 | 
						||
| 
								 | 
							
								      { fileInfo: { filePath: 'some/z/PACKAGE.md' }, docType: 'package-content', id: 'z' },
							 | 
						||
| 
								 | 
							
								    ];
							 | 
						||
| 
								 | 
							
								    const processor = processorFactory();
							 | 
						||
| 
								 | 
							
								    processor.$process(docs);
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    expect(processor.packageContentFiles).toEqual({
							 | 
						||
| 
								 | 
							
								      'some/x': { fileInfo: { filePath: 'some/x/PACKAGE.md' }, docType: 'package-content', id: 'x' },
							 | 
						||
| 
								 | 
							
								      'some/y': { fileInfo: { filePath: 'some/y/PACKAGE.md' }, docType: 'package-content', id: 'y' },
							 | 
						||
| 
								 | 
							
								      'some/z': { fileInfo: { filePath: 'some/z/PACKAGE.md' }, docType: 'package-content', id: 'z' },
							 | 
						||
| 
								 | 
							
								    });
							 | 
						||
| 
								 | 
							
								  });
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								  it('should filter out any `package-content` docs from the collection', () => {
							 | 
						||
| 
								 | 
							
								    const docs = [
							 | 
						||
| 
								 | 
							
								      { fileInfo: { filePath: 'some/a' }, docType: 'a', id: 'a' },
							 | 
						||
| 
								 | 
							
								      { fileInfo: { filePath: 'some/x/PACKAGE.md' }, docType: 'package-content', id: 'x' },
							 | 
						||
| 
								 | 
							
								      { fileInfo: { filePath: 'some/b' }, docType: 'b', id: 'b' },
							 | 
						||
| 
								 | 
							
								      { fileInfo: { filePath: 'some/y/PACKAGE.md' }, docType: 'package-content', id: 'y' },
							 | 
						||
| 
								 | 
							
								      { fileInfo: { filePath: 'some/z/PACKAGE.md' }, docType: 'package-content', id: 'z' },
							 | 
						||
| 
								 | 
							
								    ];
							 | 
						||
| 
								 | 
							
								    const processor = processorFactory();
							 | 
						||
| 
								 | 
							
								    const newDocs = processor.$process(docs);
							 | 
						||
| 
								 | 
							
								    expect(newDocs).toEqual([
							 | 
						||
| 
								 | 
							
								      { fileInfo: { filePath: 'some/a' }, docType: 'a', id: 'a' },
							 | 
						||
| 
								 | 
							
								      { fileInfo: { filePath: 'some/b' }, docType: 'b', id: 'b' },
							 | 
						||
| 
								 | 
							
								    ]);
							 | 
						||
| 
								 | 
							
								  });
							 | 
						||
| 
								 | 
							
								});
							 |