diff --git a/lib/reducers/message-reducer.test.js b/lib/reducers/message-reducer.test.js --- a/lib/reducers/message-reducer.test.js +++ b/lib/reducers/message-reducer.test.js @@ -198,3 +198,110 @@ }); }); }); + +describe('SET_MESSAGE_STORE_MESSAGES', () => { + const clientDBMessages = [ + { + id: '103502', + local_id: null, + thread: '88471', + user: '83809', + type: '14', + future_type: null, + content: '[103501]', + time: '1658168455316', + media_infos: [ + { + id: '103501', + uri: 'http://localhost/comm/upload/103501/425db25471f3acd5', + type: 'photo', + extras: '{"dimensions":{"width":1920,"height":1440},"loop":false}', + }, + ], + }, + { + id: 'local10', + local_id: 'local10', + thread: '88471', + user: '83809', + type: '14', + future_type: null, + content: '[null]', + time: '1658172650495', + media_infos: [ + { + id: 'localUpload0', + uri: + 'assets-library://asset/asset.heic?id=CC95F08C-88C3-4012-9D6D-64A413D254B3&ext=heic', + type: 'photo', + extras: + '{"dimensions":{"height":3024,"width":4032},"loop":false,"local_media_selection":{"step":"photo_library","dimensions":{"height":3024,"width":4032},"uri":"assets-library://asset/asset.heic?id=CC95F08C-88C3-4012-9D6D-64A413D254B3&ext=heic","filename":"IMG_0006.HEIC","mediaNativeID":"CC95F08C-88C3-4012-9D6D-64A413D254B3/L0/001","selectTime":1658172650370,"sendTime":1658172650370,"retries":0}}', + }, + ], + }, + { + id: 'local11', + local_id: 'local11', + thread: '88471', + user: '83809', + type: '14', + future_type: null, + content: '[null,null]', + time: '1658172656976', + media_infos: [ + { + id: 'localUpload2', + uri: + 'assets-library://asset/asset.heic?id=CC95F08C-88C3-4012-9D6D-64A413D254B3&ext=heic', + type: 'photo', + extras: + '{"dimensions":{"height":3024,"width":4032},"loop":false,"local_media_selection":{"step":"photo_library","dimensions":{"height":3024,"width":4032},"uri":"assets-library://asset/asset.heic?id=CC95F08C-88C3-4012-9D6D-64A413D254B3&ext=heic","filename":"IMG_0006.HEIC","mediaNativeID":"CC95F08C-88C3-4012-9D6D-64A413D254B3/L0/001","selectTime":1658172656826,"sendTime":1658172656826,"retries":0}}', + }, + { + id: 'localUpload4', + uri: + 'assets-library://asset/asset.jpg?id=ED7AC36B-A150-4C38-BB8C-B6D696F4F2ED&ext=jpg', + type: 'photo', + extras: + '{"dimensions":{"height":2002,"width":3000},"loop":false,"local_media_selection":{"step":"photo_library","dimensions":{"height":2002,"width":3000},"uri":"assets-library://asset/asset.jpg?id=ED7AC36B-A150-4C38-BB8C-B6D696F4F2ED&ext=jpg","filename":"IMG_0005.JPG","mediaNativeID":"ED7AC36B-A150-4C38-BB8C-B6D696F4F2ED/L0/001","selectTime":1658172656826,"sendTime":1658172656826,"retries":0}}', + }, + ], + }, + ]; + + const threads = { + '88471': { + messageIDs: ['local11', 'local10', '103502'], + startReached: false, + lastNavigatedTo: 1658172614602, + lastPruned: 1658169913623, + }, + }; + + const { messageStore: updatedMessageStore } = reduceMessageStore( + { + messages: {}, + threads, + local: {}, + currentAsOf: 1234567890123, + }, + { + type: 'SET_MESSAGE_STORE_MESSAGES', + payload: clientDBMessages, + }, + {}, + ); + test('removes local media when constructing messageStore.messages', () => { + expect(updatedMessageStore.messages).toHaveProperty('103502'); + expect(updatedMessageStore.messages).not.toHaveProperty('local10'); + expect(updatedMessageStore.messages).not.toHaveProperty('local11'); + }); + + test('removes local media when constructing messageStore.threads', () => { + expect(updatedMessageStore).toBeDefined(); + expect(updatedMessageStore.threads).toBeDefined(); + expect(updatedMessageStore.threads['88471']).toBeDefined(); + expect(updatedMessageStore.threads['88471'].messageIDs).toBeDefined(); + expect(updatedMessageStore.threads['88471'].messageIDs).toEqual(['103502']); + }); +});