He agregado la siguiente prueba de unidad de broma para representar un componente y espero que algunos de sus elementos usen "getAllByText" ya que hay varios elementos similares. Recibí un comentario de revisión para recorrer la lista de elementos si hay más de 1 y espero que cada uno de ellos sea visible. ¿Puede alguien ayudarme a modificar la prueba para recorrer todos los elementos?
it('should render seat total wrapper on small breakpoint', () => { render( <MockViewportProvider viewSize={ViewSizes.SMALL}> <SeatMapContext.Provider value={{ state: contextObj, dispatch: noop }}> <SeatMapCabinAndSeatWrapper flightSeatMapPlaneData={seatMapPlanesData} flightLegsDetails={FlightLegsDetails} onChangeLegIndex={jest.fn} selectedLegIndex={0} handleLegendButtonClick={jest.fn()} handleApplySeatSelection={handleApplySeatSelection} /> </SeatMapContext.Provider> </MockViewportProvider> ); expect(screen.getByRole('button', { name: 'Next Flight' })).toBeVisible(); expect(screen.getAllByText('$276.24')[0]).toBeVisible(); });Revise los comentarios -> "si se espera que haya más de 1 elemento, recorra la lista y espere que cada elemento sea visible si solo debe haber 1 elemento, determine cómo usar getByText".
Una ayuda rápida es muy apreciada.
Solo usa un bucle for.
for (const element of screen.getAllByText('$276.24')) { expect(element).toBeVisible(); } Para una implementación sin bucle for..of :
const list = screen.getAllByText('$276.24'); for (let i = 0; i < list.length; i++) { expect(list[i]).toBeVisible(); }O:
screen.getAllByText('$276.24').forEach((element) => { expect(element).toBeVisible(); });