Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

Problema para testar codigo assincrono

o codigo é o mesmo da aula mas o seguinte erro aparece:

TypeError: MutationObserver is not a constructor

       25 |         render(<App />);
      26 | 
    > 27 |         expect(await screen.findByText('saque')).toBeInTheDocument();
         |                                                 ^
      28 | 
import React from 'react';
import { render, screen } from '@testing-library/react';
import api from './api';
import App from './App';

jest.mock('./api')

describe('Requisições para API', () => {
    it('Exibir lista de transações através da API', async () => {
        api.listaTransacoes.mockResolvedValue([
            {
                "valor": "10",
                "transacao": "saque",
                "data": "10/08/2020",
                "id": 1
            },
            {
                "transacao": "deposito",
                "valor": "20",
                "data": "26/09/2020",
                "id": 2
            }
        ]);

        render(<App />);

        expect(await screen.findByText('saque')).toBeInTheDocument();

        expect(screen.getByTestId('transacoes').children.length).toBe(2)

    });
})

pelo que eu pesquisei, tem a ver com versoes antigas de pacotes mas eu atualizei tudo aqui e nada

1 resposta
solução!

Olá, João! Tudo bem?

Realmente, é possível que seja algum problema com as versões.

Você pode confirmar quais as versões dos seguintes pacotes?

  • react-scripts
  • @testing-library/react
  • @testing-library/jest-dom

E você tentou a solução de instalar o pacote jest-environment-jsdom-sixteen como dependência de desenvolvimento e atualizar o script de teste? Se não, aqui está:

npm install --save-dev jest-environment-jsdom-sixteen
"test": "react-scripts test --env=jest-environment-jsdom-sixteen",

Aguardo o retorno!