Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

ng2-translate: Cannot read property 'subscribe' of undefined at TranslatePipe.transform

I use ng2-translate in my Angular 5 project and I am trying to create a unit test for one component. I always import TranslateModule.forRoot( *...* ) in my Tests and the tests will work using the translate pipe in my views.

In two cases though, the above error is thrown, during unit tests: I don't see any difference to the other working tests.

× should create (44ms) TypeError: Cannot read property 'subscribe' of undefined at TranslatePipe.transform (webpack:///./node_modules/ng2-translate/src/translate.pipe.js?:74:75) at Object.eval [as updateRenderer] (ng:///DynamicTestModule/MyComponent.ngfactory.js:127:70) at Object.debugUpdateRenderer [as updateRenderer] (webpack:///./node_modules/@angular/core/esm5/core.js?:14951:21) at checkAndUpdateView (webpack:///./node_modules/@angular/core/esm5/core.js?:14065:14)

Any reasons why this could happen? I don't use TranslateService, but I use the pipe in the template. Did anyone encounter the same problem?

like image 957
Rias Avatar asked Apr 27 '18 17:04

Rias


1 Answers

I had the same issue and I added to TranslateService mock class:

public onLangChange: EventEmitter<any> = new EventEmitter(); public onTranslationChange: EventEmitter<any> = new EventEmitter(); public onDefaultLangChange: EventEmitter<any> = new EventEmitter();

like image 59
Agata Avatar answered Nov 05 '22 07:11

Agata