2025-07-24 15:07:03 +08:00
|
|
|
using DMS.Application.DTOs;
|
|
|
|
|
using DMS.Application.Interfaces;
|
|
|
|
|
using DMS.Application.Services;
|
2025-07-21 23:04:28 +08:00
|
|
|
using JetBrains.Annotations;
|
2025-07-24 15:07:03 +08:00
|
|
|
using Microsoft.Extensions.DependencyInjection;
|
2025-07-21 23:04:28 +08:00
|
|
|
|
|
|
|
|
namespace DMS.Infrastructure.UnitTests.Services;
|
|
|
|
|
|
2025-07-24 19:51:16 +08:00
|
|
|
[TestSubject(typeof(DeviceAppService))]
|
|
|
|
|
public class DeviceAppServiceTest : BaseServiceTest // 继承基类
|
2025-07-21 23:04:28 +08:00
|
|
|
{
|
2025-07-24 15:07:03 +08:00
|
|
|
private readonly IDeviceAppService _deviceService;
|
2025-07-21 23:04:28 +08:00
|
|
|
|
2025-07-24 19:51:16 +08:00
|
|
|
public DeviceAppServiceTest() : base()
|
2025-07-21 23:04:28 +08:00
|
|
|
{
|
2025-07-24 15:07:03 +08:00
|
|
|
// 从 IoC 容器中解析出需要测试的服务
|
|
|
|
|
// 使用 GetRequiredService 可以确保如果服务未注册,测试会立即失败,这通常是我们想要的。
|
|
|
|
|
_deviceService = ServiceProvider.GetRequiredService<IDeviceAppService>();
|
2025-07-21 23:04:28 +08:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
[Fact]
|
2025-07-24 15:07:03 +08:00
|
|
|
public async Task CreateDeviceWithDetailsAsyncTest()
|
2025-07-21 23:04:28 +08:00
|
|
|
{
|
2025-07-24 15:07:03 +08:00
|
|
|
// Arrange
|
2025-07-27 21:08:58 +08:00
|
|
|
// var dto = new CreateDeviceWithDetailsDto
|
|
|
|
|
// {
|
|
|
|
|
// Device = FakerHelper.FakeCreateDeviceDto(),
|
|
|
|
|
// VariableTable = FakerHelper.FakeVariableTableDto(),
|
|
|
|
|
// DeviceMenu = FakerHelper.FakeCreateMenuDto(),
|
|
|
|
|
// VariableTableMenu = FakerHelper.FakeCreateMenuDto()
|
|
|
|
|
//
|
|
|
|
|
// // ... 填充其他需要的数据
|
|
|
|
|
// };
|
|
|
|
|
//
|
|
|
|
|
// // Act
|
|
|
|
|
// var addDto = await _deviceService.CreateDeviceWithDetailsAsync(dto);
|
|
|
|
|
//
|
|
|
|
|
// // Assert
|
|
|
|
|
// Assert.NotEqual(0, addDto.Device.Id);
|
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()
|
|
|
|
|
{
|
2025-07-29 20:02:09 +08:00
|
|
|
// 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-24 18:52:29 +08:00
|
|
|
}
|
2025-07-21 23:04:28 +08:00
|
|
|
}
|