@@ -76,8 +76,8 @@ public async Task CreateMessage_WhenMessageIsValid_AddMessageToCollectionAndRetu
76
76
"MessageId" ,
77
77
testSender ,
78
78
"MessageText" ,
79
- new List < Recipe > ( )
80
- {
79
+ new List < Recipe > ( )
80
+ {
81
81
new (
82
82
"RecipeId" ,
83
83
"RecipeTitle" ,
@@ -116,7 +116,7 @@ public async Task CreateMessage_WhenMessageIsValid_AddMessageToCollectionAndRetu
116
116
&& doc . MessageContent . ImageURLs ! . SequenceEqual ( expectedMessage . ImageURLs )
117
117
&& doc . SentDate == expectedMessage . SentDate
118
118
&& doc . LastUpdatedDate == expectedMessage . UpdatedDate
119
- && doc . MessageRepliedToId == null ) ,
119
+ && doc . MessageRepliedToId == null ) ,
120
120
It . IsAny < CancellationToken > ( ) ) , Times . Once ) ;
121
121
}
122
122
@@ -134,15 +134,23 @@ public async Task UpdateMessage_WhenMessageIsTextMessage_UpdatesAndReturnsTrue()
134
134
AccountCreationDate = new ( 2023 , 1 , 1 , 0 , 0 , 0 , TimeSpan . Zero )
135
135
} ;
136
136
137
+ TestUserAccount user2 = new ( )
138
+ {
139
+ Id = "u2" ,
140
+ Handler = "handle_2" ,
141
+ UserName = "User 2" ,
142
+ AccountCreationDate = new ( 2023 , 1 , 1 , 0 , 0 , 0 , TimeSpan . Zero )
143
+ } ;
144
+
137
145
var message = ( TextMessage ) _messageFactory
138
- . CreateTextMessage ( "MessageId" , testSender , "Test Text" , new ( ) , _dateTimeProviderMock . Object . Now ) ;
146
+ . CreateTextMessage ( "MessageId" , testSender , "Test Text" , new ( ) { testSender , user2 } , _dateTimeProviderMock . Object . Now ) ;
139
147
140
148
Expression < Func < MessageDocument , bool > > expectedExpression = x => x . Id == message . Id ;
141
149
142
150
_messageCollectionMock
143
151
. Setup ( collection => collection . UpdateAsync (
144
- It . IsAny < MessageDocument > ( ) ,
145
- It . IsAny < Expression < Func < MessageDocument , bool > > > ( ) ,
152
+ It . IsAny < MessageDocument > ( ) ,
153
+ It . IsAny < Expression < Func < MessageDocument , bool > > > ( ) ,
146
154
It . IsAny < CancellationToken > ( ) ) )
147
155
. ReturnsAsync ( true ) ;
148
156
@@ -152,17 +160,18 @@ public async Task UpdateMessage_WhenMessageIsTextMessage_UpdatesAndReturnsTrue()
152
160
// Then
153
161
result . Should ( ) . BeTrue ( ) ;
154
162
_messageCollectionMock
155
- . Verify ( collection =>
163
+ . Verify ( collection =>
156
164
collection . UpdateAsync (
157
165
It . Is < MessageDocument > ( doc =>
158
166
doc . Id == message . Id
159
167
&& _dataCryptoServiceFake . Decrypt ( doc . MessageContent . Text ! ) == message . TextContent
160
168
&& doc . MessageContent . RecipeIds == null
161
169
&& doc . MessageContent . ImageURLs == null
162
- && doc . SentDate == message . SentDate
170
+ && doc . SentDate == message . SentDate
171
+ && doc . SeenByUserIds . SequenceEqual ( message . GetSeenBy ( ) . Select ( u => u . Id ) )
163
172
) ,
164
- It . Is < Expression < Func < MessageDocument , bool > > > ( expr => Lambda . Eq ( expr , expectedExpression ) ) ,
165
- It . IsAny < CancellationToken > ( ) ) ,
173
+ It . Is < Expression < Func < MessageDocument , bool > > > ( expr => Lambda . Eq ( expr , expectedExpression ) ) ,
174
+ It . IsAny < CancellationToken > ( ) ) ,
166
175
Times . Once ) ;
167
176
}
168
177
@@ -194,8 +203,8 @@ public async Task UpdateMessage_WhenMessageIsRecipeMessage_UpdatesAndReturnsTrue
194
203
195
204
_messageCollectionMock
196
205
. Setup ( collection => collection . UpdateAsync (
197
- It . IsAny < MessageDocument > ( ) ,
198
- It . IsAny < Expression < Func < MessageDocument , bool > > > ( ) ,
206
+ It . IsAny < MessageDocument > ( ) ,
207
+ It . IsAny < Expression < Func < MessageDocument , bool > > > ( ) ,
199
208
It . IsAny < CancellationToken > ( ) ) )
200
209
. ReturnsAsync ( true ) ;
201
210
@@ -214,7 +223,7 @@ public async Task UpdateMessage_WhenMessageIsRecipeMessage_UpdatesAndReturnsTrue
214
223
&& doc . MessageContent . ImageURLs == null
215
224
&& doc . SentDate == message . SentDate
216
225
) ,
217
- It . Is < Expression < Func < MessageDocument , bool > > > ( expr => Lambda . Eq ( expr , expectedExpression ) ) ,
226
+ It . Is < Expression < Func < MessageDocument , bool > > > ( expr => Lambda . Eq ( expr , expectedExpression ) ) ,
218
227
It . IsAny < CancellationToken > ( ) ) ,
219
228
Times . Once ) ;
220
229
}
@@ -242,8 +251,8 @@ public async Task UpdateMessage_WhenMessageIsImageMessage_UpdatesAndReturnsTrue(
242
251
243
252
_messageCollectionMock
244
253
. Setup ( collection => collection . UpdateAsync (
245
- It . IsAny < MessageDocument > ( ) ,
246
- It . IsAny < Expression < Func < MessageDocument , bool > > > ( ) ,
254
+ It . IsAny < MessageDocument > ( ) ,
255
+ It . IsAny < Expression < Func < MessageDocument , bool > > > ( ) ,
247
256
It . IsAny < CancellationToken > ( ) ) )
248
257
. ReturnsAsync ( true ) ;
249
258
@@ -262,7 +271,7 @@ public async Task UpdateMessage_WhenMessageIsImageMessage_UpdatesAndReturnsTrue(
262
271
&& doc . MessageContent . ImageURLs ! . SequenceEqual ( imageURLs )
263
272
&& doc . SentDate == message . SentDate
264
273
) ,
265
- It . Is < Expression < Func < MessageDocument , bool > > > ( expr => Lambda . Eq ( expr , expectedExpression ) ) ,
274
+ It . Is < Expression < Func < MessageDocument , bool > > > ( expr => Lambda . Eq ( expr , expectedExpression ) ) ,
266
275
It . IsAny < CancellationToken > ( ) ) ,
267
276
Times . Once ) ;
268
277
}
@@ -285,8 +294,8 @@ public async Task UpdateMessage_WhenMessageIsOfUnexpectedType_LogErrorAndReturnF
285
294
286
295
_messageCollectionMock
287
296
. Setup ( collection => collection . UpdateAsync (
288
- It . IsAny < MessageDocument > ( ) ,
289
- It . IsAny < Expression < Func < MessageDocument , bool > > > ( ) ,
297
+ It . IsAny < MessageDocument > ( ) ,
298
+ It . IsAny < Expression < Func < MessageDocument , bool > > > ( ) ,
290
299
It . IsAny < CancellationToken > ( ) ) )
291
300
. ReturnsAsync ( true ) ;
292
301
@@ -324,8 +333,8 @@ public async Task UpdateMessage_WhenUpdateIsUnsuccessful_ReturnFalse()
324
333
325
334
_messageCollectionMock
326
335
. Setup ( collection => collection . UpdateAsync (
327
- It . IsAny < MessageDocument > ( ) ,
328
- It . IsAny < Expression < Func < MessageDocument , bool > > > ( ) ,
336
+ It . IsAny < MessageDocument > ( ) ,
337
+ It . IsAny < Expression < Func < MessageDocument , bool > > > ( ) ,
329
338
It . IsAny < CancellationToken > ( ) ) )
330
339
. ReturnsAsync ( false ) ;
331
340
@@ -353,7 +362,7 @@ public async Task DeleteMessage_WhenDeleteIsSuccessful_ReturnTrue()
353
362
354
363
_messageCollectionMock
355
364
. Setup ( collection => collection . DeleteAsync (
356
- It . IsAny < Expression < Func < MessageDocument , bool > > > ( ) ,
365
+ It . IsAny < Expression < Func < MessageDocument , bool > > > ( ) ,
357
366
It . IsAny < CancellationToken > ( ) ) )
358
367
. ReturnsAsync ( true ) ;
359
368
@@ -381,7 +390,7 @@ public async Task DeleteMessage_WhenDeleteIsUnsuccessful_ReturnFalse()
381
390
382
391
_messageCollectionMock
383
392
. Setup ( collection => collection . DeleteAsync (
384
- It . IsAny < Expression < Func < MessageDocument , bool > > > ( ) ,
393
+ It . IsAny < Expression < Func < MessageDocument , bool > > > ( ) ,
385
394
It . IsAny < CancellationToken > ( ) ) )
386
395
. ReturnsAsync ( false ) ;
387
396
@@ -400,7 +409,7 @@ public async Task DeleteMessageById_WhenDeleteIsSuccessful_ReturnTrue()
400
409
// Given
401
410
_messageCollectionMock
402
411
. Setup ( collection => collection . DeleteAsync (
403
- It . IsAny < Expression < Func < MessageDocument , bool > > > ( ) ,
412
+ It . IsAny < Expression < Func < MessageDocument , bool > > > ( ) ,
404
413
It . IsAny < CancellationToken > ( ) ) )
405
414
. ReturnsAsync ( true ) ;
406
415
@@ -419,7 +428,7 @@ public async Task DeleteMessageById_WhenDeleteIsUnsuccessful_ReturnFalse()
419
428
// Given
420
429
_messageCollectionMock
421
430
. Setup ( collection => collection . DeleteAsync (
422
- It . IsAny < Expression < Func < MessageDocument , bool > > > ( ) ,
431
+ It . IsAny < Expression < Func < MessageDocument , bool > > > ( ) ,
423
432
It . IsAny < CancellationToken > ( ) ) )
424
433
. ReturnsAsync ( false ) ;
425
434
0 commit comments