Hi I have problem with Enzyme how to make test on parent where child component will show only if status = 'visible'.
Here is Parent Component with Child:
function TableInfo(): ReactElement {
const [status, setStatus] = useState('')
const [data, setData] = useState()
return (
<div className="d-flex justify-content-end mx-5 my-3">
<h1>All Users</h1>
{status !== 'None' ? (
'No Data!') : (
<Table data-testid="table-info" data={data}></Table>
)}
</div>
)
}
and in test of TableInfo:
import React from 'react'
import { render, screen, act } from '@testing-library/react'
import { findByTestDataId } from '../../../../../testUtil/getById'
import { shallow } from 'enzyme';
const setup = (props = {}) => {
return shallow(<TableInfo {...props} />)
describe('table information', () => {
it('render table', () => {
const wrapper = setup({status: 'test'})
const component = findByTestDataId(wrapper, 'table-info')
expect(component.length).toBe(1)
})
}
})
与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…