mirror of
https://github.com/scratchfoundation/scratch-www.git
synced 2024-11-26 17:16:11 -05:00
Add simple unittests for a couple of Formik components.
This commit is contained in:
parent
6a527be0bf
commit
8de11218cc
2 changed files with 88 additions and 0 deletions
28
test/unit/components/formik-input.test.jsx
Normal file
28
test/unit/components/formik-input.test.jsx
Normal file
|
@ -0,0 +1,28 @@
|
||||||
|
import React from 'react';
|
||||||
|
import {mountWithIntl} from '../../helpers/intl-helpers.jsx';
|
||||||
|
import FormikInput from '../../../src/components/formik-forms/formik-input.jsx';
|
||||||
|
import {Formik} from 'formik';
|
||||||
|
|
||||||
|
describe('FormikInput', () => {
|
||||||
|
test('No validation message without an error', () => {
|
||||||
|
const component = mountWithIntl(
|
||||||
|
<Formik>
|
||||||
|
<FormikInput
|
||||||
|
error=""
|
||||||
|
/>
|
||||||
|
</Formik>
|
||||||
|
);
|
||||||
|
expect(component.find('ValidationMessage').exists()).toEqual(false);
|
||||||
|
});
|
||||||
|
|
||||||
|
test('Validation message shown when error given', () => {
|
||||||
|
const component = mountWithIntl(
|
||||||
|
<Formik>
|
||||||
|
<FormikInput
|
||||||
|
error="There was an error"
|
||||||
|
/>
|
||||||
|
</Formik>
|
||||||
|
);
|
||||||
|
expect(component.find('ValidationMessage').exists()).toEqual(true);
|
||||||
|
});
|
||||||
|
});
|
60
test/unit/components/formik-select.test.jsx
Normal file
60
test/unit/components/formik-select.test.jsx
Normal file
|
@ -0,0 +1,60 @@
|
||||||
|
import React from 'react';
|
||||||
|
import {mountWithIntl} from '../../helpers/intl-helpers.jsx';
|
||||||
|
import FormikSelect from '../../../src/components/formik-forms/formik-select.jsx';
|
||||||
|
import {Formik} from 'formik';
|
||||||
|
import {Field} from 'formik';
|
||||||
|
|
||||||
|
describe('FormikSelect', () => {
|
||||||
|
test('No validation message without an error', () => {
|
||||||
|
const component = mountWithIntl(
|
||||||
|
<Formik>
|
||||||
|
<FormikSelect
|
||||||
|
error=""
|
||||||
|
options={[]}
|
||||||
|
/>
|
||||||
|
</Formik>
|
||||||
|
);
|
||||||
|
|
||||||
|
expect(component.find('ValidationMessage').exists()).toEqual(false);
|
||||||
|
expect(component.find(Field).exists()).toEqual(true);
|
||||||
|
});
|
||||||
|
|
||||||
|
test('Validation message shown when error present', () => {
|
||||||
|
const component = mountWithIntl(
|
||||||
|
<Formik>
|
||||||
|
<FormikSelect
|
||||||
|
error="uh oh. error"
|
||||||
|
options={[]}
|
||||||
|
/>
|
||||||
|
</Formik>
|
||||||
|
);
|
||||||
|
expect(component.find('ValidationMessage').exists()).toEqual(true);
|
||||||
|
expect(component.find(Field).exists()).toEqual(true);
|
||||||
|
});
|
||||||
|
|
||||||
|
test('list of options passed to formik', () => {
|
||||||
|
const optionList = [
|
||||||
|
{
|
||||||
|
disabled: false,
|
||||||
|
label: 'option1',
|
||||||
|
value: 'value1'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
disabled: false,
|
||||||
|
label: 'option2',
|
||||||
|
value: 'value2'
|
||||||
|
}
|
||||||
|
|
||||||
|
];
|
||||||
|
const component = mountWithIntl(
|
||||||
|
<Formik>
|
||||||
|
<FormikSelect
|
||||||
|
error=""
|
||||||
|
options={optionList}
|
||||||
|
/>
|
||||||
|
</Formik>
|
||||||
|
);
|
||||||
|
expect(component.find(Field).exists()).toEqual(true);
|
||||||
|
expect(component.find(Field).prop('children').length).toEqual(2);
|
||||||
|
});
|
||||||
|
});
|
Loading…
Reference in a new issue