@ukhomeoffice/cop-react-form-renderer 4.5.0 → 4.7.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -68,6 +68,7 @@ var CollectionPage = function CollectionPage(_ref) {
68
68
  var onPageChange = function onPageChange(_ref2) {
69
69
  var target = _ref2.target;
70
70
  page.formData[target.name] = target.value;
71
+ data = page.formData[page.collection.name] || patch[page.collection.name] || [];
71
72
  setPatch(function (prev) {
72
73
  return _objectSpread(_objectSpread({}, prev), {}, _defineProperty({}, target.name, target.value));
73
74
  });
@@ -89,10 +89,7 @@ var FormPage = function FormPage(_ref) {
89
89
  label: _utils.default.interpolateString(action.label, page.formData)
90
90
  }) : action;
91
91
  });
92
-
93
- var operationResults = _utils.default.Operate.runPageOperations(page, _objectSpread(_objectSpread({}, page.formData), patch));
94
-
95
- page.formData = _objectSpread(_objectSpread(_objectSpread({}, page.formData), patch), operationResults);
92
+ page.formData = _utils.default.Operate.runPageOperations(page, _objectSpread(_objectSpread({}, page.formData), patch), onWrapperChange || onPageChange);
96
93
  return /*#__PURE__*/_react.default.createElement("div", {
97
94
  className: classes('page'),
98
95
  key: page.id
@@ -9,6 +9,8 @@ var _models = require("../../models");
9
9
 
10
10
  var _getCYARow = _interopRequireDefault(require("./getCYARow"));
11
11
 
12
+ var _getCYARowsForCollection = _interopRequireDefault(require("./getCYARowsForCollection"));
13
+
12
14
  var _showComponentCYA = _interopRequireDefault(require("./showComponentCYA"));
13
15
 
14
16
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
@@ -24,11 +26,16 @@ var getCYARowsForContainer = function getCYARowsForContainer(page, container, fo
24
26
  return container.components.filter(function (c) {
25
27
  return (0, _showComponentCYA.default)(c, page.formData);
26
28
  }).flatMap(function (component) {
29
+ var fd = formData ? formData[component.fieldId] : undefined;
30
+
27
31
  if (component.type === _models.ComponentTypes.CONTAINER) {
28
- var fd = formData ? formData[component.fieldId] : undefined;
29
32
  return getCYARowsForContainer(page, component, fd, onAction);
30
33
  }
31
34
 
35
+ if (component.type === _models.ComponentTypes.COLLECTION) {
36
+ return (0, _getCYARowsForCollection.default)(page, component, fd, onAction);
37
+ }
38
+
32
39
  return (0, _getCYARow.default)(_objectSpread(_objectSpread({}, page), {}, {
33
40
  formData: formData
34
41
  }), component, onAction);
@@ -8,7 +8,8 @@ var _getCYARowsForContainer = _interopRequireDefault(require("./getCYARowsForCon
8
8
 
9
9
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
10
10
 
11
- // Local imports
11
+ function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
12
+
12
13
  describe('utils.CheckYourAnswers.getCYARowsForContainer', function () {
13
14
  it('should get an appropriate row for a container with a single readonly text component', function () {
14
15
  var FORM_DATA = {
@@ -250,4 +251,73 @@ describe('utils.CheckYourAnswers.getCYARowsForContainer', function () {
250
251
  });
251
252
  });
252
253
  });
254
+ it('should get an appropriate row for a collection with a single text component inside a container', function () {
255
+ var OUTER_ID = 'a';
256
+ var INNER_ID = 'b';
257
+
258
+ var FORM_DATA = _defineProperty({}, OUTER_ID, [_defineProperty({}, INNER_ID, 'Bravo'), _defineProperty({}, INNER_ID, 'Charlie')]);
259
+
260
+ var PAGE = {
261
+ id: 'page',
262
+ formData: FORM_DATA,
263
+ cya_link: {},
264
+ collection: 'collectionName'
265
+ };
266
+ var COLLECTION_COMPONENT = {
267
+ type: 'collection',
268
+ id: OUTER_ID,
269
+ fieldId: OUTER_ID,
270
+ label: 'Alpha',
271
+ item: [{
272
+ id: INNER_ID,
273
+ fieldId: INNER_ID,
274
+ label: INNER_ID,
275
+ type: 'text'
276
+ }]
277
+ };
278
+ var CONTAINER = {
279
+ id: 'container',
280
+ fieldId: 'container',
281
+ type: _models.ComponentTypes.CONTAINER,
282
+ components: [COLLECTION_COMPONENT],
283
+ value: FORM_DATA.container,
284
+ formData: FORM_DATA
285
+ };
286
+ var ROWS = (0, _getCYARowsForContainer.default)(PAGE, CONTAINER, FORM_DATA, function () {});
287
+ expect(ROWS.length).toEqual(4);
288
+
289
+ var checkTitleRow = function checkTitleRow(index, row) {
290
+ expect(row).toEqual({
291
+ pageId: PAGE.id,
292
+ fieldId: CONTAINER.components[0].fieldId,
293
+ key: "Item ".concat(index + 1),
294
+ action: null,
295
+ full_path: "".concat(OUTER_ID, "[").concat(index, "]"),
296
+ type: 'title'
297
+ });
298
+ };
299
+
300
+ var checkValueRow = function checkValueRow(index, row, value) {
301
+ (0, _setupTests.expectObjectLike)(row, {
302
+ pageId: PAGE.id,
303
+ fieldId: INNER_ID,
304
+ key: INNER_ID,
305
+ id: INNER_ID,
306
+ component: {
307
+ fieldId: INNER_ID,
308
+ full_path: "".concat(OUTER_ID, "[").concat(index, "].").concat(INNER_ID),
309
+ id: INNER_ID,
310
+ label: INNER_ID,
311
+ type: 'text'
312
+ },
313
+ value: value,
314
+ full_path: "".concat(OUTER_ID, "[").concat(index, "].").concat(INNER_ID)
315
+ });
316
+ };
317
+
318
+ checkTitleRow(0, ROWS[0]);
319
+ checkValueRow(0, ROWS[1], 'Bravo');
320
+ checkTitleRow(1, ROWS[2]);
321
+ checkValueRow(1, ROWS[3], 'Charlie');
322
+ });
253
323
  });
@@ -0,0 +1,46 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+
8
+ var _copReactComponents = require("@ukhomeoffice/cop-react-components");
9
+
10
+ var _getSourceData = _interopRequireDefault(require("../Data/getSourceData"));
11
+
12
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
13
+
14
+ // Global imports.
15
+ // Local imports.
16
+
17
+ /**
18
+ * Simple operation to call the page's onChange handler with a specific value
19
+ * and name. Supports getting a value from an interpolated field string.
20
+ * @param {object} config The operation config.
21
+ * @param {object} data The page's formData.
22
+ * @param {function} onChange The page's onChange handler.
23
+ */
24
+ var persistValueInFormData = function persistValueInFormData(config, data, onChange) {
25
+ var value;
26
+
27
+ if (config !== null && config !== void 0 && config.field) {
28
+ var fieldPath = _copReactComponents.Utils.interpolateString(config.field, data);
29
+
30
+ value = (0, _getSourceData.default)(data, fieldPath);
31
+ } else {
32
+ value = config === null || config === void 0 ? void 0 : config.value;
33
+ }
34
+
35
+ if (value && config.name && data[config.name] !== value) {
36
+ onChange({
37
+ target: {
38
+ name: config.name,
39
+ value: value
40
+ }
41
+ });
42
+ }
43
+ };
44
+
45
+ var _default = persistValueInFormData;
46
+ exports.default = _default;
@@ -0,0 +1,105 @@
1
+ "use strict";
2
+
3
+ var _persistValueInFormData = _interopRequireDefault(require("./persistValueInFormData"));
4
+
5
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
6
+
7
+ describe('Utils.Operate.persistValueInFormData', function () {
8
+ var DATA = {
9
+ alpha: 'abc',
10
+ beta: 'charlie',
11
+ charlie: '123'
12
+ };
13
+ var ON_CHANGE_COUNT = 0;
14
+
15
+ var ON_CHANGE = function ON_CHANGE(_ref) {
16
+ var target = _ref.target;
17
+ DATA[target.name] = target.value;
18
+ ON_CHANGE_COUNT++;
19
+ };
20
+
21
+ beforeEach(function () {
22
+ DATA = {
23
+ alpha: 'abc',
24
+ beta: 'charlie',
25
+ charlie: '123'
26
+ };
27
+ ON_CHANGE_COUNT = 0;
28
+ });
29
+ it('Should trigger a change correctly', function () {
30
+ var CONFIG = {
31
+ name: 'alpha',
32
+ value: 'bcd'
33
+ };
34
+ (0, _persistValueInFormData.default)(CONFIG, DATA, ON_CHANGE);
35
+ expect(DATA).toEqual({
36
+ alpha: 'bcd',
37
+ beta: 'charlie',
38
+ charlie: '123'
39
+ });
40
+ expect(ON_CHANGE_COUNT).toEqual(1);
41
+ });
42
+ it('Should not call onChange when value is unchanged', function () {
43
+ var CONFIG = {
44
+ name: 'alpha',
45
+ value: 'abc'
46
+ };
47
+ (0, _persistValueInFormData.default)(CONFIG, DATA, ON_CHANGE);
48
+ expect(DATA).toEqual({
49
+ alpha: 'abc',
50
+ beta: 'charlie',
51
+ charlie: '123'
52
+ });
53
+ expect(ON_CHANGE_COUNT).toEqual(0);
54
+ });
55
+ it('Should not call onChange if no value or field is given', function () {
56
+ var CONFIG = {
57
+ name: 'alpha'
58
+ };
59
+ (0, _persistValueInFormData.default)(CONFIG, DATA, ON_CHANGE);
60
+ expect(DATA).toEqual({
61
+ alpha: 'abc',
62
+ beta: 'charlie',
63
+ charlie: '123'
64
+ });
65
+ expect(ON_CHANGE_COUNT).toEqual(0);
66
+ });
67
+ it('Should not call onChange if no name is given', function () {
68
+ var CONFIG = {
69
+ field: 'charlie'
70
+ };
71
+ (0, _persistValueInFormData.default)(CONFIG, DATA, ON_CHANGE);
72
+ expect(DATA).toEqual({
73
+ alpha: 'abc',
74
+ beta: 'charlie',
75
+ charlie: '123'
76
+ });
77
+ expect(ON_CHANGE_COUNT).toEqual(0);
78
+ });
79
+ it('Should not call onChange if field cannot be found', function () {
80
+ var CONFIG = {
81
+ name: 'alpha',
82
+ field: 'delta'
83
+ };
84
+ (0, _persistValueInFormData.default)(CONFIG, DATA, ON_CHANGE);
85
+ expect(DATA).toEqual({
86
+ alpha: 'abc',
87
+ beta: 'charlie',
88
+ charlie: '123'
89
+ });
90
+ expect(ON_CHANGE_COUNT).toEqual(0);
91
+ });
92
+ it('Should correctly interpolate a field value', function () {
93
+ var CONFIG = {
94
+ name: 'alpha',
95
+ field: '${beta}'
96
+ };
97
+ (0, _persistValueInFormData.default)(CONFIG, DATA, ON_CHANGE);
98
+ expect(DATA).toEqual({
99
+ alpha: '123',
100
+ beta: 'charlie',
101
+ charlie: '123'
102
+ });
103
+ expect(ON_CHANGE_COUNT).toEqual(1);
104
+ });
105
+ });
@@ -5,65 +5,77 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.default = void 0;
7
7
 
8
+ var _copReactComponents = require("@ukhomeoffice/cop-react-components");
9
+
8
10
  var _checkValueIsTruthy = _interopRequireDefault(require("./checkValueIsTruthy"));
9
11
 
10
12
  var _getIndexOfMatchingValueIn = _interopRequireDefault(require("./getIndexOfMatchingValueIn"));
11
13
 
12
- var _getValueFromFormData = _interopRequireDefault(require("./getValueFromFormData"));
14
+ var _persistValueInFormData = _interopRequireDefault(require("./persistValueInFormData"));
13
15
 
14
- var _shouldRun = _interopRequireDefault(require("./shouldRun"));
16
+ var _setValueInFormData = _interopRequireDefault(require("./setValueInFormData"));
15
17
 
16
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
17
-
18
- function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
18
+ var _shouldRun = _interopRequireDefault(require("./shouldRun"));
19
19
 
20
- function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
20
+ var _setDataItem = _interopRequireDefault(require("../Data/setDataItem"));
21
21
 
22
- function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
22
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
23
23
 
24
+ // Global imports.
25
+ // Local imports.
24
26
  var functions = {
25
27
  checkValueIsTruthy: _checkValueIsTruthy.default,
26
28
  getIndexOfMatchingValueIn: _getIndexOfMatchingValueIn.default,
27
- getValueFromFormData: _getValueFromFormData.default
29
+ persistValueInFormData: _persistValueInFormData.default,
30
+ setValueInFormData: _setValueInFormData.default
28
31
  };
29
32
 
30
- var doOperation = function doOperation(config, data) {
33
+ var doOperation = function doOperation(config, data, onChange) {
31
34
  var fn = functions[config.function];
32
35
 
33
36
  if (typeof fn === 'function') {
34
- return fn(config, data);
37
+ return fn(config, data, onChange);
35
38
  }
36
39
 
37
40
  return undefined;
38
41
  };
39
42
  /**
40
- * Run operations specified in a page's config on formData.
41
- * The results of any operations are stored in an object with
42
- * the format of { operation_name: result, ... }.
43
+ * Run operations, specified in a page's config, on formData.
44
+ *
45
+ * The result of an operation will be placed in data according
46
+ * to the operations 'output' string. This string is a dot
47
+ * separated fieldId. If any part of the output doesn't exist,
48
+ * then it is created.
43
49
  *
44
- * If the page has no 'operations' field, or no valid operations
45
- * are given, then an empty object is returned.
50
+ * The page's onChange handler is passed in here in case any
51
+ * operation needs to persist its value within formData. Normally
52
+ * any operation result only lasts until the page is re-rendered.
46
53
  *
47
54
  * @param {object} config The config for the page.
48
55
  * @param {object} data The page's formData.
49
- * @returns An object containing the results of the operations.
56
+ * @param {function} onChange The page's onChange handler.
57
+ * @returns data with the results of any operations included.
50
58
  */
51
59
 
52
60
 
53
- var runPageOperations = function runPageOperations(config, data) {
54
- var result = {};
55
-
61
+ var runPageOperations = function runPageOperations(config, data, onChange) {
56
62
  if (config !== null && config !== void 0 && config.operations && data) {
57
63
  config.operations.forEach(function (op) {
58
- if (op.output) {
59
- if ((0, _shouldRun.default)(op.run_when, data)) {
60
- result[op.output] = doOperation(op, _objectSpread(_objectSpread({}, data), result));
64
+ if ((0, _shouldRun.default)(op.run_when, data)) {
65
+ var result = doOperation(op, data, onChange);
66
+
67
+ if (op.output) {
68
+ // Remove array indexers and replace them with dot separators. This ensures that outputPath will
69
+ // work with setDataItem.
70
+ var outputPath = _copReactComponents.Utils.interpolateString(op.output, data).replace('[', '.').replace(']', '');
71
+
72
+ (0, _setDataItem.default)(data, outputPath, result);
61
73
  }
62
74
  }
63
75
  });
64
76
  }
65
77
 
66
- return result;
78
+ return data;
67
79
  };
68
80
 
69
81
  var _default = runPageOperations;
@@ -4,64 +4,102 @@ var _runPageOperations = _interopRequireDefault(require("./runPageOperations"));
4
4
 
5
5
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
6
6
 
7
+ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
8
+
9
+ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
10
+
11
+ function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
12
+
7
13
  describe('Utils.Operate.runPageOperations', function () {
8
14
  var DATA = {
9
15
  alpha: 'abc',
10
16
  bravo: ['bcd', 'cde', 'charlie'],
11
- charlie: 'def'
17
+ charlie: 'def',
18
+ delta: 'root',
19
+ array: ['123', '234', '456']
12
20
  };
13
21
  it('Should return an empty object when no operations are specified', function () {
14
22
  var PAGE = {};
15
23
  var result = (0, _runPageOperations.default)(PAGE, DATA);
16
- expect(result).toEqual({});
24
+ expect(result).toEqual(DATA);
17
25
  });
18
26
  it('Should handle a single operation correctly', function () {
19
27
  var PAGE = {
20
28
  operations: [{
21
29
  output: 'firstOpResult',
22
- function: 'getValueFromFormData',
30
+ function: 'setValueInFormData',
23
31
  field: 'alpha'
24
32
  }]
25
33
  };
26
34
  var result = (0, _runPageOperations.default)(PAGE, DATA);
27
- expect(result).toEqual({
35
+ expect(result).toEqual(_objectSpread(_objectSpread({}, DATA), {}, {
28
36
  firstOpResult: 'abc'
29
- });
37
+ }));
30
38
  });
31
39
  it('Should handle a multiple operations correctly', function () {
32
40
  var PAGE = {
33
41
  operations: [{
34
42
  output: 'firstOpResult',
35
- function: 'getValueFromFormData',
43
+ function: 'setValueInFormData',
36
44
  field: 'alpha'
37
45
  }, {
38
46
  output: 'secondOpResult',
39
- function: 'getValueFromFormData',
47
+ function: 'setValueInFormData',
40
48
  field: 'bravo[1]'
41
49
  }]
42
50
  };
43
51
  var result = (0, _runPageOperations.default)(PAGE, DATA);
44
- expect(result).toEqual({
52
+ expect(result).toEqual(_objectSpread(_objectSpread({}, DATA), {}, {
45
53
  firstOpResult: 'abc',
46
54
  secondOpResult: 'cde'
47
- });
55
+ }));
48
56
  });
49
57
  it('Should handle chained operations correctly', function () {
50
58
  var PAGE = {
51
59
  operations: [{
52
60
  output: 'firstOpResult',
53
- function: 'getValueFromFormData',
61
+ function: 'setValueInFormData',
54
62
  field: 'bravo[2]'
55
63
  }, {
56
64
  output: 'secondOpResult',
57
- function: 'getValueFromFormData',
65
+ function: 'setValueInFormData',
58
66
  field: '${firstOpResult}'
59
67
  }]
60
68
  };
61
69
  var result = (0, _runPageOperations.default)(PAGE, DATA);
62
- expect(result).toEqual({
70
+ expect(result).toEqual(_objectSpread(_objectSpread({}, DATA), {}, {
63
71
  firstOpResult: 'charlie',
64
72
  secondOpResult: 'def'
65
- });
73
+ }));
74
+ });
75
+ it('Should handle an interpolated output string correctly', function () {
76
+ var PAGE = {
77
+ operations: [{
78
+ function: 'setValueInFormData',
79
+ value: 'leaf',
80
+ output: '${delta}.trunk.branch'
81
+ }]
82
+ };
83
+ var result = (0, _runPageOperations.default)(PAGE, DATA);
84
+ expect(result).toEqual(_objectSpread(_objectSpread({}, DATA), {}, {
85
+ root: {
86
+ trunk: {
87
+ branch: 'leaf'
88
+ }
89
+ }
90
+ }));
91
+ });
92
+ it('Should handle an output string with array indeces in', function () {
93
+ var PAGE = {
94
+ operations: [{
95
+ function: 'setValueInFormData',
96
+ value: '000',
97
+ output: 'array[1]'
98
+ }]
99
+ };
100
+ var result = (0, _runPageOperations.default)(PAGE, DATA);
101
+ expect(result).toEqual(_objectSpread(_objectSpread({}, DATA), {}, {
102
+ array: ['123', '000', '456']
103
+ }));
66
104
  });
67
105
  });
@@ -13,7 +13,7 @@ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { de
13
13
 
14
14
  // Global imports.
15
15
  // Local imports.
16
- var getValueFromFormData = function getValueFromFormData(config, data) {
16
+ var setValueInFormData = function setValueInFormData(config, data) {
17
17
  if (config !== null && config !== void 0 && config.field) {
18
18
  var fieldPath = _copReactComponents.Utils.interpolateString(config.field, data);
19
19
 
@@ -23,5 +23,5 @@ var getValueFromFormData = function getValueFromFormData(config, data) {
23
23
  return (config === null || config === void 0 ? void 0 : config.value) || null;
24
24
  };
25
25
 
26
- var _default = getValueFromFormData;
26
+ var _default = setValueInFormData;
27
27
  exports.default = _default;
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
 
3
- var _getValueFromFormData = _interopRequireDefault(require("./getValueFromFormData"));
3
+ var _setValueInFormData = _interopRequireDefault(require("./setValueInFormData"));
4
4
 
5
5
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
6
6
 
@@ -14,32 +14,32 @@ describe('Utils.Operate.addToFormData', function () {
14
14
  var CONFIG = {
15
15
  value: '2'
16
16
  };
17
- var result = (0, _getValueFromFormData.default)(CONFIG, DATA);
17
+ var result = (0, _setValueInFormData.default)(CONFIG, DATA);
18
18
  expect(result).toEqual(CONFIG.value);
19
19
  });
20
20
  it('Should return the value of the field given in config, if it exists', function () {
21
21
  var CONFIG = {
22
22
  field: 'a'
23
23
  };
24
- var result = (0, _getValueFromFormData.default)(CONFIG, DATA);
24
+ var result = (0, _setValueInFormData.default)(CONFIG, DATA);
25
25
  expect(result).toEqual(DATA.a);
26
26
  });
27
27
  it('Should handle interpolated field strings', function () {
28
28
  var CONFIG = {
29
29
  field: 'b[${indexOfThree}]'
30
30
  };
31
- var result = (0, _getValueFromFormData.default)(CONFIG, DATA);
31
+ var result = (0, _setValueInFormData.default)(CONFIG, DATA);
32
32
  expect(result).toEqual(DATA.b[1]);
33
33
  });
34
34
  it('Should return null when an invalid config is used', function () {
35
- var result = (0, _getValueFromFormData.default)(null, DATA);
35
+ var result = (0, _setValueInFormData.default)(null, DATA);
36
36
  expect(result).toEqual(null);
37
37
  });
38
38
  it('Should return null when invalid data is used', function () {
39
39
  var CONFIG = {
40
40
  field: 'a'
41
41
  };
42
- var result = (0, _getValueFromFormData.default)(CONFIG, null);
42
+ var result = (0, _setValueInFormData.default)(CONFIG, null);
43
43
  expect(result).toEqual(null);
44
44
  });
45
45
  });
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ukhomeoffice/cop-react-form-renderer",
3
- "version": "4.5.0",
3
+ "version": "4.7.0",
4
4
  "private": false,
5
5
  "scripts": {
6
6
  "clean": "rimraf dist",