fix
This commit is contained in:
96
WebApi.Test/Application/MessageRecordApplicationTest.cs
Normal file
96
WebApi.Test/Application/MessageRecordApplicationTest.cs
Normal file
@@ -0,0 +1,96 @@
|
||||
using Service.Message;
|
||||
|
||||
namespace WebApi.Test.Application;
|
||||
|
||||
/// <summary>
|
||||
/// MessageRecordApplication 单元测试
|
||||
/// </summary>
|
||||
public class MessageRecordApplicationTest : BaseApplicationTest
|
||||
{
|
||||
private readonly IMessageService _messageService;
|
||||
private readonly ILogger<MessageRecordApplication> _logger;
|
||||
private readonly MessageRecordApplication _application;
|
||||
|
||||
public MessageRecordApplicationTest()
|
||||
{
|
||||
_messageService = Substitute.For<IMessageService>();
|
||||
_logger = CreateMockLogger<MessageRecordApplication>();
|
||||
_application = new MessageRecordApplication(_messageService, _logger);
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public async Task GetListAsync_正常查询_应返回消息列表()
|
||||
{
|
||||
// Arrange
|
||||
var messages = new List<MessageRecord>
|
||||
{
|
||||
new() { Id = 1, Title = "消息1", Content = "内容1", IsRead = false },
|
||||
new() { Id = 2, Title = "消息2", Content = "内容2", IsRead = true }
|
||||
};
|
||||
|
||||
_messageService.GetPagedListAsync(1, 20).Returns((messages, 2L));
|
||||
|
||||
// Act
|
||||
var result = await _application.GetListAsync(1, 20);
|
||||
|
||||
// Assert
|
||||
result.Should().NotBeNull();
|
||||
result.Data.Should().HaveCount(2);
|
||||
result.Total.Should().Be(2);
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public async Task GetUnreadCountAsync_应返回未读数量()
|
||||
{
|
||||
// Arrange
|
||||
_messageService.GetUnreadCountAsync().Returns(5L);
|
||||
|
||||
// Act
|
||||
var result = await _application.GetUnreadCountAsync();
|
||||
|
||||
// Assert
|
||||
result.Should().Be(5);
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public async Task MarkAsReadAsync_应调用服务标记已读()
|
||||
{
|
||||
// Arrange
|
||||
_messageService.MarkAsReadAsync(1).Returns(true);
|
||||
|
||||
// Act
|
||||
var result = await _application.MarkAsReadAsync(1);
|
||||
|
||||
// Assert
|
||||
result.Should().BeTrue();
|
||||
await _messageService.Received(1).MarkAsReadAsync(1);
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public async Task MarkAllAsReadAsync_应调用服务全部标记已读()
|
||||
{
|
||||
// Arrange
|
||||
_messageService.MarkAllAsReadAsync().Returns(true);
|
||||
|
||||
// Act
|
||||
var result = await _application.MarkAllAsReadAsync();
|
||||
|
||||
// Assert
|
||||
result.Should().BeTrue();
|
||||
await _messageService.Received(1).MarkAllAsReadAsync();
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public async Task DeleteAsync_应调用服务删除消息()
|
||||
{
|
||||
// Arrange
|
||||
_messageService.DeleteAsync(1).Returns(true);
|
||||
|
||||
// Act
|
||||
var result = await _application.DeleteAsync(1);
|
||||
|
||||
// Assert
|
||||
result.Should().BeTrue();
|
||||
await _messageService.Received(1).DeleteAsync(1);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user