From 16e05fb5e8aea5411274c01a2a71e62fdc5f06e3 Mon Sep 17 00:00:00 2001 From: UO287747 Date: Thu, 29 Feb 2024 00:17:24 +0100 Subject: [PATCH] Test fix --- webapp/src/test/Game.test.js | 32 ++++++++++++++++++-------------- 1 file changed, 18 insertions(+), 14 deletions(-) diff --git a/webapp/src/test/Game.test.js b/webapp/src/test/Game.test.js index 6b7c05dd..93a7555f 100644 --- a/webapp/src/test/Game.test.js +++ b/webapp/src/test/Game.test.js @@ -1,24 +1,28 @@ import React from 'react'; -import { render, screen, fireEvent } from '@testing-library/react'; +import { render, screen, fireEvent, waitFor } from '@testing-library/react'; import { Game } from '../components/Game'; describe('Game component', () => { - test('renders question correctly', () => { - render( {}} />); // Renderizar el componente Game + test('renders question correctly', async () => { + render( {}} />); - // Verificar que las opciones de respuesta se muestran correctamente - const options = screen.getAllByRole('button'); - expect(options).toHaveLength(5); // Verificar que hay cuatro opciones - }); + // Espera a que se cargue la pregunta + await waitFor(() => screen.getByText(/Question/i)); - test('clicking "Volver al menú" calls goTo function with correct argument', () => { - const goToMock = jest.fn(); // Crear una función simulada - render(); // Renderizar el componente Game con la función simulada + // Verifica que la pregunta se renderice correctamente + expect(screen.getByText(/Question/i)).toBeInTheDocument(); + + // Verifica que las opciones se rendericen correctamente + const options = await screen.findAllByRole('button'); + expect(options).toHaveLength(4); // Ajusta esto según la cantidad de opciones que tengas en tu componente - // Simular clic en el botón "Volver al menú" - fireEvent.click(screen.getByText('Volver al menú')); + // Simula hacer clic en la primera opción + fireEvent.click(options[0]); + + // Espera a que se cargue la próxima pregunta + await waitFor(() => screen.getByText(/Question/i)); - // Verificar que la función goTo se llamó con el argumento correcto (en este caso, 1) - expect(goToMock).toHaveBeenCalledWith(1); + // Verifica que la próxima pregunta se renderice correctamente + expect(screen.getByText(/Question/i)).toBeInTheDocument(); }); });