46 lines
1.3 KiB
TypeScript
46 lines
1.3 KiB
TypeScript
![]() |
// License: LGPL-3.0-or-later
|
||
|
import * as React from 'react';
|
||
|
import 'jest';
|
||
|
import SelectableTableRow from './SelectableTableRow'
|
||
|
import { ReactWrapper, mount } from 'enzyme';
|
||
|
import { connectTableRowSelectHandler, TableRowSelectHandlerContext } from './connect';
|
||
|
|
||
|
|
||
|
class TestReceivedProviderComponent extends React.Component<{m:string} & TableRowSelectHandlerContext, {}>{
|
||
|
render() {
|
||
|
return <td></td>;
|
||
|
}
|
||
|
}
|
||
|
|
||
|
const ReceivedComponent = connectTableRowSelectHandler(TestReceivedProviderComponent)
|
||
|
|
||
|
describe('SelectableTableRow', () => {
|
||
|
let providerAndRow: ReactWrapper
|
||
|
let onSelect: any;
|
||
|
beforeEach(() => {
|
||
|
onSelect = jest.fn()
|
||
|
providerAndRow = mount(<table><tbody><SelectableTableRow onSelect={onSelect}>
|
||
|
<ReceivedComponent m={"something"}/>
|
||
|
</SelectableTableRow></tbody></table>)
|
||
|
})
|
||
|
|
||
|
function getTr(): ReactWrapper {
|
||
|
return providerAndRow.find('tr')
|
||
|
}
|
||
|
|
||
|
function getProviderComponent() {
|
||
|
return providerAndRow.find('TestReceivedProviderComponent').instance() as any
|
||
|
}
|
||
|
|
||
|
it('processes the click properly', () => {
|
||
|
getTr().simulate('click')
|
||
|
|
||
|
expect(onSelect).toBeCalled()
|
||
|
})
|
||
|
|
||
|
it('sends the provider down', () => {
|
||
|
const c = getProviderComponent()
|
||
|
expect(c.props.selectHandler.onSelect).toBeTruthy()
|
||
|
expect(c.props.selectHandler.onSelect).toBe(onSelect)
|
||
|
})
|
||
|
})
|