Add tests for ServiceParser
This commit is contained in:
		
							
								
								
									
										80
									
								
								tests/service.parser.spec.ts
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										80
									
								
								tests/service.parser.spec.ts
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,80 @@ | ||||
| import { expect } from 'chai'; | ||||
|  | ||||
| import { ServiceParser } from '../src/parsers/service.parser'; | ||||
|  | ||||
| class TestServiceParser extends ServiceParser { | ||||
|  | ||||
| 	public extractTranslateServiceVar(contents: string): string { | ||||
| 		return this._extractTranslateServiceVar(contents); | ||||
| 	} | ||||
|  | ||||
| } | ||||
|  | ||||
| describe('ServiceParser', () => { | ||||
|  | ||||
| 	const componentFilename: string = 'test.component.ts'; | ||||
|  | ||||
| 	let parser: TestServiceParser; | ||||
|  | ||||
| 	beforeEach(() => { | ||||
| 		parser = new TestServiceParser(); | ||||
| 	}); | ||||
|  | ||||
| 	it('should extract variable used for TranslateService', () => { | ||||
| 		const contents = ` | ||||
| 			@Component({ }) | ||||
| 			export class AppComponent { | ||||
| 				public constructor( | ||||
| 					_serviceA: ServiceA, | ||||
| 					public _serviceB: ServiceB, | ||||
| 					protected _translateService: TranslateService | ||||
| 			) { } | ||||
| 		`; | ||||
| 		const messages = parser.extractTranslateServiceVar(contents); | ||||
| 		expect(messages).to.equal('_translateService'); | ||||
| 	}); | ||||
|  | ||||
| 	it('should extract string passed to translateService.get()', () => { | ||||
| 		const contents = ` | ||||
| 			@Component({ }) | ||||
| 			export class AppComponent { | ||||
| 				public constructor(protected _translateService: TranslateService) { } | ||||
| 				public test() { | ||||
| 					this._translateService.get('Hello World'); | ||||
| 				} | ||||
| 		`; | ||||
| 		const messages = parser.process(componentFilename, contents); | ||||
| 		expect(messages).to.deep.equal(['Hello World']); | ||||
| 	}); | ||||
|  | ||||
| 	it('should extract string passed to translateService.instant()', () => { | ||||
| 		const contents = ` | ||||
| 			@Component({ }) | ||||
| 			export class AppComponent { | ||||
| 				public constructor(protected _translateService: TranslateService) { } | ||||
| 				public test() { | ||||
| 					this._translateService.instant('Hello World'); | ||||
| 				} | ||||
| 		`; | ||||
| 		const messages = parser.process(componentFilename, contents); | ||||
| 		expect(messages).to.deep.equal(['Hello World']); | ||||
| 	}); | ||||
|  | ||||
| 	it('should not extract string passed to get() or instant() methods of other services', () => { | ||||
| 		const contents = ` | ||||
| 			@Component({ }) | ||||
| 			export class AppComponent { | ||||
| 				public constructor( | ||||
| 					protected _translateService: TranslateService, | ||||
| 					protected _otherService: OtherService | ||||
| 				) { } | ||||
| 				public test() { | ||||
| 					this._otherService.get('Hello World'); | ||||
| 					this._otherService.instant('Hi there'); | ||||
| 				} | ||||
| 		`; | ||||
| 		const messages = parser.process(componentFilename, contents); | ||||
| 		expect(messages).to.deep.equal([]); | ||||
| 	}); | ||||
|  | ||||
| }); | ||||
		Reference in New Issue
	
	Block a user