Skip to content

Commit 11b3ae0

Browse files
Merge pull request #2 from Andrei-Constantin-Programmer/develop
Fixes
2 parents 5ebe5d2 + ae3704d commit 11b3ae0

File tree

1 file changed

+33
-24
lines changed

1 file changed

+33
-24
lines changed

RecipeSocialMediaAPI.Infrastructure.Tests.Unit/Repositories/Messages/MessagePersistenceRepositoryTests.cs

+33-24
Original file line numberDiff line numberDiff line change
@@ -76,8 +76,8 @@ public async Task CreateMessage_WhenMessageIsValid_AddMessageToCollectionAndRetu
7676
"MessageId",
7777
testSender,
7878
"MessageText",
79-
new List<Recipe>()
80-
{
79+
new List<Recipe>()
80+
{
8181
new(
8282
"RecipeId",
8383
"RecipeTitle",
@@ -116,7 +116,7 @@ public async Task CreateMessage_WhenMessageIsValid_AddMessageToCollectionAndRetu
116116
&& doc.MessageContent.ImageURLs!.SequenceEqual(expectedMessage.ImageURLs)
117117
&& doc.SentDate == expectedMessage.SentDate
118118
&& doc.LastUpdatedDate == expectedMessage.UpdatedDate
119-
&& doc.MessageRepliedToId == null),
119+
&& doc.MessageRepliedToId == null),
120120
It.IsAny<CancellationToken>()), Times.Once);
121121
}
122122

@@ -134,15 +134,23 @@ public async Task UpdateMessage_WhenMessageIsTextMessage_UpdatesAndReturnsTrue()
134134
AccountCreationDate = new(2023, 1, 1, 0, 0, 0, TimeSpan.Zero)
135135
};
136136

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+
137145
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);
139147

140148
Expression<Func<MessageDocument, bool>> expectedExpression = x => x.Id == message.Id;
141149

142150
_messageCollectionMock
143151
.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>>>(),
146154
It.IsAny<CancellationToken>()))
147155
.ReturnsAsync(true);
148156

@@ -152,17 +160,18 @@ public async Task UpdateMessage_WhenMessageIsTextMessage_UpdatesAndReturnsTrue()
152160
// Then
153161
result.Should().BeTrue();
154162
_messageCollectionMock
155-
.Verify(collection =>
163+
.Verify(collection =>
156164
collection.UpdateAsync(
157165
It.Is<MessageDocument>(doc =>
158166
doc.Id == message.Id
159167
&& _dataCryptoServiceFake.Decrypt(doc.MessageContent.Text!) == message.TextContent
160168
&& doc.MessageContent.RecipeIds == null
161169
&& doc.MessageContent.ImageURLs == null
162-
&& doc.SentDate == message.SentDate
170+
&& doc.SentDate == message.SentDate
171+
&& doc.SeenByUserIds.SequenceEqual(message.GetSeenBy().Select(u => u.Id))
163172
),
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>()),
166175
Times.Once);
167176
}
168177

@@ -194,8 +203,8 @@ public async Task UpdateMessage_WhenMessageIsRecipeMessage_UpdatesAndReturnsTrue
194203

195204
_messageCollectionMock
196205
.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>>>(),
199208
It.IsAny<CancellationToken>()))
200209
.ReturnsAsync(true);
201210

@@ -214,7 +223,7 @@ public async Task UpdateMessage_WhenMessageIsRecipeMessage_UpdatesAndReturnsTrue
214223
&& doc.MessageContent.ImageURLs == null
215224
&& doc.SentDate == message.SentDate
216225
),
217-
It.Is<Expression<Func<MessageDocument, bool>>>(expr => Lambda.Eq(expr, expectedExpression)),
226+
It.Is<Expression<Func<MessageDocument, bool>>>(expr => Lambda.Eq(expr, expectedExpression)),
218227
It.IsAny<CancellationToken>()),
219228
Times.Once);
220229
}
@@ -242,8 +251,8 @@ public async Task UpdateMessage_WhenMessageIsImageMessage_UpdatesAndReturnsTrue(
242251

243252
_messageCollectionMock
244253
.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>>>(),
247256
It.IsAny<CancellationToken>()))
248257
.ReturnsAsync(true);
249258

@@ -262,7 +271,7 @@ public async Task UpdateMessage_WhenMessageIsImageMessage_UpdatesAndReturnsTrue(
262271
&& doc.MessageContent.ImageURLs!.SequenceEqual(imageURLs)
263272
&& doc.SentDate == message.SentDate
264273
),
265-
It.Is<Expression<Func<MessageDocument, bool>>>(expr => Lambda.Eq(expr, expectedExpression)),
274+
It.Is<Expression<Func<MessageDocument, bool>>>(expr => Lambda.Eq(expr, expectedExpression)),
266275
It.IsAny<CancellationToken>()),
267276
Times.Once);
268277
}
@@ -285,8 +294,8 @@ public async Task UpdateMessage_WhenMessageIsOfUnexpectedType_LogErrorAndReturnF
285294

286295
_messageCollectionMock
287296
.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>>>(),
290299
It.IsAny<CancellationToken>()))
291300
.ReturnsAsync(true);
292301

@@ -324,8 +333,8 @@ public async Task UpdateMessage_WhenUpdateIsUnsuccessful_ReturnFalse()
324333

325334
_messageCollectionMock
326335
.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>>>(),
329338
It.IsAny<CancellationToken>()))
330339
.ReturnsAsync(false);
331340

@@ -353,7 +362,7 @@ public async Task DeleteMessage_WhenDeleteIsSuccessful_ReturnTrue()
353362

354363
_messageCollectionMock
355364
.Setup(collection => collection.DeleteAsync(
356-
It.IsAny<Expression<Func<MessageDocument, bool>>>(),
365+
It.IsAny<Expression<Func<MessageDocument, bool>>>(),
357366
It.IsAny<CancellationToken>()))
358367
.ReturnsAsync(true);
359368

@@ -381,7 +390,7 @@ public async Task DeleteMessage_WhenDeleteIsUnsuccessful_ReturnFalse()
381390

382391
_messageCollectionMock
383392
.Setup(collection => collection.DeleteAsync(
384-
It.IsAny<Expression<Func<MessageDocument, bool>>>(),
393+
It.IsAny<Expression<Func<MessageDocument, bool>>>(),
385394
It.IsAny<CancellationToken>()))
386395
.ReturnsAsync(false);
387396

@@ -400,7 +409,7 @@ public async Task DeleteMessageById_WhenDeleteIsSuccessful_ReturnTrue()
400409
// Given
401410
_messageCollectionMock
402411
.Setup(collection => collection.DeleteAsync(
403-
It.IsAny<Expression<Func<MessageDocument, bool>>>(),
412+
It.IsAny<Expression<Func<MessageDocument, bool>>>(),
404413
It.IsAny<CancellationToken>()))
405414
.ReturnsAsync(true);
406415

@@ -419,7 +428,7 @@ public async Task DeleteMessageById_WhenDeleteIsUnsuccessful_ReturnFalse()
419428
// Given
420429
_messageCollectionMock
421430
.Setup(collection => collection.DeleteAsync(
422-
It.IsAny<Expression<Func<MessageDocument, bool>>>(),
431+
It.IsAny<Expression<Func<MessageDocument, bool>>>(),
423432
It.IsAny<CancellationToken>()))
424433
.ReturnsAsync(false);
425434

0 commit comments

Comments
 (0)