Skip to content

Commit 3a16d52

Browse files
committed
[WIP] migrate MPTHeader tests
1 parent ef4e682 commit 3a16d52

File tree

2 files changed

+31
-24
lines changed

2 files changed

+31
-24
lines changed

src/containers/MPT/MPTHeader/MPTHeader.tsx

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -63,7 +63,7 @@ export const MPTHeader = (props: Props) => {
6363
const { issuer } = data!
6464

6565
return (
66-
<div className="section mpt-header-container">
66+
<div className="section mpt-header-container" data-testid="mpt-header">
6767
<div className="mpt-info-container">
6868
<div className="values">
6969
<div className="title">{t('issuer_address')}</div>
@@ -75,11 +75,11 @@ export const MPTHeader = (props: Props) => {
7575
</div>
7676
</div>
7777
<div className="mpt-bottom-container">
78-
<div className="details">
78+
<div className="details" title="details">
7979
<h2>{t('details')}</h2>
8080
<Details data={data!} />
8181
</div>
82-
<div className="settings">
82+
<div className="settings" title="settings">
8383
<h2 className="title">{t('settings')}</h2>
8484
<Settings flags={data!.flags!} />
8585
</div>
@@ -99,6 +99,7 @@ export const MPTHeader = (props: Props) => {
9999
</div>
100100
<div
101101
className="title-content"
102+
title="title-content"
102103
onMouseOver={(e) => showTooltip(e, { tokenId })}
103104
onFocus={() => {}}
104105
onMouseLeave={hideTooltip}
Lines changed: 27 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,14 @@
1-
import { mount } from 'enzyme'
1+
import {
2+
render,
3+
screen,
4+
cleanup,
5+
fireEvent,
6+
waitFor,
7+
} from '@testing-library/react'
28
import { I18nextProvider } from 'react-i18next'
39
import { BrowserRouter } from 'react-router-dom'
410
import { useQuery, QueryClientProvider } from 'react-query'
11+
import userEvent from '@testing-library/user-event'
512
import { MPTHeader } from '../MPTHeader'
613
import i18n from '../../../../i18n/testConfig'
714
import { queryClient } from '../../../shared/QueryClient'
@@ -24,8 +31,8 @@ jest.mock('react-query', () => ({
2431
const setError = jest.fn()
2532

2633
describe('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

Comments
 (0)