import { Component } from '@angular/core' import { ComponentFixture, TestBed } from '@angular/core/testing' import { FormsModule, ReactiveFormsModule } from '@angular/forms' import { AbstractInputComponent } from './abstract-input' @Component({ template: `
`, imports: [FormsModule, ReactiveFormsModule], }) class TestComponent extends AbstractInputComponent { constructor() { super() } } describe(`AbstractInputComponent`, () => { let component: TestComponent let fixture: ComponentFixture beforeEach(async () => { TestBed.configureTestingModule({ providers: [], imports: [FormsModule, ReactiveFormsModule, TestComponent], }).compileComponents() fixture = TestBed.createComponent(TestComponent) component = fixture.componentInstance fixture.detectChanges() }) it('should assign uuid', () => { component.ngOnInit() expect(component.inputId).not.toBeUndefined() }) it('should support focus', () => { const focusSpy = jest.spyOn(component.inputField.nativeElement, 'focus') component.focus() expect(focusSpy).toHaveBeenCalled() }) })