diff --git a/.changeset/long-islands-call.md b/.changeset/long-islands-call.md new file mode 100644 index 0000000000..6483792751 --- /dev/null +++ b/.changeset/long-islands-call.md @@ -0,0 +1,5 @@ +--- +'@forgerock/davinci-client': patch +--- + +handle formData lookup with more saftey in case it is not in response diff --git a/packages/davinci-client/src/lib/node.reducer.test.ts b/packages/davinci-client/src/lib/node.reducer.test.ts index 68cc609035..fa45041de5 100644 --- a/packages/davinci-client/src/lib/node.reducer.test.ts +++ b/packages/davinci-client/src/lib/node.reducer.test.ts @@ -148,7 +148,9 @@ describe('The node collector reducer', () => { }, ], formData: { - username: 'This is the default data', + value: { + username: 'This is the default data', + }, }, }, }; diff --git a/packages/davinci-client/src/lib/node.reducer.ts b/packages/davinci-client/src/lib/node.reducer.ts index 64f5d07b97..39d4199f23 100644 --- a/packages/davinci-client/src/lib/node.reducer.ts +++ b/packages/davinci-client/src/lib/node.reducer.ts @@ -47,7 +47,7 @@ import { */ export const nextCollectorValues = createAction<{ fields: DaVinciField[]; - formData: Record; + formData: { value: Record }; }>('node/next'); export const updateCollectorValues = createAction<{ id: string; @@ -97,7 +97,10 @@ export const nodeCollectorReducer = createReducer(initialCollectorValues, (build } // *Some* collectors may have default or existing data to display - const data = action.payload.formData[field.key]; + const data = + action.payload.formData && + action.payload.formData.value && + action.payload.formData.value[field.key]; // Match specific collectors switch (field.type) {