tflori / angular-translator

translation module for angular
https://tflori.github.io/angular-translator/
MIT License
21 stars 6 forks source link

Can't resolve parameters for Translator: (?, ?) #56

Closed ziemerz closed 7 years ago

ziemerz commented 7 years ago

Hi,

I'm getting this error when I'm running ng test

Failed: Can't resolve all parameters for Translator: (?, ?).

I'm importing it in my test files like this: import {Translator} from 'angular-translator

And adding it as a provider like this:

  beforeEach(async( () => {

    TestBed.configureTestingModule({
      declarations: [MyComponent, MyOtherComponent],
      imports: [FormsModule, RouterTestingModule, HttpModule],
      providers: [MyService, MyOtherService, Translator]
    });

Expected behaviour No errors and tests to succeed.

Angular and CLI versions Angular: 4.3.3 Angular CLI: 1.2.4

Am I missing something here?

tflori commented 7 years ago

yes, you need to configure the whole module:

TestBed.configureTestingModule({
      imports: [
        TranslatorModule.forRoot({ loader: TranslationLoaderFake}),
      ],
      providers: [
        {provide: TranslationLoaderFake, useValue: new TranslationLoaderFake() }
      ],
    });
ziemerz commented 7 years ago

Alright, thank you!

Edit: now I'm told that I'm missing a provider for Translator: Failed: No provider for Translator!

Edit2: Never mind, the auto imports imported specific files, causing it to not find the provider. Your comment was the fix