Using Pipe Number case karma to fail load component
When I remove the pipe the test pass
However in the app everything works fine
Here is how i use pipe in my template
{{ facture | number:'0.2':'fr' }}
or
{{ facture | currency:'EUR':'symbol':'0.2-2':'fr' }}
If I put every test passes except that I don't get the proper formatting
 {{ facture }}
Here is my test config
import { CurrencyPipe, DecimalPipe, PercentPipe } from '@angular/common';
fdescribe('MontantFacturesComponent', () => {
  const contentTitle: String = 'Choisissez les factures à payer' ;
  const facturesUpdate: String = '30 Octobre 2018 à 18:52:48' ;
  const factureTotal: String = '232,40' ;
  let component: MontantFacturesComponent;
  let fixture: ComponentFixture<MontantFacturesComponent>;
  let componentEL: DebugElement ;
  let contentTitleEL: DebugElement ;
  let nomClient: DebugElement ;
  let numClient: DebugElement ;
  let factureHead: DebugElement ;
  let factureBody: DebugElement ;
  let factureFoot: DebugElement ;
  beforeEach(async(() => {
    const comp = TestBed.configureTestingModule({
      imports: [
        NgbModule.forRoot(),
        AngularFontAwesomeModule,
        RouterModule.forRoot(<Routes>[]), 
        HttpClientModule, 
      ],
      declarations: [ 
        MontantFacturesComponent,
      ],
      providers : [
        AppService,
        {provide: APP_BASE_HREF, useValue : '/' },
        CommonModule,
        CurrencyPipe, DecimalPipe, PercentPipe
      ]
    }) ;
    // Configure the component with another set of Providers
    TestBed.overrideComponent(
        MontantFacturesComponent,
        {set: {providers: [{provide: AppService, useClass: MockAppService}]}}
    );
    comp.compileComponents();
  }));
With or without providers for pipe and commonModule nothing change 
        CommonModule,
        CurrencyPipe, DecimalPipe, PercentPipe
It looks like my whole component goes undefined when I have the pipe in my template
Uncaught Error: Unexpected module 'CommonModule' declared by the module
 'DynamicTestModule'. Please add a @Pipe/@Directive/@Component annotation.
Looks like the problem is the use of local fr 
both
{{factureTotal | currency:'EUR':'symbol':'0.2-2':'fr'}}
and
{{factureTotal | currency:'EUR':'symbol':'0.2-2':'fr-FR'}}
Fails but
{{factureTotal | currency:'EUR':'symbol':'0.2-2'}}
Is fine any idea how to make karma work
Found the problem after a week of looking
It looks like karma is not loading locals format
import { registerLocaleData } from '@angular/common';
import localeFr from '@angular/common/locales/fr';
registerLocaleData(localeFr);
this solves the problem that was causing the testComponent to crash
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With