From b1159e147380e024e66879f4fe2e8061d215cedc Mon Sep 17 00:00:00 2001 From: StephanieJKS <47713197+StephanieJKS@users.noreply.github.com> Date: Mon, 25 Jul 2022 16:08:50 +0200 Subject: [PATCH] fix(build): Add default for catch when try is defined and catch is not. --- .../build/buildPages/buildBlock/buildEvents.js | 3 +++ .../buildPages/buildBlock/buildEvents.test.js | 16 ++++++++-------- 2 files changed, 11 insertions(+), 8 deletions(-) diff --git a/packages/build/src/build/buildPages/buildBlock/buildEvents.js b/packages/build/src/build/buildPages/buildBlock/buildEvents.js index fba54a2ad3..bd96fa27e2 100644 --- a/packages/build/src/build/buildPages/buildBlock/buildEvents.js +++ b/packages/build/src/build/buildPages/buildBlock/buildEvents.js @@ -74,6 +74,9 @@ function buildEvents(block, pageContext) { }". Received ${JSON.stringify(block.events[key].try)}` ); } + if (type.isNone(block.events[key].catch)) { + block.events[key].catch = []; + } if (!type.isArray(block.events[key].catch)) { throw new Error( `Catch actions must be an array at "${block.blockId}" in event "${key}.catch" on page "${ diff --git a/packages/build/src/build/buildPages/buildBlock/buildEvents.test.js b/packages/build/src/build/buildPages/buildBlock/buildEvents.test.js index b16243b318..ee727b0e2d 100644 --- a/packages/build/src/build/buildPages/buildBlock/buildEvents.test.js +++ b/packages/build/src/build/buildPages/buildBlock/buildEvents.test.js @@ -146,14 +146,14 @@ test('block events actions as try array and catch not defined.', () => { }, ], }; - expect(() => - buildPages({ - components, - context, - }) - ).toThrow( - 'Catch actions must be an array at "block_1" in event "onClick.catch" on page "page_1". Received undefined' - ); + const res = buildPages({ components, context }); + expect(get(res, 'pages.0.areas.content.blocks.0.events.onClick.try')).toEqual([ + { + id: 'action_1', + type: 'Reset', + }, + ]); + expect(get(res, 'pages.0.areas.content.blocks.0.events.onClick.catch')).toEqual([]); }); test('block events actions try not an array', () => {