Я хочу проверить свой компонент customForm, который использует компонент из другой библиотеки. Сначала я хочу проверить, что мой компонент инициализировал компонент вложенной библиотеки.Позвольте мне показать пример:
@Component({
selector: 'iris-field-editor',
template `<span>SomeMarkup</span><editorLibrary [init]="init">` ,
providers: [
{
provide: NG_VALUE_ACCESSOR,
useExisting: forwardRef(() => IrisFieldEditorComponent),
multi: true
}
],
changeDetection: ChangeDetectionStrategy.OnPush
})
export class IrisFieldEditorComponent implements OnInit,
ControlValueAccessor {
constructor() {
}
ngOnInit() {
this.init = {
height: '20px',
autoresize_min_height: '20px',
autoresize_max_height: '600px',
someOtherSettings,
setup: (editor) => {
editor.on('focus', (e) => {
//dom manipulation logic
});
editor.on('blur', (e) => {
//dom manipulation logic
});
}
}
}
}
Я пытался использовать spyOn(component.init,'setup');
expect(component.init.setup).toHaveBeenCalled()
, но получил error: <spyOn> : setup() method does not exist
. Как я могу протестировать метод, который инициализируется позже в ngOnInit?
Также я хотел протестировать редактор.on функции внутри функции установки, так что маленький совет, как я могу это сделать?