redux-form
Version:
A higher order component decorator for forms using Redux and React
1,252 lines (1,164 loc) • 112 kB
JavaScript
'use strict';
var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };
var _expect = require('expect');
var _expect2 = _interopRequireDefault(_expect);
var _reducer = require('../reducer');
var _reducer2 = _interopRequireDefault(_reducer);
var _bindActionData = require('../bindActionData');
var _bindActionData2 = _interopRequireDefault(_bindActionData);
var _actions = require('../actions');
var _fieldValue = require('../fieldValue');
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
var compare = function compare(a, b) {
if (a.value > b.value) {
return 1;
}
if (a.value < b.value) {
return -1;
}
return 0;
};
describe('reducer', function () {
it('should initialize state to {}', function () {
var state = (0, _reducer2.default)();
(0, _expect2.default)(state).toExist().toBeA('object');
(0, _expect2.default)(Object.keys(state).length).toBe(0);
});
it('should not modify state when action has no form', function () {
var state = { foo: 'bar' };
(0, _expect2.default)((0, _reducer2.default)(state, { type: 'SOMETHING_ELSE' })).toBe(state);
});
it('should initialize form state when action has form', function () {
var _expect$toExist$toBeA;
var state = (0, _reducer2.default)(undefined, { form: 'foo' });
(0, _expect2.default)(state).toExist().toBeA('object');
(0, _expect2.default)(Object.keys(state).length).toBe(1);
(0, _expect2.default)(state.foo).toExist().toBeA('object').toEqual((_expect$toExist$toBeA = {
_active: undefined,
_asyncValidating: false
}, _expect$toExist$toBeA[_reducer.globalErrorKey] = undefined, _expect$toExist$toBeA._initialized = false, _expect$toExist$toBeA._submitting = false, _expect$toExist$toBeA._submitFailed = false, _expect$toExist$toBeA));
});
it('should add an empty array value with empty state', function () {
var _expect$toEqual;
var state = (0, _reducer2.default)({}, _extends({}, (0, _actions.addArrayValue)('myField'), {
form: 'foo'
}));
(0, _expect2.default)(state.foo).toEqual((_expect$toEqual = {
myField: [{
value: undefined
}],
_active: undefined,
_asyncValidating: false
}, _expect$toEqual[_reducer.globalErrorKey] = undefined, _expect$toEqual._initialized = false, _expect$toEqual._submitting = false, _expect$toEqual._submitFailed = false, _expect$toEqual));
(0, _expect2.default)((0, _fieldValue.isFieldValue)(state.foo.myField)).toBe(false);
(0, _expect2.default)((0, _fieldValue.isFieldValue)(state.foo.myField[0])).toBe(true);
});
it('should add an empty deep array value with empty state', function () {
var _expect$toEqual2;
var state = (0, _reducer2.default)({}, _extends({}, (0, _actions.addArrayValue)('myField.myArray'), {
form: 'foo'
}));
(0, _expect2.default)(state.foo).toEqual((_expect$toEqual2 = {
myField: {
myArray: [{
value: undefined
}]
},
_active: undefined,
_asyncValidating: false
}, _expect$toEqual2[_reducer.globalErrorKey] = undefined, _expect$toEqual2._initialized = false, _expect$toEqual2._submitting = false, _expect$toEqual2._submitFailed = false, _expect$toEqual2));
(0, _expect2.default)((0, _fieldValue.isFieldValue)(state.foo.myField)).toBe(false);
(0, _expect2.default)((0, _fieldValue.isFieldValue)(state.foo.myField.myArray)).toBe(false);
(0, _expect2.default)((0, _fieldValue.isFieldValue)(state.foo.myField.myArray[0])).toBe(true);
});
it('should add a deep array value with initial value', function () {
var _expect$toEqual3;
var state = (0, _reducer2.default)({}, _extends({}, (0, _actions.addArrayValue)('myField.myArray', 20, undefined), {
form: 'foo'
}));
(0, _expect2.default)(state.foo).toEqual((_expect$toEqual3 = {
myField: {
myArray: [{
value: 20
}]
},
_active: undefined,
_asyncValidating: false
}, _expect$toEqual3[_reducer.globalErrorKey] = undefined, _expect$toEqual3._initialized = false, _expect$toEqual3._submitting = false, _expect$toEqual3._submitFailed = false, _expect$toEqual3));
(0, _expect2.default)((0, _fieldValue.isFieldValue)(state.foo.myField)).toBe(false);
(0, _expect2.default)((0, _fieldValue.isFieldValue)(state.foo.myField.myArray)).toBe(false);
(0, _expect2.default)((0, _fieldValue.isFieldValue)(state.foo.myField.myArray[0])).toBe(true);
});
it('should push an array value', function () {
var _testForm, _expect$toEqual4;
var state = (0, _reducer2.default)({
testForm: (_testForm = {
myField: [(0, _fieldValue.makeFieldValue)({
value: 'foo'
}), (0, _fieldValue.makeFieldValue)({
value: 'bar'
})],
_active: undefined,
_asyncValidating: false
}, _testForm[_reducer.globalErrorKey] = undefined, _testForm._initialized = false, _testForm._submitting = false, _testForm._submitFailed = false, _testForm)
}, _extends({}, (0, _actions.addArrayValue)('myField', 'baz'), {
form: 'testForm'
}));
(0, _expect2.default)(state.testForm).toEqual((_expect$toEqual4 = {
myField: [{
value: 'foo'
}, {
value: 'bar'
}, {
value: 'baz'
}],
_active: undefined,
_asyncValidating: false
}, _expect$toEqual4[_reducer.globalErrorKey] = undefined, _expect$toEqual4._initialized = false, _expect$toEqual4._submitting = false, _expect$toEqual4._submitFailed = false, _expect$toEqual4));
(0, _expect2.default)((0, _fieldValue.isFieldValue)(state.testForm.myField)).toBe(false);
(0, _expect2.default)((0, _fieldValue.isFieldValue)(state.testForm.myField[0])).toBe(true);
(0, _expect2.default)((0, _fieldValue.isFieldValue)(state.testForm.myField[1])).toBe(true);
(0, _expect2.default)((0, _fieldValue.isFieldValue)(state.testForm.myField[2])).toBe(true);
});
it('should insert an array value', function () {
var _testForm2, _expect$toEqual5;
var state = (0, _reducer2.default)({
testForm: (_testForm2 = {
myField: [(0, _fieldValue.makeFieldValue)({
value: 'foo'
}), (0, _fieldValue.makeFieldValue)({
value: 'bar'
})],
_active: undefined,
_asyncValidating: false
}, _testForm2[_reducer.globalErrorKey] = undefined, _testForm2._initialized = false, _testForm2._submitting = false, _testForm2._submitFailed = false, _testForm2)
}, _extends({}, (0, _actions.addArrayValue)('myField', 'baz', 1), {
form: 'testForm'
}));
(0, _expect2.default)(state.testForm).toEqual((_expect$toEqual5 = {
myField: [{
value: 'foo'
}, {
value: 'baz'
}, {
value: 'bar'
}],
_active: undefined,
_asyncValidating: false
}, _expect$toEqual5[_reducer.globalErrorKey] = undefined, _expect$toEqual5._initialized = false, _expect$toEqual5._submitting = false, _expect$toEqual5._submitFailed = false, _expect$toEqual5));
(0, _expect2.default)((0, _fieldValue.isFieldValue)(state.testForm.myField)).toBe(false);
(0, _expect2.default)((0, _fieldValue.isFieldValue)(state.testForm.myField[0])).toBe(true);
(0, _expect2.default)((0, _fieldValue.isFieldValue)(state.testForm.myField[1])).toBe(true);
(0, _expect2.default)((0, _fieldValue.isFieldValue)(state.testForm.myField[2])).toBe(true);
});
// TODO: Find a way to make this pass:
/*
it('should push an array value which is a deep object', () => {
const state = reducer({
testForm: {
friends: [
{
name: {
initial: 'name-1',
value: 'name-1'
},
address: {
street: {
initial: 'street-1',
value: 'street-1'
},
postalCode: {
initial: 'postalCode-1',
value: 'postalCode-1'
}
}
},
{
name: {
initial: 'name-2',
value: 'name-2'
},
address: {
street: {
initial: 'street-2',
value: 'street-2'
},
postalCode: {
initial: 'postalCode-2',
value: 'postalCode-2'
}
}
}
],
_active: undefined,
_asyncValidating: false,
_error: undefined,
_initialized: false,
_submitting: false,
_submitFailed: false
}
}, {
...addArrayValue('friends', {
name: 'name-3',
address: {
street: 'street-3',
postalCode: 'postalCode-3'
}
}, undefined),
form: 'testForm'
});
expect(state.testForm)
.toEqual({
friends: [
{
name: {
initial: 'name-1',
value: 'name-1'
},
address: {
street: {
initial: 'street-1',
value: 'street-1'
},
postalCode: {
initial: 'postalCode-1',
value: 'postalCode-1'
}
}
},
{
name: {
initial: 'name-2',
value: 'name-2'
},
address: {
street: {
initial: 'street-2',
value: 'street-2'
},
postalCode: {
initial: 'postalCode-2',
value: 'postalCode-2'
}
}
},
{
name: {
initial: 'name-3',
value: 'name-3'
},
address: {
street: {
initial: 'street-3',
value: 'street-3'
},
postalCode: {
initial: 'postalCode-3',
value: 'postalCode-3'
}
}
}
],
_active: undefined,
_asyncValidating: false,
_error: undefined,
_initialized: false,
_submitting: false,
_submitFailed: false
});
});
*/
it('should push a deep array value which is a nested object', function () {
var state = (0, _reducer2.default)({
testForm: {
myField: [{
foo: (0, _fieldValue.makeFieldValue)({
initial: { a: 'foo-a1', b: 'foo-b1' },
value: { a: 'foo-a1', b: 'foo-b1' }
}),
bar: (0, _fieldValue.makeFieldValue)({
initial: { a: 'bar-a1', b: 'bar-b1' },
value: { a: 'bar-a1', b: 'bar-b1' }
})
}, {
foo: (0, _fieldValue.makeFieldValue)({
initial: { a: 'foo-a2', b: 'foo-b2' },
value: { a: 'foo-a2', b: 'foo-b2' }
}),
bar: (0, _fieldValue.makeFieldValue)({
initial: { a: 'bar-a2', b: 'bar-b2' },
value: { a: 'bar-a2', b: 'bar-b2' }
})
}],
_active: undefined,
_asyncValidating: false,
_error: undefined,
_initialized: false,
_submitting: false,
_submitFailed: false
}
}, _extends({}, (0, _actions.addArrayValue)('myField', {
foo: { a: 'foo-a3', b: 'foo-b3' },
bar: { a: 'bar-a3', b: 'bar-b3' }
}, undefined), {
form: 'testForm'
}));
(0, _expect2.default)(state.testForm).toEqual({
myField: [{
foo: {
initial: { a: 'foo-a1', b: 'foo-b1' },
value: { a: 'foo-a1', b: 'foo-b1' }
},
bar: {
initial: { a: 'bar-a1', b: 'bar-b1' },
value: { a: 'bar-a1', b: 'bar-b1' }
}
}, {
foo: {
initial: { a: 'foo-a2', b: 'foo-b2' },
value: { a: 'foo-a2', b: 'foo-b2' }
},
bar: {
initial: { a: 'bar-a2', b: 'bar-b2' },
value: { a: 'bar-a2', b: 'bar-b2' }
}
}, {
foo: {
initial: { a: 'foo-a3', b: 'foo-b3' },
value: { a: 'foo-a3', b: 'foo-b3' }
},
bar: {
initial: { a: 'bar-a3', b: 'bar-b3' },
value: { a: 'bar-a3', b: 'bar-b3' }
}
}],
_active: undefined,
_asyncValidating: false,
_error: undefined,
_initialized: false,
_submitting: false,
_submitFailed: false
});
(0, _expect2.default)((0, _fieldValue.isFieldValue)(state.testForm.myField)).toBe(false);
(0, _expect2.default)((0, _fieldValue.isFieldValue)(state.testForm.myField[0])).toBe(false);
(0, _expect2.default)((0, _fieldValue.isFieldValue)(state.testForm.myField[0].foo)).toBe(true);
(0, _expect2.default)((0, _fieldValue.isFieldValue)(state.testForm.myField[0].bar)).toBe(true);
(0, _expect2.default)((0, _fieldValue.isFieldValue)(state.testForm.myField[1])).toBe(false);
(0, _expect2.default)((0, _fieldValue.isFieldValue)(state.testForm.myField[1].foo)).toBe(true);
(0, _expect2.default)((0, _fieldValue.isFieldValue)(state.testForm.myField[1].bar)).toBe(true);
(0, _expect2.default)((0, _fieldValue.isFieldValue)(state.testForm.myField[2])).toBe(false);
(0, _expect2.default)((0, _fieldValue.isFieldValue)(state.testForm.myField[2].foo)).toBe(true);
(0, _expect2.default)((0, _fieldValue.isFieldValue)(state.testForm.myField[2].bar)).toBe(true);
});
it('should push a subarray value which is an object', function () {
var state = (0, _reducer2.default)({
testForm: {
myField: [{
myField2: [{
foo: (0, _fieldValue.makeFieldValue)({
initial: 'foo-1-1',
value: 'foo-1-1'
}),
bar: (0, _fieldValue.makeFieldValue)({
initial: 'bar-1-1',
value: 'bar-1-1'
})
}, {
foo: (0, _fieldValue.makeFieldValue)({
initial: 'foo-1-2',
value: 'foo-1-2'
}),
bar: (0, _fieldValue.makeFieldValue)({
initial: 'bar-1-2',
value: 'bar-1-2'
})
}]
}, {
myField2: [{
foo: (0, _fieldValue.makeFieldValue)({
initial: 'foo-2-1',
value: 'foo-2-1'
}),
bar: (0, _fieldValue.makeFieldValue)({
initial: 'bar-2-1',
value: 'bar-2-1'
})
}, {
foo: (0, _fieldValue.makeFieldValue)({
initial: 'foo-2-2',
value: 'foo-2-2'
}),
bar: (0, _fieldValue.makeFieldValue)({
initial: 'bar-2-2',
value: 'bar-2-2'
})
}]
}],
_active: undefined,
_asyncValidating: false,
_error: undefined,
_initialized: false,
_submitting: false,
_submitFailed: false
}
}, _extends({}, (0, _actions.addArrayValue)('myField[1].myField2', { foo: 'foo-2-3', bar: 'bar-2-3' }, undefined), {
form: 'testForm'
}));
(0, _expect2.default)(state.testForm).toEqual({
myField: [{
myField2: [{
foo: {
initial: 'foo-1-1',
value: 'foo-1-1'
},
bar: {
initial: 'bar-1-1',
value: 'bar-1-1'
}
}, {
foo: {
initial: 'foo-1-2',
value: 'foo-1-2'
},
bar: {
initial: 'bar-1-2',
value: 'bar-1-2'
}
}]
}, {
myField2: [{
foo: {
initial: 'foo-2-1',
value: 'foo-2-1'
},
bar: {
initial: 'bar-2-1',
value: 'bar-2-1'
}
}, {
foo: {
initial: 'foo-2-2',
value: 'foo-2-2'
},
bar: {
initial: 'bar-2-2',
value: 'bar-2-2'
}
}, {
foo: {
initial: 'foo-2-3',
value: 'foo-2-3'
},
bar: {
initial: 'bar-2-3',
value: 'bar-2-3'
}
}]
}],
_active: undefined,
_asyncValidating: false,
_error: undefined,
_initialized: false,
_submitting: false,
_submitFailed: false
});
(0, _expect2.default)((0, _fieldValue.isFieldValue)(state.testForm.myField)).toBe(false);
(0, _expect2.default)((0, _fieldValue.isFieldValue)(state.testForm.myField[0])).toBe(false);
(0, _expect2.default)((0, _fieldValue.isFieldValue)(state.testForm.myField[0].myField2)).toBe(false);
(0, _expect2.default)((0, _fieldValue.isFieldValue)(state.testForm.myField[0].myField2[0])).toBe(false);
(0, _expect2.default)((0, _fieldValue.isFieldValue)(state.testForm.myField[0].myField2[0].foo)).toBe(true);
(0, _expect2.default)((0, _fieldValue.isFieldValue)(state.testForm.myField[0].myField2[0].bar)).toBe(true);
(0, _expect2.default)((0, _fieldValue.isFieldValue)(state.testForm.myField[0].myField2[1])).toBe(false);
(0, _expect2.default)((0, _fieldValue.isFieldValue)(state.testForm.myField[0].myField2[1].foo)).toBe(true);
(0, _expect2.default)((0, _fieldValue.isFieldValue)(state.testForm.myField[0].myField2[1].bar)).toBe(true);
(0, _expect2.default)((0, _fieldValue.isFieldValue)(state.testForm.myField[1])).toBe(false);
(0, _expect2.default)((0, _fieldValue.isFieldValue)(state.testForm.myField[1].myField2)).toBe(false);
(0, _expect2.default)((0, _fieldValue.isFieldValue)(state.testForm.myField[1].myField2[0])).toBe(false);
(0, _expect2.default)((0, _fieldValue.isFieldValue)(state.testForm.myField[1].myField2[0].foo)).toBe(true);
(0, _expect2.default)((0, _fieldValue.isFieldValue)(state.testForm.myField[1].myField2[0].bar)).toBe(true);
(0, _expect2.default)((0, _fieldValue.isFieldValue)(state.testForm.myField[1].myField2[1])).toBe(false);
(0, _expect2.default)((0, _fieldValue.isFieldValue)(state.testForm.myField[1].myField2[1].foo)).toBe(true);
(0, _expect2.default)((0, _fieldValue.isFieldValue)(state.testForm.myField[1].myField2[1].bar)).toBe(true);
(0, _expect2.default)((0, _fieldValue.isFieldValue)(state.testForm.myField[1].myField2[2])).toBe(false);
(0, _expect2.default)((0, _fieldValue.isFieldValue)(state.testForm.myField[1].myField2[2].foo)).toBe(true);
(0, _expect2.default)((0, _fieldValue.isFieldValue)(state.testForm.myField[1].myField2[2].bar)).toBe(true);
});
it('should set value on blur with empty state', function () {
var _expect$toEqual6;
var state = (0, _reducer2.default)({}, _extends({}, (0, _actions.blur)('myField', 'myValue'), {
form: 'foo'
}));
(0, _expect2.default)(state.foo).toEqual((_expect$toEqual6 = {
myField: {
value: 'myValue'
},
_asyncValidating: false
}, _expect$toEqual6[_reducer.globalErrorKey] = undefined, _expect$toEqual6._initialized = false, _expect$toEqual6._submitting = false, _expect$toEqual6._submitFailed = false, _expect$toEqual6));
(0, _expect2.default)((0, _fieldValue.isFieldValue)(state.foo.myField)).toBe(true);
});
it('should set value on blur and touch with empty state', function () {
var _expect$toEqual7;
var state = (0, _reducer2.default)({}, _extends({}, (0, _actions.blur)('myField', 'myValue'), {
form: 'foo',
touch: true
}));
(0, _expect2.default)(state.foo).toEqual((_expect$toEqual7 = {
myField: {
value: 'myValue',
touched: true
},
_asyncValidating: false
}, _expect$toEqual7[_reducer.globalErrorKey] = undefined, _expect$toEqual7._initialized = false, _expect$toEqual7._submitting = false, _expect$toEqual7._submitFailed = false, _expect$toEqual7));
(0, _expect2.default)((0, _fieldValue.isFieldValue)(state.foo.myField)).toBe(true);
});
it('should set value on blur and touch with initial value', function () {
var _foo, _expect$toEqual8;
var state = (0, _reducer2.default)({
foo: (_foo = {
myField: (0, _fieldValue.makeFieldValue)({
initial: 'initialValue',
value: 'initialValue',
touched: false
}),
_asyncValidating: false
}, _foo[_reducer.globalErrorKey] = undefined, _foo._initialized = false, _foo._submitting = false, _foo._submitFailed = false, _foo)
}, _extends({}, (0, _actions.blur)('myField', 'myValue'), {
form: 'foo',
touch: true
}));
(0, _expect2.default)(state.foo).toEqual((_expect$toEqual8 = {
myField: {
initial: 'initialValue',
value: 'myValue',
touched: true
},
_asyncValidating: false
}, _expect$toEqual8[_reducer.globalErrorKey] = undefined, _expect$toEqual8._initialized = false, _expect$toEqual8._submitting = false, _expect$toEqual8._submitFailed = false, _expect$toEqual8));
(0, _expect2.default)((0, _fieldValue.isFieldValue)(state.foo.myField)).toBe(true);
});
it('should not modify value if undefined is passed on blur (for android react native)', function () {
var _foo2, _expect$toEqual9;
var state = (0, _reducer2.default)({
foo: (_foo2 = {
myField: (0, _fieldValue.makeFieldValue)({
initial: 'initialValue',
value: 'myValue',
touched: false
}),
_active: 'myField',
_asyncValidating: false
}, _foo2[_reducer.globalErrorKey] = undefined, _foo2._initialized = false, _foo2._submitting = false, _foo2._submitFailed = false, _foo2)
}, _extends({}, (0, _actions.blur)('myField'), {
form: 'foo',
touch: true
}));
(0, _expect2.default)(state.foo).toEqual((_expect$toEqual9 = {
myField: {
initial: 'initialValue',
value: 'myValue',
touched: true
},
_asyncValidating: false
}, _expect$toEqual9[_reducer.globalErrorKey] = undefined, _expect$toEqual9._initialized = false, _expect$toEqual9._submitting = false, _expect$toEqual9._submitFailed = false, _expect$toEqual9));
(0, _expect2.default)((0, _fieldValue.isFieldValue)(state.foo.myField)).toBe(true);
});
it('should not modify value if undefined is passed on blur, even if no value existed (for android react native)', function () {
var _foo3, _expect$toEqual10;
var state = (0, _reducer2.default)({
foo: (_foo3 = {
myField: (0, _fieldValue.makeFieldValue)({
value: undefined
}),
_active: 'myField',
_asyncValidating: false
}, _foo3[_reducer.globalErrorKey] = undefined, _foo3._initialized = false, _foo3._submitting = false, _foo3._submitFailed = false, _foo3)
}, _extends({}, (0, _actions.blur)('myField'), {
form: 'foo',
touch: true
}));
(0, _expect2.default)(state.foo).toEqual((_expect$toEqual10 = {
myField: {
value: undefined,
touched: true
},
_asyncValidating: false
}, _expect$toEqual10[_reducer.globalErrorKey] = undefined, _expect$toEqual10._initialized = false, _expect$toEqual10._submitting = false, _expect$toEqual10._submitFailed = false, _expect$toEqual10));
(0, _expect2.default)((0, _fieldValue.isFieldValue)(state.foo.myField)).toBe(true);
});
it('should set nested value on blur', function () {
var _foo4, _expect$toEqual11;
var state = (0, _reducer2.default)({
foo: (_foo4 = {
myField: {
mySubField: (0, _fieldValue.makeFieldValue)({
value: undefined
})
},
_active: 'myField',
_asyncValidating: false
}, _foo4[_reducer.globalErrorKey] = undefined, _foo4._initialized = false, _foo4._submitting = false, _foo4._submitFailed = false, _foo4)
}, _extends({}, (0, _actions.blur)('myField.mySubField', 'hello'), {
form: 'foo',
touch: true
}));
(0, _expect2.default)(state.foo).toEqual((_expect$toEqual11 = {
myField: {
mySubField: {
value: 'hello',
touched: true
}
},
_asyncValidating: false
}, _expect$toEqual11[_reducer.globalErrorKey] = undefined, _expect$toEqual11._initialized = false, _expect$toEqual11._submitting = false, _expect$toEqual11._submitFailed = false, _expect$toEqual11));
(0, _expect2.default)((0, _fieldValue.isFieldValue)(state.foo.myField)).toBe(false);
(0, _expect2.default)((0, _fieldValue.isFieldValue)(state.foo.myField.mySubField)).toBe(true);
});
it('should set array value on blur', function () {
var _foo5, _expect$toEqual12;
var state = (0, _reducer2.default)({
foo: (_foo5 = {
myArray: [(0, _fieldValue.makeFieldValue)({ value: undefined })],
_active: 'myField',
_asyncValidating: false
}, _foo5[_reducer.globalErrorKey] = undefined, _foo5._initialized = false, _foo5._submitting = false, _foo5._submitFailed = false, _foo5)
}, _extends({}, (0, _actions.blur)('myArray[0]', 'hello'), {
form: 'foo',
touch: true
}));
(0, _expect2.default)(state.foo).toEqual((_expect$toEqual12 = {
myArray: [{
value: 'hello',
touched: true
}],
_asyncValidating: false
}, _expect$toEqual12[_reducer.globalErrorKey] = undefined, _expect$toEqual12._initialized = false, _expect$toEqual12._submitting = false, _expect$toEqual12._submitFailed = false, _expect$toEqual12));
(0, _expect2.default)((0, _fieldValue.isFieldValue)(state.foo.myArray[0])).toBe(true);
});
it('should set value on change with empty state', function () {
var _expect$toEqual13;
var state = (0, _reducer2.default)({}, _extends({}, (0, _actions.change)('myField', 'myValue'), {
form: 'foo'
}));
(0, _expect2.default)(state.foo).toEqual((_expect$toEqual13 = {
myField: {
value: 'myValue'
},
_active: undefined, // CHANGE doesn't touch _active
_asyncValidating: false
}, _expect$toEqual13[_reducer.globalErrorKey] = undefined, _expect$toEqual13._initialized = false, _expect$toEqual13._submitting = false, _expect$toEqual13._submitFailed = false, _expect$toEqual13));
(0, _expect2.default)((0, _fieldValue.isFieldValue)(state.foo.myField)).toBe(true);
});
it('should set value on change and touch with empty state', function () {
var _expect$toEqual14;
var state = (0, _reducer2.default)({}, _extends({}, (0, _actions.change)('myField', 'myValue'), {
form: 'foo',
touch: true
}));
(0, _expect2.default)(state.foo).toEqual((_expect$toEqual14 = {
myField: {
value: 'myValue',
touched: true
},
_active: undefined, // CHANGE doesn't touch _active
_asyncValidating: false
}, _expect$toEqual14[_reducer.globalErrorKey] = undefined, _expect$toEqual14._initialized = false, _expect$toEqual14._submitting = false, _expect$toEqual14._submitFailed = false, _expect$toEqual14));
(0, _expect2.default)((0, _fieldValue.isFieldValue)(state.foo.myField)).toBe(true);
});
it('should set value on change and touch with initial value', function () {
var _foo6, _expect$toEqual15;
var state = (0, _reducer2.default)({
foo: (_foo6 = {
myField: (0, _fieldValue.makeFieldValue)({
initial: 'initialValue',
value: 'initialValue',
touched: false
}),
_active: 'myField',
_asyncValidating: false
}, _foo6[_reducer.globalErrorKey] = 'Some global error', _foo6._initialized = false, _foo6._submitting = false, _foo6._submitFailed = false, _foo6)
}, _extends({}, (0, _actions.change)('myField', 'myValue'), {
form: 'foo',
touch: true
}));
(0, _expect2.default)(state.foo).toEqual((_expect$toEqual15 = {
myField: {
initial: 'initialValue',
value: 'myValue',
touched: true
},
_active: 'myField',
_asyncValidating: false
}, _expect$toEqual15[_reducer.globalErrorKey] = 'Some global error', _expect$toEqual15._initialized = false, _expect$toEqual15._submitting = false, _expect$toEqual15._submitFailed = false, _expect$toEqual15));
(0, _expect2.default)((0, _fieldValue.isFieldValue)(state.foo.myField)).toBe(true);
});
it('should set value on change and remove field-level submit and async errors', function () {
var _foo7, _expect$toEqual16;
var state = (0, _reducer2.default)({
foo: (_foo7 = {
myField: (0, _fieldValue.makeFieldValue)({
value: 'initial',
submitError: 'submit error',
asyncError: 'async error'
}),
_active: 'myField',
_asyncValidating: false
}, _foo7[_reducer.globalErrorKey] = 'Some global error', _foo7._initialized = false, _foo7._submitting = false, _foo7._submitFailed = false, _foo7)
}, _extends({}, (0, _actions.change)('myField', 'different'), {
form: 'foo'
}));
(0, _expect2.default)(state.foo).toEqual((_expect$toEqual16 = {
myField: {
value: 'different'
},
_active: 'myField',
_asyncValidating: false
}, _expect$toEqual16[_reducer.globalErrorKey] = 'Some global error', _expect$toEqual16._initialized = false, _expect$toEqual16._submitting = false, _expect$toEqual16._submitFailed = false, _expect$toEqual16));
(0, _expect2.default)((0, _fieldValue.isFieldValue)(state.foo.myField)).toBe(true);
});
it('should set nested value on change with empty state', function () {
var _expect$toEqual17;
var state = (0, _reducer2.default)({}, _extends({}, (0, _actions.change)('myField.mySubField', 'myValue'), {
form: 'foo'
}));
(0, _expect2.default)(state.foo).toEqual((_expect$toEqual17 = {
myField: {
mySubField: {
value: 'myValue'
}
},
_active: undefined, // CHANGE doesn't touch _active
_asyncValidating: false
}, _expect$toEqual17[_reducer.globalErrorKey] = undefined, _expect$toEqual17._initialized = false, _expect$toEqual17._submitting = false, _expect$toEqual17._submitFailed = false, _expect$toEqual17));
(0, _expect2.default)((0, _fieldValue.isFieldValue)(state.foo.myField)).toBe(false);
(0, _expect2.default)((0, _fieldValue.isFieldValue)(state.foo.myField.mySubField)).toBe(true);
});
it('should set visited on focus and update active with no previous state', function () {
var _expect$toEqual18;
var state = (0, _reducer2.default)({}, _extends({}, (0, _actions.focus)('myField'), {
form: 'foo'
}));
(0, _expect2.default)(state.foo).toEqual((_expect$toEqual18 = {
myField: {
visited: true
},
_active: 'myField',
_asyncValidating: false
}, _expect$toEqual18[_reducer.globalErrorKey] = undefined, _expect$toEqual18._initialized = false, _expect$toEqual18._submitting = false, _expect$toEqual18._submitFailed = false, _expect$toEqual18));
(0, _expect2.default)((0, _fieldValue.isFieldValue)(state.foo.myField)).toBe(true);
});
it('should set visited on focus and update active on deep field with no previous state', function () {
var _expect$toEqual19;
var state = (0, _reducer2.default)({}, _extends({}, (0, _actions.focus)('myField.subField'), {
form: 'foo'
}));
(0, _expect2.default)(state.foo).toEqual((_expect$toEqual19 = {
myField: {
subField: {
visited: true
}
},
_active: 'myField.subField',
_asyncValidating: false
}, _expect$toEqual19[_reducer.globalErrorKey] = undefined, _expect$toEqual19._initialized = false, _expect$toEqual19._submitting = false, _expect$toEqual19._submitFailed = false, _expect$toEqual19));
(0, _expect2.default)((0, _fieldValue.isFieldValue)(state.foo.myField)).toBe(false);
(0, _expect2.default)((0, _fieldValue.isFieldValue)(state.foo.myField.subField)).toBe(true);
});
it('should set visited on focus and update current with previous state', function () {
var _foo8, _expect$toEqual20;
var state = (0, _reducer2.default)({
foo: (_foo8 = {
myField: (0, _fieldValue.makeFieldValue)({
initial: 'initialValue',
value: 'initialValue',
visited: false
}),
_active: 'otherField',
_asyncValidating: false
}, _foo8[_reducer.globalErrorKey] = undefined, _foo8._initialized = false, _foo8._submitting = false, _foo8._submitFailed = false, _foo8)
}, _extends({}, (0, _actions.focus)('myField'), {
form: 'foo'
}));
(0, _expect2.default)(state.foo).toEqual((_expect$toEqual20 = {
myField: {
initial: 'initialValue',
value: 'initialValue',
visited: true
},
_active: 'myField',
_asyncValidating: false
}, _expect$toEqual20[_reducer.globalErrorKey] = undefined, _expect$toEqual20._initialized = false, _expect$toEqual20._submitting = false, _expect$toEqual20._submitFailed = false, _expect$toEqual20));
(0, _expect2.default)((0, _fieldValue.isFieldValue)(state.foo.myField)).toBe(true);
});
it('should set initialize values on initialize on empty state', function () {
var _expect$toEqual21;
var state = (0, _reducer2.default)({}, _extends({}, (0, _actions.initialize)({ myField: 'initialValue' }, ['myField']), {
form: 'foo'
}));
(0, _expect2.default)(state.foo).toEqual((_expect$toEqual21 = {
myField: {
initial: 'initialValue',
value: 'initialValue'
},
_active: undefined,
_asyncValidating: false
}, _expect$toEqual21[_reducer.globalErrorKey] = undefined, _expect$toEqual21._initialized = true, _expect$toEqual21._submitting = false, _expect$toEqual21._submitFailed = false, _expect$toEqual21));
(0, _expect2.default)((0, _fieldValue.isFieldValue)(state.foo.myField)).toBe(true);
});
it('should allow initializing null values', function () {
var _expect$toEqual22;
var state = (0, _reducer2.default)({}, _extends({}, (0, _actions.initialize)({ bar: 'baz', dog: null }, ['bar', 'dog']), {
form: 'foo'
}));
(0, _expect2.default)(state.foo).toEqual((_expect$toEqual22 = {
bar: {
initial: 'baz',
value: 'baz'
},
dog: {
initial: null,
value: null
},
_active: undefined,
_asyncValidating: false
}, _expect$toEqual22[_reducer.globalErrorKey] = undefined, _expect$toEqual22._initialized = true, _expect$toEqual22._submitting = false, _expect$toEqual22._submitFailed = false, _expect$toEqual22));
(0, _expect2.default)((0, _fieldValue.isFieldValue)(state.foo.bar)).toBe(true);
(0, _expect2.default)((0, _fieldValue.isFieldValue)(state.foo.dog)).toBe(true);
});
it('should initialize nested values on initialize on empty state', function () {
var _expect$toEqual23;
var state = (0, _reducer2.default)({}, _extends({}, (0, _actions.initialize)({ myField: { subField: 'initialValue' } }, ['myField.subField'], {}), {
form: 'foo'
}));
(0, _expect2.default)(state.foo).toEqual((_expect$toEqual23 = {
myField: {
subField: {
initial: 'initialValue',
value: 'initialValue'
}
},
_active: undefined,
_asyncValidating: false
}, _expect$toEqual23[_reducer.globalErrorKey] = undefined, _expect$toEqual23._initialized = true, _expect$toEqual23._submitting = false, _expect$toEqual23._submitFailed = false, _expect$toEqual23));
(0, _expect2.default)((0, _fieldValue.isFieldValue)(state.foo.myField)).toBe(false);
(0, _expect2.default)((0, _fieldValue.isFieldValue)(state.foo.myField.subField)).toBe(true);
});
it('should initialize array values on initialize on empty state', function () {
var _expect$toEqual24;
var state = (0, _reducer2.default)({}, _extends({}, (0, _actions.initialize)({ myField: ['initialValue'] }, ['myField[]'], {}), {
form: 'foo'
}));
(0, _expect2.default)(state.foo).toEqual((_expect$toEqual24 = {
myField: [{
initial: 'initialValue',
value: 'initialValue'
}],
_active: undefined,
_asyncValidating: false
}, _expect$toEqual24[_reducer.globalErrorKey] = undefined, _expect$toEqual24._initialized = true, _expect$toEqual24._submitting = false, _expect$toEqual24._submitFailed = false, _expect$toEqual24));
(0, _expect2.default)((0, _fieldValue.isFieldValue)(state.foo.myField)).toBe(false);
(0, _expect2.default)((0, _fieldValue.isFieldValue)(state.foo.myField[0])).toBe(true);
});
it('should initialize array values with subvalues on initialize on empty state', function () {
var _expect$toEqual25;
var state = (0, _reducer2.default)({}, _extends({}, (0, _actions.initialize)({
accounts: [{
name: 'Bobby Tables',
email: 'bobby@gmail.com'
}, {
name: 'Sammy Tables',
email: 'sammy@gmail.com'
}]
}, ['accounts[].name', 'accounts[].email'], {}), {
form: 'foo'
}));
(0, _expect2.default)(state.foo).toEqual((_expect$toEqual25 = {
accounts: [{
name: {
initial: 'Bobby Tables',
value: 'Bobby Tables'
},
email: {
initial: 'bobby@gmail.com',
value: 'bobby@gmail.com'
}
}, {
name: {
initial: 'Sammy Tables',
value: 'Sammy Tables'
},
email: {
initial: 'sammy@gmail.com',
value: 'sammy@gmail.com'
}
}],
_active: undefined,
_asyncValidating: false
}, _expect$toEqual25[_reducer.globalErrorKey] = undefined, _expect$toEqual25._initialized = true, _expect$toEqual25._submitting = false, _expect$toEqual25._submitFailed = false, _expect$toEqual25));
(0, _expect2.default)((0, _fieldValue.isFieldValue)(state.foo.accounts)).toBe(false);
(0, _expect2.default)((0, _fieldValue.isFieldValue)(state.foo.accounts[0])).toBe(false);
(0, _expect2.default)((0, _fieldValue.isFieldValue)(state.foo.accounts[0].name)).toBe(true);
(0, _expect2.default)((0, _fieldValue.isFieldValue)(state.foo.accounts[0].email)).toBe(true);
(0, _expect2.default)((0, _fieldValue.isFieldValue)(state.foo.accounts[1])).toBe(false);
(0, _expect2.default)((0, _fieldValue.isFieldValue)(state.foo.accounts[1].name)).toBe(true);
(0, _expect2.default)((0, _fieldValue.isFieldValue)(state.foo.accounts[1].email)).toBe(true);
});
it('should set initialize values, making form pristine when initializing', function () {
var _foo9, _expect$toEqual26;
var state = (0, _reducer2.default)({
foo: (_foo9 = {
myField: (0, _fieldValue.makeFieldValue)({
value: 'dirtyValue',
touched: true
}),
_active: 'myField',
_asyncValidating: false
}, _foo9[_reducer.globalErrorKey] = undefined, _foo9._initialized = false, _foo9._submitting = false, _foo9._submitFailed = false, _foo9)
}, _extends({}, (0, _actions.initialize)({ myField: 'cleanValue' }, ['myField']), {
form: 'foo',
touch: true
}));
(0, _expect2.default)(state.foo).toEqual((_expect$toEqual26 = {
myField: {
initial: 'cleanValue',
value: 'cleanValue'
},
_active: undefined,
_asyncValidating: false
}, _expect$toEqual26[_reducer.globalErrorKey] = undefined, _expect$toEqual26._initialized = true, _expect$toEqual26._submitting = false, _expect$toEqual26._submitFailed = false, _expect$toEqual26));
(0, _expect2.default)((0, _fieldValue.isFieldValue)(state.foo.myField)).toBe(true);
});
it('should pop an array value', function () {
var _testForm3, _expect$toEqual27;
var state = (0, _reducer2.default)({
testForm: (_testForm3 = {
myField: [(0, _fieldValue.makeFieldValue)({
value: 'foo'
}), (0, _fieldValue.makeFieldValue)({
value: 'bar'
})],
_active: undefined,
_asyncValidating: false
}, _testForm3[_reducer.globalErrorKey] = undefined, _testForm3._initialized = false, _testForm3._submitting = false, _testForm3._submitFailed = false, _testForm3)
}, _extends({}, (0, _actions.removeArrayValue)('myField'), {
form: 'testForm'
}));
(0, _expect2.default)(state.testForm).toEqual((_expect$toEqual27 = {
myField: [{
value: 'foo'
}],
_active: undefined,
_asyncValidating: false
}, _expect$toEqual27[_reducer.globalErrorKey] = undefined, _expect$toEqual27._initialized = false, _expect$toEqual27._submitting = false, _expect$toEqual27._submitFailed = false, _expect$toEqual27));
(0, _expect2.default)((0, _fieldValue.isFieldValue)(state.testForm.myField)).toBe(false);
(0, _expect2.default)((0, _fieldValue.isFieldValue)(state.testForm.myField[0])).toBe(true);
});
it('should not change empty array value on remove', function () {
var _testForm4, _expect$toEqual28;
var state = (0, _reducer2.default)({
testForm: (_testForm4 = {
myField: [],
_active: undefined,
_asyncValidating: false
}, _testForm4[_reducer.globalErrorKey] = undefined, _testForm4._initialized = false, _testForm4._submitting = false, _testForm4._submitFailed = false, _testForm4)
}, _extends({}, (0, _actions.removeArrayValue)('myField'), {
form: 'testForm'
}));
(0, _expect2.default)(state.testForm).toEqual((_expect$toEqual28 = {
myField: [],
_active: undefined,
_asyncValidating: false
}, _expect$toEqual28[_reducer.globalErrorKey] = undefined, _expect$toEqual28._initialized = false, _expect$toEqual28._submitting = false, _expect$toEqual28._submitFailed = false, _expect$toEqual28));
});
it('should remove an array value from start of array', function () {
var _testForm5, _expect$toEqual29;
var state = (0, _reducer2.default)({
testForm: (_testForm5 = {
myField: [(0, _fieldValue.makeFieldValue)({
value: 'foo'
}), (0, _fieldValue.makeFieldValue)({
value: 'bar'
}), (0, _fieldValue.makeFieldValue)({
value: 'baz'
})],
_active: undefined,
_asyncValidating: false
}, _testForm5[_reducer.globalErrorKey] = undefined, _testForm5._initialized = false, _testForm5._submitting = false, _testForm5._submitFailed = false, _testForm5)
}, _extends({}, (0, _actions.removeArrayValue)('myField', 0), {
form: 'testForm'
}));
(0, _expect2.default)(state.testForm).toEqual((_expect$toEqual29 = {
myField: [{
value: 'bar'
}, {
value: 'baz'
}],
_active: undefined,
_asyncValidating: false
}, _expect$toEqual29[_reducer.globalErrorKey] = undefined, _expect$toEqual29._initialized = false, _expect$toEqual29._submitting = false, _expect$toEqual29._submitFailed = false, _expect$toEqual29));
(0, _expect2.default)((0, _fieldValue.isFieldValue)(state.testForm.myField)).toBe(false);
(0, _expect2.default)((0, _fieldValue.isFieldValue)(state.testForm.myField[0])).toBe(true);
(0, _expect2.default)((0, _fieldValue.isFieldValue)(state.testForm.myField[1])).toBe(true);
});
it('should remove an array value from middle of array', function () {
var _testForm6, _expect$toEqual30;
var state = (0, _reducer2.default)({
testForm: (_testForm6 = {
myField: [(0, _fieldValue.makeFieldValue)({
value: 'foo'
}), (0, _fieldValue.makeFieldValue)({
value: 'bar'
}), (0, _fieldValue.makeFieldValue)({
value: 'baz'
})],
_active: undefined,
_asyncValidating: false
}, _testForm6[_reducer.globalErrorKey] = undefined, _testForm6._initialized = false, _testForm6._submitting = false, _testForm6._submitFailed = false, _testForm6)
}, _extends({}, (0, _actions.removeArrayValue)('myField', 1), {
form: 'testForm'
}));
(0, _expect2.default)(state.testForm).toEqual((_expect$toEqual30 = {
myField: [{
value: 'foo'
}, {
value: 'baz'
}],
_active: undefined,
_asyncValidating: false
}, _expect$toEqual30[_reducer.globalErrorKey] = undefined, _expect$toEqual30._initialized = false, _expect$toEqual30._submitting = false, _expect$toEqual30._submitFailed = false, _expect$toEqual30));
(0, _expect2.default)((0, _fieldValue.isFieldValue)(state.testForm.myField)).toBe(false);
(0, _expect2.default)((0, _fieldValue.isFieldValue)(state.testForm.myField[0])).toBe(true);
(0, _expect2.default)((0, _fieldValue.isFieldValue)(state.testForm.myField[1])).toBe(true);
});
it('should not change empty array value on swap', function () {
var _testForm7, _expect$toEqual31;
var state = (0, _reducer2.default)({
testForm: (_testForm7 = {
myField: [],
_active: undefined,
_asyncValidating: false
}, _testForm7[_reducer.globalErrorKey] = undefined, _testForm7._initialized = false, _testForm7._submitting = false, _testForm7._submitFailed = false, _testForm7)
}, _extends({}, (0, _actions.swapArrayValues)('myField'), {
form: 'testForm'
}));
(0, _expect2.default)(state.testForm).toEqual((_expect$toEqual31 = {
myField: [],
_active: undefined,
_asyncValidating: false
}, _expect$toEqual31[_reducer.globalErrorKey] = undefined, _expect$toEqual31._initialized = false, _expect$toEqual31._submitting = false, _expect$toEqual31._submitFailed = false, _expect$toEqual31));
});
it('should should swap two array values at different indexes', function () {
var _testForm8, _expect$toEqual32;
var state = (0, _reducer2.default)({
testForm: (_testForm8 = {
myField: [(0, _fieldValue.makeFieldValue)({
value: 'foo'
}), (0, _fieldValue.makeFieldValue)({
value: 'bar'
}), (0, _fieldValue.makeFieldValue)({
value: 'baz'
})],
_active: undefined,
_asyncValidating: false
}, _testForm8[_reducer.globalErrorKey] = undefined, _testForm8._initialized = false, _testForm8._submitting = false, _testForm8._submitFailed = false, _testForm8)
}, _extends({}, (0, _actions.swapArrayValues)('myField', 0, 2), {
form: 'testForm'
}));
(0, _expect2.default)(state.testForm).toEqual((_expect$toEqual32 = {
myField: [{
value: 'baz'
}, {
value: 'bar'
}, {
value: 'foo'
}],
_active: undefined,
_asyncValidating: false
}, _expect$toEqual32[_reducer.globalErrorKey] = undefined, _expect$toEqual32._initialized = false, _expect$toEqual32._submitting = false, _expect$toEqual32._submitFailed = false, _expect$toEqual32));
(0, _expect2.default)((0, _fieldValue.isFieldValue)(state.testForm.myField)).toBe(false);
(0, _expect2.default)((0, _fieldValue.isFieldValue)(state.testForm.myField[0])).toBe(true);
(0, _expect2.default)((0, _fieldValue.isFieldValue)(state.testForm.myField[1])).toBe(true);
(0, _expect2.default)((0, _fieldValue.isFieldValue)(state.testForm.myField[2])).toBe(true);
});
it('should not change array on swap with the same index', function () {
var _testForm9, _expect$toEqual33;
var state = (0, _reducer2.default)({
testForm: (_testForm9 = {
myField: [(0, _fieldValue.makeFieldValue)({
value: 'foo'
}), (0, _fieldValue.makeFieldValue)({
value: 'bar'
}), (0, _fieldValue.makeFieldValue)({
value: 'baz'
})],
_active: undefined,
_asyncValidating: false
}, _testForm9[_reducer.globalErrorKey] = undefined, _testForm9._initialized = false, _testForm9._submitting = false, _testForm9._submitFailed = false, _testForm9)
}, _extends({}, (0, _actions.swapArrayValues)('myField', 1, 1), {
form: 'testForm'
}));
(0, _expect2.default)(state.testForm).toEqual((_expect$toEqual33 = {
myField: [{
value: 'foo'
}, {
value: 'bar'
}, {
value: 'baz'
}],
_active: undefined,
_asyncValidating: false
}, _expect$toEqual33[_reducer.globalErrorKey] = undefined, _expect$toEqual33._initialized = false, _expect$toEqual33._submitting = false, _expect$toEqual33._submitFailed = false, _expect$toEqual33));
(0, _expect2.default)((0, _fieldValue.isFieldValue)(state.testForm.myField)).toBe(false);
(0, _expect2.default)((0, _fieldValue.isFieldValue)(state.testForm.myField[0])).toBe(true);
(0, _expect2.default)((0, _fieldValue.isFieldValue)(state.testForm.myField[1])).toBe(true);
(0, _expect2.default)((0, _fieldValue.isFieldValue)(state.testForm.myField[2])).toBe(true);
});
it('should not change array on swap with out of bounds index', function () {
var _testForm10, _expect$toEqual34;
var state = (0, _reducer2.default)({
testForm: (_testForm10 = {
myField: [(0, _fieldValue.makeFieldValue)({
value: 'foo'
}), (0, _fieldValue.makeFieldValue)({
value: 'bar'
}), (0, _fieldValue.makeFieldValue)({
value: 'baz'
})],
_active: undefined,
_asyncValidating: false
}, _testForm10[_reducer.globalErrorKey] = undefined, _testForm10._initialized = false, _testForm10._submitting = false, _testForm10._submitFailed = false, _testForm10)
}, _extends({}, (0, _actions.swapArrayValues)('myField', 1, 4), {
form: 'testForm'
}));
(0, _expect2.default)(state.testForm).toEqual((_expect$toEqual34 = {
myField: [{
value: 'foo'
}, {
value: 'bar'
}, {
value: 'baz'
}],
_active: undefined,
_asyncValidating: false
}, _expect$toEqual34[_reducer.globalErrorKey] = undefined, _expect$toEqual34._initialized = false, _expect$toEqual34._submitting = false, _expect$toEqual34._submitFailed = false, _expect$toEqual34));
(0, _expect2.default)((0, _fieldValue.isFieldValue)(state.testForm.myField)).toBe(false);
(0, _expect2.default)((0, _fieldValue.isFieldValue)(state.testForm.myField[0])).toBe(true);
(0, _expect2.default)((0, _fieldValue.isFieldValue)(state.testForm.myField[1])).toBe(true);
(0, _expect2.default)((0, _fieldValue.isFieldValue)(state.testForm.myField[2])).toBe(true);
});
it('should reset values on reset on with previous state', function () {
var _foo10, _expect$toEqual35;
var state = (0, _reducer2.default)({
foo: (_foo10 = {
myField: (0, _fieldValue.makeFieldValue)({
initial: 'initialValue',
value: 'dirtyValue',
touched: true
}),
myOtherField: (0, _fieldValue.makeFieldValue)({
initial: 'otherInitialValue',
value: 'otherDirtyValue',
touched: true
}),
_active: 'myField',
_asyncValidating: false
}, _foo10[_reducer.globalErrorKey] = undefined, _foo10._initialized = false, _foo10