Skip to content

Commit c86a5bc

Browse files
committed
send message test added
1 parent 5689963 commit c86a5bc

3 files changed

Lines changed: 37 additions & 5 deletions

File tree

MangoAPI.IntegrationTests/ApiCommandsTests/SendMessageCommandHandlerTests/SendMessageSuccessTest.cs

Lines changed: 30 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ public class SendMessageSuccessTest : IntegrationTestBase
1414
private readonly Assert<SendMessageResponse> assert = new();
1515

1616
[Fact]
17-
public async Task SendMessageTestSuccessAsync()
17+
public async Task SendMessageNoAttachmentTestSuccessAsync()
1818
{
1919
var user = await MangoModule.RequestAsync(
2020
request: CommandHelper.RegisterPetroCommand(),
@@ -39,4 +39,32 @@ public async Task SendMessageTestSuccessAsync()
3939
chatEntity.LastMessageText.Should().Be(messageEntity.Content);
4040
chatEntity.LastMessageTime.Should().Be(messageEntity.CreatedAt);
4141
}
42-
}
42+
43+
[Fact]
44+
public async Task SendMessageWithAttachmentTestSuccessAsync()
45+
{
46+
var user = await MangoModule.RequestAsync(
47+
request: CommandHelper.RegisterPetroCommand(),
48+
cancellationToken: CancellationToken.None);
49+
var chat = await MangoModule.RequestAsync(
50+
request: CommandHelper.CreateExtremeCodeMainChatCommand(user.Response.Tokens.UserId),
51+
cancellationToken: CancellationToken.None);
52+
var file = MangoFilesHelper.GetTestImage();
53+
54+
var result = await MangoModule.RequestAsync(
55+
request: CommandHelper.SendMessageToChannelCommand(user.Response.Tokens.UserId, chat.Response.ChatId, file),
56+
cancellationToken: CancellationToken.None);
57+
58+
assert.Pass(result);
59+
var messageEntity = await DbContextFixture.Messages
60+
.Include(x => x.User)
61+
.Include(x => x.Chat)
62+
.FirstAsync(x => x.Id == result.Response.MessageId);
63+
var chatEntity = messageEntity.Chat;
64+
var userEntity = messageEntity.User;
65+
chatEntity.LastMessageAuthor.Should().Be(userEntity.DisplayName);
66+
chatEntity.LastMessageId.Should().Be(messageEntity.Id);
67+
chatEntity.LastMessageText.Should().Be(messageEntity.Content);
68+
chatEntity.LastMessageTime.Should().Be(messageEntity.CreatedAt);
69+
}
70+
}

MangoAPI.IntegrationTests/Helpers/CommandHelper.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -53,7 +53,7 @@ public static AddContactCommand CreateContactCommand(Guid userId, Guid contactId
5353
return command;
5454
}
5555

56-
public static SendMessageCommand SendMessageToChannelCommand(Guid userId, Guid chatId)
56+
public static SendMessageCommand SendMessageToChannelCommand(Guid userId, Guid chatId, IFormFile attachment = null)
5757
{
5858
var command = new SendMessageCommand(
5959
MessageText: "test message",
@@ -63,7 +63,7 @@ public static SendMessageCommand SendMessageToChannelCommand(Guid userId, Guid c
6363
InReplayToText: " ",
6464
CreatedAt: null,
6565
MessageId: null,
66-
Attachment: null);
66+
Attachment: attachment);
6767

6868
return command;
6969
}

MangoAPI.IntegrationTests/Helpers/MangoFilesHelper.cs

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,11 @@ public static IFormFile GetTestImage()
1717
baseStreamOffset: 0,
1818
stream.Length,
1919
name: FileName,
20-
Path.GetFileName(stream.Name));
20+
Path.GetFileName(stream.Name))
21+
{
22+
Headers = new HeaderDictionary(),
23+
ContentType = "image/jpeg"
24+
};
2125

2226
return file;
2327
}

0 commit comments

Comments
 (0)