Я пытаюсь проверить выпадающий выбор, я могу получить nativeElement и опции, но я сталкиваюсь с ошибкой с событием отправки
, как-то, как событие не перехватывается.
HTML
<select [(ngModel)]='selectedTemplate' class="gridDropdowns" name="compareDropdown" (ngModelChange)="onTemplateChange($event)">
<option *ngFor='let option of templateDropdown' [attr.id] = "option.text" [ngValue]="option.value" >{{option.text}}</option>
</select>
компонент
public templateDropdown: Array<{ text: string, value: string }> =
[
{ text: 'Layer Summary - Final Share', value: 'final' },
{ text: 'Layer Summary - Authorized Share', value: 'authorize' },
{ text: 'Layer Summary - Quote Share', value: 'quote' },
{ text: 'PML Summary (100%)', value: 'pmlSummary' },
{ text: 'Metric Comp Summary', value: 'metricComp' }
];
onTemplateChange(event: any) {
console.log(event);
}
Компонент.spec.ts
it('Load corresponding data on Template dropdown change', async(() => {
fixture = TestBed.createComponent(CompareComponent);
component = fixture.componentInstance;
spyOn(component, 'onTemplateChange');
component.selectedTemplate= component.templateDropdown[1].value;
fixture.detectChanges();
const templateDropdown = fixture.debugElement.query(By.css('select'));
fixture.whenStable().then(() =>{
templateDropdown.nativeElement.value = 'Layer Summary - Authorized Share'
templateDropdown.nativeElement.dispatchEvent(new Event('change'));
fixture.detectChanges();
expect(component.onTemplateChange).toHaveBeenCalledWith('authorize')
})
}));
Ошибка, которую я получаю
Я беру это Ссылка