mirror of
https://github.com/hedgedoc/hedgedoc.git
synced 2025-05-13 14:44:43 -04:00
33 lines
1.1 KiB
TypeScript
33 lines
1.1 KiB
TypeScript
/*
|
|
* SPDX-FileCopyrightText: 2023 The HedgeDoc developers (see AUTHORS file)
|
|
*
|
|
* SPDX-License-Identifier: AGPL-3.0-only
|
|
*/
|
|
import { mockI18n } from '../../../markdown-renderer/test-utils/mock-i18n'
|
|
import { OnOffButtonGroup } from './on-off-button-group'
|
|
import { act, render, screen } from '@testing-library/react'
|
|
|
|
describe('Settings On-Off Button Group', () => {
|
|
beforeAll(mockI18n)
|
|
|
|
it('can switch value', async () => {
|
|
let value = false
|
|
const onSelect = (newValue: boolean) => (value = newValue)
|
|
|
|
const view = render(<OnOffButtonGroup value={value} onSelect={onSelect} />)
|
|
expect(view.container).toMatchSnapshot()
|
|
const onButton = await screen.findByTestId('onOffButtonGroupOn')
|
|
await act<void>(() => {
|
|
onButton.click()
|
|
})
|
|
expect(value).toBeTruthy()
|
|
|
|
view.rerender(<OnOffButtonGroup value={value} onSelect={onSelect} />)
|
|
expect(view.container).toMatchSnapshot()
|
|
const offButton = await screen.findByTestId('onOffButtonGroupOff')
|
|
await act<void>(() => {
|
|
offButton.click()
|
|
})
|
|
expect(value).toBeFalsy()
|
|
})
|
|
})
|