From 7261092ade76b23d2aec8bc07384a8454be1595b Mon Sep 17 00:00:00 2001 From: Norman Meier Date: Wed, 5 Feb 2020 16:32:51 +0000 Subject: [PATCH] fix(mvp/test): convert serialized Uint8Arrays from redux-test-recorder --- js/packages/store/chat/account.ts | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/js/packages/store/chat/account.ts b/js/packages/store/chat/account.ts index 5f6c8b393c..14e19db9cb 100644 --- a/js/packages/store/chat/account.ts +++ b/js/packages/store/chat/account.ts @@ -100,6 +100,19 @@ const commandHandler = createSlice({ }, }) +const intoBuffer = ( + thing: Buffer | Uint8Array | { [key: string]: number } | { [key: number]: number }, +): Buffer => { + // redux-test-recorder f up the Uint8Arrays so we have to use this monster + if (thing instanceof Buffer) { + return thing + } + if (thing instanceof Uint8Array) { + return Buffer.from(thing) + } + return Buffer.from(Object.values(thing)) +} + const eventHandler = createSlice({ name: 'chat/account/event', initialState, @@ -133,7 +146,7 @@ const eventHandler = createSlice({ extraReducers: { [protocol.events.client.contactRequestReferenceUpdated.type]: (state, { payload }) => { if (state.aggregates[payload.aggregateId]) { - state.aggregates[payload.aggregateId].contactRequestReference = Buffer.from( + state.aggregates[payload.aggregateId].contactRequestReference = intoBuffer( payload.reference, ).toString('base64') }