vendredi 22 septembre 2017

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

Please help me to resolve this issue.I have tried many things but it not resolved and there are so many things on the net but did't get the solution. My problem is there some classes that I am passing in component constructor and now it is throwing error on krma testing.

my component code

`import { Component, OnInit } from '@angular/core';
import { Observable } from 'rxjs/Observable';
import { Store } from '@ngrx/store';
import { NavbarSandbox } from '../../../navbar/sandbox/navbar.sandbox';
import { ServiceProviderResult } from '../../../shared/models/service-provider';

@Component({
  selector: 'ccw-nav-bar',
  templateUrl: './nav-bar.component.html',
  styleUrls: ['./nav-bar.component.scss']
})
export class NavBarComponent implements OnInit {
  serviceProviderList$: Observable<ServiceProviderResult[]>;
  constructor(public store: Store<any>, public navSandBox: NavbarSandbox) { }

  ngOnInit() {
    this.serviceProviderList$ = this.navSandBox.getServiceProviderListAPI(null);
  }

  changeCurrentServiceProviderChanged(selectedProviderResult: number): void {
    if (selectedProviderResult !== undefined) {
      this.navSandBox.setSelectedServiceProvider({ id: selectedProviderResult });
    }
  }

  // To get selected dropdown value
  getSelectedData(): void {
    this.navSandBox.getSelectedServiceProvider().subscribe((res) => { console.log(res); });
  }

}
`

my spec.ts ----------------

`import { async, ComponentFixture, TestBed } from '@angular/core/testing';
import { Store } from '@ngrx/store';
import { NavbarSandbox } from '../../sandbox/navbar.sandbox';
import { MenuBarComponent } from '../../components/menu-bar/menu-bar.component';
import { TitleBarComponent } from '../../components/title-bar/title-bar.component';
import { NavBarComponent } from './nav-bar.component';

describe('NavBarComponent', () => {
  let component: NavBarComponent;
  let fixture: ComponentFixture<NavBarComponent>;

  beforeEach(async(() => {
    TestBed.configureTestingModule({
      declarations: [ NavBarComponent, MenuBarComponent, TitleBarComponent ],
      providers: [NavbarSandbox, Store]
    })
    .compileComponents();
  }));

  beforeEach(() => {
    fixture = TestBed.createComponent(NavBarComponent);
    component = fixture.componentInstance;
    fixture.detectChanges();
  });

  it('should be created', () => {
    expect(component).toBeTruthy();
  });
});
`

but on karma start --browsers PhantomJS it is showing

NavBarComponent should be created Failed: Can't resolve all parameters for NavbarSandbox: (?, ?). Error: Can't resolve all parameters for NavbarSandbox: (?, ?).




Aucun commentaire:

Enregistrer un commentaire