Así que hice un componente que toma la entrada del componente principal y emite una salida de cadena [] a su componente principal. Entonces, dentro de este componente hay un método GetDataKey() que toma una entrada de cadena y envía una acción que actualiza la tienda con algunos valores. Y luego se llama a un selector que envía solo los datos de cadena [] desde la tienda y luego lo asignamos a la variable 'ResultData'. Y después de eso emitimos la variable 'ResultData'.
export interface OptionArrayinterface { options: string[] }desplegable-buscable.component.ts
export class SearchableDropdownComponent implements OnInit, OnChanges { @Input() searchKey! : string @Output() searchResult = new EventEmitter() constructor(private store : Store< { GetOptionsStore : OptionArrayinterface }>) { } ngOnInit(): void { this.GetDataKey(this.searchKey) } ngOnChanges(changes: SimpleChanges): void { this.GetDataKey(this.searchKey) } ResultData : string[] = [] GetDataKey(SearchKey : string) { this.store.dispatch(GetOptionsKeyAction( { searchkey : SearchKey } )) this.store.select(GetOptionsSelector).subscribe( (res) => { this.ResultData = res } ) this.searchResult.emit(this.ResultData) } }desplegable-buscable.component.spec.ts
describe('SearchableDropdownComponent', () => { let component: SearchableDropdownComponent; let fixture: ComponentFixture<SearchableDropdownComponent>; const initialState : OptionArrayinterface = { options: [ "abc", "xyz", ] } beforeEach(async () => { await TestBed.configureTestingModule({ providers: [ provideMockStore( { initialState } ) ], declarations: [ SearchableDropdownComponent ] }) .compileComponents(); }); beforeEach(() => { fixture = TestBed.createComponent(SearchableDropdownComponent); component = fixture.componentInstance; fixture.detectChanges(); }); it('should create', () => { expect(component).toBeTruthy(); }); it('testing GetDataKey(SearchKey : string)', () => { // let resultdata : string[] = [] // expect(component.ResultData).toEqual(resultdata) }) });Así que estaba confundido acerca de cómo debería abordar la escritura de casos de prueba para el método 'GetDataKey ()' ya que dentro del método hay una acción y un selector que se llama.
Cualquier ayuda o consejo sería apreciado.