Find a link
Default Checked Props: id
, children
, and href
propValue
(String
): Value is compared with the values of the checked props to assert a match.options
(Object
): Optional.
propToCheck
(String
): Name of prop to check against instead of the default checked props.
ReactWrapper
for an a
React element whose:
id
,children
, orhref
prop value equalspropValue
If options.propToCheck
is specified, then the method returns a
ReactWrapper
for an a
React element whose:
- value for the prop specified by
options.propToCheck
equalspropValue
import React from 'react'
import Page from 'react-page-object'
import { BrowserRouter, Link } from 'react-router-dom'
const App = () => (
<BrowserRouter>
<div>
<Link id="link-id" to="/first" />
<Link to="/second">link text</Link>
<Link to="/link-href" />
<Link className="link-class" to="/fourth" />
</div>
</BrowserRouter>
)
describe('findWrapperForClickLink', () => {
let page, wrapper
beforeEach(() => {
page = new Page(<App />)
})
afterEach(() => {
page.destroy()
})
it('finds wrapper - targeting id', () => {
wrapper = page.findWrapperForClickLink('link-id')
expect(wrapper.exists()).toBe(true)
})
it('finds wrapper - targeting children', () => {
wrapper = page.findWrapperForClickLink('link text')
expect(wrapper.exists()).toBe(true)
})
it('finds wrapper - targeting href', () => {
wrapper = page.findWrapperForClickLink('/link-href')
expect(wrapper.exists()).toBe(true)
})
it('finds wrapper - targeting non-default prop', () => {
wrapper = page.findWrapperForClickLink('link-class')
expect(wrapper.exists()).toBe(false)
wrapper = page.findWrapperForClickLink('link-class', { propToCheck: 'className' })
expect(wrapper.exists()).toBe(true)
})
})