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()
})
})