Repository URL to install this package:
|
Version:
3.6.2 ▾
|
import './_setup'
import * as React from 'react'
import { render, cleanup, fireEvent } from 'react-testing-library'
import { OneFormState, OneObserverForm } from '../new-forms/OneForm/OneForm'
import { PluginsContext } from '../new-forms/plugins/PluginsContext'
import { TogglePlugin } from '../new-forms/plugins/TogglePlugin'
import { SerializedObj } from '../new-forms/typings'
describe('@skava/forms - toggle', () => {
afterEach(cleanup)
it('toggle/radio/checkbox', () => {
const inputsList = [
{
propertyName: 'eh',
type: 'toggle',
label: 'eh!',
isSelected: false,
},
]
const formState = new OneFormState().setInputsList(inputsList)
const ehState = formState.inputsList[0]
const handleSubmit = (serialized: SerializedObj) => {
expect(serialized.eh).toEqual(true)
}
const view = (
<PluginsContext.Provider value={[TogglePlugin]}>
<OneObserverForm state={formState} onSubmit={handleSubmit} />
</PluginsContext.Provider>
)
expect(ehState.isSelected).toEqual(false)
const { container, getByText } = render(view)
fireEvent.click(getByText('eh!'))
expect(ehState.isSelected).toEqual(true)
})
})