import { NoopAnimationsModule } from '@angular/platform-browser/animations' ; import { AppNodeVersionFormComponent } from './node-version-form.component' ; import { setupTestBed , CoreModule } from '@alfresco/adf-core' ; import { TestBed } from '@angular/core/testing' ; import { TranslateModule } from '@ngx-translate/core' ; describe ( 'AppNodeVersionFormComponent' , ( ) => { let fixture ; let component ; setupTestBed ( { imports : [ TranslateModule . forRoot ( ) , CoreModule . forRoot ( ) , NoopAnimationsModule ] , declarations : [ AppNodeVersionFormComponent ] } ) ; beforeEach ( ( ) => { fixture = TestBed . createComponent ( AppNodeVersionFormComponent ) ; component = fixture . componentInstance ; fixture . detectChanges ( ) ; } ) ; it ( 'should have minor version option selected' , ( ) => { const isSelected = fixture . debugElement . nativeElement . querySelectorAll ( '.form__version--option' ) [ 0 ] . classList . contains ( 'mat-radio-checked' ) ; expect ( isSelected ) . toBe ( true ) ; } ) ; it ( 'should emit form state on changes' , ( ) => { const formData = { comment : 'some text' , version : true } ; spyOn ( component . update , 'emit' ) ; component . form . valueChanges . next ( formData ) ; expect ( component . update . emit ) . toHaveBeenCalledWith ( formData ) ; } ) ; it ( 'form should have valid state upon initialization' , ( ) => { expect ( component . form . valid ) . toBe ( true ) ; } ) ; } ) ;