Atascado, cuál es la mejor manera de hacer una prueba unitaria en un gancho que verifique si hay un carácter coincidente entre el texto de entrada y el texto de la API. Solo la letra NO coincidente estará en negrita y la letra coincidente permanecerá normal. ¿Cómo pruebo elementos que solo se muestran al escribir más de 2 caracteres? Esto es básicamente un menú desplegable.
return ( <SearchResultComponent> {(loadingData && currentInputLength) ? <SearchResultBlockShow> {getResult.map((item: SearchTerm, index: number) => ( <SearchResultBlock key={index} > <MakeBold currentResult={item.searchterm} keyword={currentInput} /> <SearchResultSpan>{"(" + item.nrResults + ")"}</SearchResultSpan> </SearchResultBlock> ))} </SearchResultBlockShow> : <SearchNoResult>No Result</SearchNoResult>} </SearchResultComponent> )
] 2
import { mount, shallow } from "enzyme"; import { Provider } from "react-redux"; import { screen } from "@testing-library/dom"; import { render } from "@testing-library/react"; import '@testing-library/jest-dom'; import { store } from "../Store"; import { MakeBold } from "./matchCharacter"; it("SearchResult Component test props", () => { const wrap = shallow( <Provider store={store}> <MakeBold currentResult={"trui"} keyword={"trui"} /> </Provider> ); expect( wrap.find({ "data-testid": "match-character-test" }). filter((x: any) => x.props('dangerouslySetInnerHTML')). prop('dangerouslySetInnerHTML'). __html ).toBe('<span>trui<span>'); });