@navinc/base-react-components
Version:
Nav's Pattern Library
32 lines (28 loc) • 923 B
JavaScript
import React from 'react'
import { Toggle } from './sba-resources.js'
import { render, fireEvent, waitFor } from '../tests/with-app-context.js'
import { track } from '@navinc/utils'
import { Button } from './button'
jest.mock('@navinc/utils/cjs/track.js', () => jest.fn())
describe('Toggle', () => {
it('calls track when toggle is clicked', (done) => {
const { getByText } = render(
<Toggle trackingContext={{ context: 'content' }}>
{({ isOpen, toggle }) => <Button onClick={toggle}>Content</Button>}
</Toggle>
)
fireEvent.click(getByText(/content/i))
waitFor(() => {
expect(track).toHaveBeenCalled()
expect(track).toHaveBeenCalledWith({
type: 'interaction_toggle_content',
payload: {
category: 'toggle',
label: 'toggle_click',
name: 'toggle_click',
},
options: undefined,
})
}).then(done)
})
})