Files
DMS/DMS.Infrastructure.UnitTests/Services/DeviceServiceTest.cs

67 lines
2.0 KiB
C#
Raw Normal View History

using DMS.Application.DTOs;
using DMS.Application.Interfaces;
using DMS.Application.Services;
2025-07-21 23:04:28 +08:00
using JetBrains.Annotations;
using Microsoft.Extensions.DependencyInjection;
2025-07-21 23:04:28 +08:00
namespace DMS.Infrastructure.UnitTests.Services;
[TestSubject(typeof(DeviceService))]
public class DeviceServiceTest : BaseServiceTest // 继承基类
2025-07-21 23:04:28 +08:00
{
private readonly IDeviceAppService _deviceService;
2025-07-21 23:04:28 +08:00
public DeviceServiceTest() : base()
2025-07-21 23:04:28 +08:00
{
// 从 IoC 容器中解析出需要测试的服务
// 使用 GetRequiredService 可以确保如果服务未注册,测试会立即失败,这通常是我们想要的。
_deviceService = ServiceProvider.GetRequiredService<IDeviceAppService>();
2025-07-21 23:04:28 +08:00
}
[Fact]
public async Task CreateDeviceWithDetailsAsyncTest()
2025-07-21 23:04:28 +08:00
{
// Arrange
var dto = new CreateDeviceWithDetailsDto
{
Device = FakerHelper.FakeCreateDeviceDto(),
VariableTable = FakerHelper.FakeVariableTableDto(),
DeviceMenu = FakerHelper.FakeCreateMenuDto(),
VariableTableMenu = FakerHelper.FakeCreateMenuDto()
// ... 填充其他需要的数据
};
// Act
var addedDeviceId = await _deviceService.CreateDeviceWithDetailsAsync(dto);
// Assert
Assert.NotEqual(0, addedDeviceId);
2025-07-22 21:36:33 +08:00
}
2025-07-24 18:09:46 +08:00
[Fact]
public async Task DeleteDeviceAsyncTest()
{
// Act
var isSuccess = await _deviceService.DeleteDeviceByIdAsync(4);
// Assert
Assert.Equal(isSuccess,true);
}
2025-07-24 18:52:29 +08:00
[Fact]
public async Task UpdateDeviceAsyncTest()
{
UpdateDeviceDto dto = new UpdateDeviceDto()
{
Id = 5,
Name = "lalala",
IsActive = true,
Rack = 0,
Slot = 0
};
var res = await _deviceService.UpdateDeviceAsync(dto);
Assert.NotEqual(res,0);
}
2025-07-21 23:04:28 +08:00
}