1- import { mount } from 'enzyme'
1+ import {
2+ render ,
3+ screen ,
4+ cleanup ,
5+ fireEvent ,
6+ waitFor ,
7+ } from '@testing-library/react'
28import { I18nextProvider } from 'react-i18next'
39import { BrowserRouter } from 'react-router-dom'
410import { useQuery , QueryClientProvider } from 'react-query'
11+ import userEvent from '@testing-library/user-event'
512import { MPTHeader } from '../MPTHeader'
613import i18n from '../../../../i18n/testConfig'
714import { queryClient } from '../../../shared/QueryClient'
@@ -24,8 +31,8 @@ jest.mock('react-query', () => ({
2431const setError = jest . fn ( )
2532
2633describe ( 'MPT header container' , ( ) => {
27- const createWrapper = ( ) =>
28- mount (
34+ const renderComponent = ( ) =>
35+ render (
2936 < QueryClientProvider client = { queryClient } >
3037 < BrowserRouter >
3138 < I18nextProvider i18n = { i18n } >
@@ -38,35 +45,35 @@ describe('MPT header container', () => {
3845 </ QueryClientProvider > ,
3946 )
4047
48+ afterEach ( cleanup )
49+
4150 it ( 'renders without crashing' , async ( ) => {
4251 useQuery . mockImplementation ( ( ) => ( {
4352 data,
4453 isFetching : false ,
4554 } ) )
46- const wrapper = createWrapper ( )
47- wrapper . unmount ( )
55+ renderComponent ( )
4856 } )
4957
5058 it ( 'renders MPT content' , async ( ) => {
5159 useQuery . mockImplementation ( ( ) => ( {
5260 data,
5361 isFetching : false ,
5462 } ) )
55- const wrapper = createWrapper ( )
63+ renderComponent ( )
5664
57- expect (
58- wrapper
59- . text ( )
60- . includes ( '00000F6D5186FB5C90A8112419BED54193EDC7218835C6F5' ) ,
61- ) . toBe ( true )
62- expect ( wrapper . text ( ) . includes ( 'r3SnSE9frruxwsC9qGHFiUJShda62fNFGQ' ) ) . toBe (
63- true ,
65+ // expect(screen.getByTestId('mpt-header')).toHaveTextContent(
66+ // /00000F6D5186FB5C90A8112419BED54193EDC7218835C6F5$/i,
67+ // )
68+ expect ( screen . getByTestId ( 'mpt-header' ) ) . toHaveTextContent (
69+ 'r3SnSE9frruxwsC9qGHFiUJShda62fNFGQ' ,
6470 )
65- expect ( wrapper . find ( 'Settings' ) . length ) . toBe ( 1 )
66- expect ( wrapper . find ( 'Details' ) . length ) . toBe ( 1 )
67- wrapper . find ( '.title-content' ) . first ( ) . simulate ( 'mouseOver' )
68- expect ( wrapper . find ( '.tooltip' ) . length ) . toBe ( 1 )
69- wrapper . unmount ( )
71+ expect ( screen . queryAllByTitle ( 'settings' ) ) . toHaveLength ( 1 )
72+ expect ( screen . queryAllByTitle ( 'details' ) ) . toHaveLength ( 1 )
73+ fireEvent . mouseOver ( screen . getByTitle ( 'title-content' ) )
74+ screen . getByTitle ( 'title-content' ) . focus ( )
75+ await waitFor ( ( ) => screen . getByTestId ( 'tooltip' ) )
76+ expect ( screen . queryAllByTestId ( 'tooltip' ) ) . toHaveLength ( 1 )
7077 } )
7178
7279 it ( 'renders loader' , async ( ) => {
@@ -75,8 +82,7 @@ describe('MPT header container', () => {
7582 isFetching : true ,
7683 error : { } ,
7784 } ) )
78- const wrapper = createWrapper ( )
79- expect ( wrapper . find ( 'Loader' ) . length ) . toEqual ( 1 )
80- wrapper . unmount ( )
85+ renderComponent ( )
86+ expect ( screen . queryByTitle ( 'loader' ) ) . toBeDefined ( )
8187 } )
8288} )
0 commit comments