portfolio/src/components/molecules/ThemeSwitch.test.jsx

24 lines
751 B
React
Raw Normal View History

2019-04-16 03:59:21 +02:00
import React from 'react'
2021-03-13 22:34:52 +01:00
import { render, fireEvent, cleanup, waitFor } from '@testing-library/react'
2019-04-16 03:59:21 +02:00
import ThemeSwitch from './ThemeSwitch'
describe('ThemeSwitch', () => {
2019-04-27 23:53:26 +02:00
afterEach(cleanup)
2019-11-11 23:46:47 +01:00
it('renders correctly', async () => {
const { container } = render(<ThemeSwitch />)
2021-03-13 22:34:52 +01:00
await waitFor(() => container.querySelector('aside'))
2019-11-11 23:46:47 +01:00
expect(container.querySelector('aside')).toBeInTheDocument()
2019-04-27 23:53:26 +02:00
})
2019-11-11 23:46:47 +01:00
it('checkbox can be changed', async () => {
const { container } = render(<ThemeSwitch />)
2019-04-16 03:59:21 +02:00
2019-04-27 23:53:26 +02:00
const toggle = container.querySelector('input')
2019-07-14 00:43:09 +02:00
const label = container.querySelector('label')
2019-04-27 23:53:26 +02:00
expect(toggle.checked).toBeFalsy()
2019-07-14 00:43:09 +02:00
fireEvent.click(label)
2019-04-27 23:53:26 +02:00
fireEvent.change(toggle, { target: { checked: true } })
2019-04-16 03:59:21 +02:00
})
})