mirror of
https://github.com/ansible/awx.git
synced 2026-05-20 15:27:47 -02:30
Assert checkbox label click event updates checkbox value
This commit is contained in:
@@ -1,5 +1,7 @@
|
|||||||
import React from 'react';
|
import React from 'react';
|
||||||
|
import { mount } from 'enzyme';
|
||||||
import { Formik } from 'formik';
|
import { Formik } from 'formik';
|
||||||
|
import { I18nProvider } from '@lingui/react';
|
||||||
import { act } from 'react-dom/test-utils';
|
import { act } from 'react-dom/test-utils';
|
||||||
import { mountWithContexts } from '../../../../testUtils/enzymeHelpers';
|
import { mountWithContexts } from '../../../../testUtils/enzymeHelpers';
|
||||||
import {
|
import {
|
||||||
@@ -12,28 +14,38 @@ import {
|
|||||||
|
|
||||||
describe('Setting form fields', () => {
|
describe('Setting form fields', () => {
|
||||||
test('BooleanField renders the expected content', async () => {
|
test('BooleanField renders the expected content', async () => {
|
||||||
const wrapper = mountWithContexts(
|
const outerNode = document.createElement('div');
|
||||||
<Formik
|
document.body.appendChild(outerNode);
|
||||||
initialValues={{
|
const wrapper = mount(
|
||||||
boolean: true,
|
<I18nProvider>
|
||||||
}}
|
<Formik
|
||||||
>
|
initialValues={{
|
||||||
{() => (
|
boolean: true,
|
||||||
<BooleanField
|
}}
|
||||||
name="boolean"
|
>
|
||||||
config={{
|
{() => (
|
||||||
label: 'test',
|
<BooleanField
|
||||||
help_text: 'test',
|
name="boolean"
|
||||||
}}
|
config={{
|
||||||
/>
|
label: 'test',
|
||||||
)}
|
help_text: 'test',
|
||||||
</Formik>
|
}}
|
||||||
|
/>
|
||||||
|
)}
|
||||||
|
</Formik>
|
||||||
|
</I18nProvider>,
|
||||||
|
{
|
||||||
|
attachTo: outerNode,
|
||||||
|
}
|
||||||
);
|
);
|
||||||
expect(wrapper.find('Switch')).toHaveLength(1);
|
expect(wrapper.find('Switch')).toHaveLength(1);
|
||||||
expect(wrapper.find('Switch').prop('isChecked')).toBe(true);
|
expect(wrapper.find('Switch').prop('isChecked')).toBe(true);
|
||||||
expect(wrapper.find('Switch').prop('isDisabled')).toBe(false);
|
expect(wrapper.find('Switch').prop('isDisabled')).toBe(false);
|
||||||
await act(async () => {
|
await act(async () => {
|
||||||
wrapper.find('Switch').invoke('onChange')(false);
|
wrapper
|
||||||
|
.find('Switch label')
|
||||||
|
.instance()
|
||||||
|
.dispatchEvent(new Event('click'));
|
||||||
});
|
});
|
||||||
wrapper.update();
|
wrapper.update();
|
||||||
expect(wrapper.find('Switch').prop('isChecked')).toBe(false);
|
expect(wrapper.find('Switch').prop('isChecked')).toBe(false);
|
||||||
|
|||||||
Reference in New Issue
Block a user