@@ -20,16 +20,16 @@ import {
20
20
} from '../test/testHelper' ;
21
21
import auth from './auth' ;
22
22
import { addConversation } from './persistance/storage/postgres/addConversation' ;
23
- import { addMessage } from './persistance/storage/postgres/addMessage' ;
24
23
import {
25
- EditMessageBatchPayload ,
24
+ MessageBatch ,
26
25
editMessageBatch ,
27
26
} from './persistance/storage/postgres/editMessageBatch' ;
28
27
import { getConversationList } from './persistance/storage/postgres/getConversationList' ;
29
28
import { getMessages } from './persistance/storage/postgres/getMessages' ;
30
29
import storage from './storage' ;
31
30
import { getNumberOfMessages } from './persistance/storage/postgres/getNumberOfMessages' ;
32
31
import { getNumberOfConversations } from './persistance/storage/postgres/getNumberOfConversations' ;
32
+ import { addMessageBatch } from './persistance/storage/postgres/addMessageBatch' ;
33
33
34
34
const keysA = {
35
35
encryptionKeyPair : {
@@ -95,7 +95,7 @@ describe('Storage', () => {
95
95
} ,
96
96
getIdEnsName : async ( ensName : string ) => ensName ,
97
97
storage_editMessageBatch : editMessageBatch ( prisma ) ,
98
- storage_addMessage : addMessage ( prisma ) ,
98
+ storage_addMessageBatch : addMessageBatch ( prisma ) ,
99
99
storage_getMessages : getMessages ( prisma ) ,
100
100
storage_addConversation : addConversation ( prisma ) ,
101
101
storage_getConversationList : getConversationList ( prisma ) ,
@@ -168,7 +168,7 @@ describe('Storage', () => {
168
168
authorization : `Bearer ${ token } ` ,
169
169
} )
170
170
. send ( {
171
- message : JSON . stringify ( encryptedEnvelop ) ,
171
+ encryptedEnvelopContainer : JSON . stringify ( encryptedEnvelop ) ,
172
172
encryptedContactName : sha256 ( receiver . account . ensName ) ,
173
173
messageId : '123' ,
174
174
} ) ;
@@ -204,6 +204,79 @@ describe('Storage', () => {
204
204
) . toStrictEqual ( encryptedEnvelop ) ;
205
205
} ) ;
206
206
} ) ;
207
+ describe ( 'addMessageBatch' , ( ) => {
208
+ it ( 'can add a messageBatch' , async ( ) => {
209
+ const message = await createMessage (
210
+ sender . account . ensName ,
211
+ receiver . account . ensName ,
212
+ 'Hello' ,
213
+ sender . profileKeys . signingKeyPair . privateKey ,
214
+ ) ;
215
+ const { encryptedEnvelop, envelop } = await buildEnvelop (
216
+ message ,
217
+ ( receiverPublicSigningKey : string , message : string ) => {
218
+ return encryptAsymmetric ( receiverPublicSigningKey , message ) ;
219
+ } ,
220
+ {
221
+ from : sender . account ,
222
+ to : receiver . account ,
223
+ deliverServiceProfile : deliveryService . profile ,
224
+ keys : sender . profileKeys ,
225
+ } ,
226
+ ) ;
227
+
228
+ const { status } = await request ( app )
229
+ . post ( `/new/bob.eth/addMessageBatch` )
230
+ . set ( {
231
+ authorization : `Bearer ${ token } ` ,
232
+ } )
233
+ . send ( {
234
+ encryptedContactName : sha256 ( receiver . account . ensName ) ,
235
+ messageBatch : [
236
+ {
237
+ encryptedEnvelopContainer :
238
+ JSON . stringify ( encryptedEnvelop ) ,
239
+ messageId : '123' ,
240
+ } ,
241
+ {
242
+ encryptedEnvelopContainer :
243
+ JSON . stringify ( encryptedEnvelop ) ,
244
+ messageId : '456' ,
245
+ } ,
246
+ ] ,
247
+ } ) ;
248
+ expect ( status ) . toBe ( 200 ) ;
249
+
250
+ const { body } = await request ( app )
251
+ . get ( `/new/bob.eth/conversationList` )
252
+ . set ( {
253
+ authorization : `Bearer ${ token } ` ,
254
+ } )
255
+ . send ( ) ;
256
+
257
+ expect ( status ) . toBe ( 200 ) ;
258
+ expect ( body ) . toEqual ( [ sha256 ( receiver . account . ensName ) ] ) ;
259
+ expect ( body . length ) . toBe ( 1 ) ;
260
+
261
+ const { status : getMessagesStatus , body : messages } = await request (
262
+ app ,
263
+ )
264
+ . get ( `/new/bob.eth/getMessages` )
265
+ . set ( {
266
+ authorization : `Bearer ${ token } ` ,
267
+ } )
268
+ . send ( {
269
+ encryptedContactName : sha256 ( receiver . account . ensName ) ,
270
+ page : 0 ,
271
+ } ) ;
272
+
273
+ expect ( getMessagesStatus ) . toBe ( 200 ) ;
274
+ expect ( messages . length ) . toBe ( 2 ) ;
275
+ expect (
276
+ JSON . parse ( JSON . parse ( messages [ 0 ] ) . encryptedEnvelopContainer ) ,
277
+ ) . toStrictEqual ( encryptedEnvelop ) ;
278
+ } ) ;
279
+ } ) ;
207
280
describe ( 'getNumberOfMessages' , ( ) => {
208
281
it ( 'can get number of messages' , async ( ) => {
209
282
//create message
@@ -232,7 +305,7 @@ describe('Storage', () => {
232
305
authorization : `Bearer ${ token } ` ,
233
306
} )
234
307
. send ( {
235
- message : JSON . stringify ( encryptedEnvelop ) ,
308
+ encryptedEnvelopContainer : JSON . stringify ( encryptedEnvelop ) ,
236
309
encryptedContactName : sha256 ( receiver . account . ensName ) ,
237
310
messageId : '123' ,
238
311
} ) ;
@@ -243,7 +316,7 @@ describe('Storage', () => {
243
316
authorization : `Bearer ${ token } ` ,
244
317
} )
245
318
. send ( {
246
- message : JSON . stringify ( encryptedEnvelop ) ,
319
+ encryptedEnvelopContainer : JSON . stringify ( encryptedEnvelop ) ,
247
320
encryptedContactName : sha256 ( receiver . account . ensName ) ,
248
321
messageId : '456' ,
249
322
} ) ;
@@ -254,7 +327,7 @@ describe('Storage', () => {
254
327
authorization : `Bearer ${ token } ` ,
255
328
} )
256
329
. send ( {
257
- message : JSON . stringify ( encryptedEnvelop ) ,
330
+ encryptedEnvelopContainer : JSON . stringify ( encryptedEnvelop ) ,
258
331
encryptedContactName : sha256 ( receiver . account . ensName ) ,
259
332
messageId : '123' ,
260
333
} ) ;
@@ -319,7 +392,7 @@ describe('Storage', () => {
319
392
describe ( 'editMessageBatch' , ( ) => {
320
393
it ( 'should create a message if they has not been created before' , async ( ) => {
321
394
const encryptedContactName = 'testContactName' ;
322
- const payload : EditMessageBatchPayload [ ] = [
395
+ const payload : MessageBatch [ ] = [
323
396
{
324
397
messageId : 'testMessageId' ,
325
398
encryptedEnvelopContainer : 'testEncryptedEnvelopContainer' ,
@@ -359,7 +432,7 @@ describe('Storage', () => {
359
432
it ( 'should update encryptedMessage message' , async ( ) => {
360
433
const ensName = 'testEnsName' ;
361
434
const contactName = 'testContactName' ;
362
- const originalPayload : EditMessageBatchPayload [ ] = [
435
+ const originalPayload : MessageBatch [ ] = [
363
436
{
364
437
messageId : 'testMessageId' ,
365
438
encryptedEnvelopContainer : 'testEncryptedEnvelopContainer' ,
@@ -371,13 +444,13 @@ describe('Storage', () => {
371
444
authorization : `Bearer ${ token } ` ,
372
445
} )
373
446
. send ( {
374
- message : JSON . stringify ( originalPayload ) ,
447
+ encryptedEnvelopContainer : JSON . stringify ( originalPayload ) ,
375
448
encryptedContactName : sha256 ( receiver . account . ensName ) ,
376
449
messageId : '123' ,
377
450
} ) ;
378
451
expect ( status ) . toBe ( 200 ) ;
379
452
380
- const updatedPayload : EditMessageBatchPayload [ ] = [
453
+ const updatedPayload : MessageBatch [ ] = [
381
454
{
382
455
messageId : 'testMessageId' ,
383
456
encryptedEnvelopContainer : 'NEW ENVELOP' ,
0 commit comments