1
0
mirror of https://github.com/oceanprotocol/market.git synced 2024-12-02 05:57:29 +01:00
market/tests/unit/pages/search.test.tsx
Norby b5f6f9c9c1
displayed search results count (#312)
* displayed search results count

* updated unit test for Search component

* account for singular & plural, display message if there's no result
2021-01-13 10:15:50 +01:00

43 lines
1.2 KiB
TypeScript

import React from 'react'
import { render, fireEvent } from '@testing-library/react'
import Search from '../../../src/components/templates/Search'
import {
createHistory,
createMemorySource,
LocationProvider
} from '@reach/router'
describe('Search', () => {
it('renders without crashing', async () => {
const history = createHistory(createMemorySource('/search?text=water'))
const setTotalResults = (totalResults: number) => {
const results = totalResults
}
const { container } = render(
<LocationProvider history={history}>
<Search
location={{ search: '?text=water' } as any}
setTotalResults={(totalResults) => setTotalResults(totalResults)}
/>
</LocationProvider>
)
expect(container.firstChild).toBeInTheDocument()
// interact with search bar
const form = container.querySelector('form')
const input = container.querySelector('form input')
const button = container.querySelector('form button')
input &&
fireEvent.change(input, {
target: {
value: 'Changed Hello'
}
})
button && fireEvent.click(button)
form && fireEvent.submit(form)
})
})