I am trying to use Jasmine/Karma to run integration test on my angular application. We are predominantly using the kendo controls in the application. When writing a test suite to test the kendo drop down component where I am unable to get the reference of the kendo dropdown control in the spec file. Your help is highly appreciated.
TestBed.configureTestingModule({
declarations: [ XXXX,YYYY,ZZZZ],
imports:[HttpClientModule,RouterTestingModule,FormsModule ,ReactiveFormsModule ],
providers:[ WebApiService,YYYY,ZZZZ],
})
.compileComponents();
beforeEach(() => {
fixture = TestBed.createComponent(CreateCustomerComponent);
component = fixture.componentInstance;
datePipe=new DatePipe("en-US");
fixture.detectChanges();
});
it('#should the length of dropdown is greater than one',()=>{
const trigger = fixture.debugElement.query(By.css('#dropDownId')).nativeElement;
expect(trigger).toBeTruthy();
});
html
<kendo-floatinglabel
[text]="Customer"
>
<kendo-dropdownlist
[id]="'dropDownId'"
[data]="DataItems"
[textField]="'DataText'"
[valueField]="'DataValue'"
[(ngModel)]="selectedItem"
>
</kendo-dropdownlist>
</kendo-floatinglabel>
The test is breaking due to undefined value in the trigger variable.
You're missing the import of the Kendo controls module. Here's what worked for me.
Then add
InputsModule
to the list ofimports
in yourTestBed.configureTestingModule
module definition: