给数据中心添加事件

This commit is contained in:
2025-09-02 21:06:39 +08:00
parent 5e19bad149
commit afedf708de
9 changed files with 497 additions and 8 deletions

View File

@@ -1,8 +1,10 @@
using DMS.Application.DTOs;
using DMS.Application.DTOs.Events;
using DMS.Application.Interfaces;
using DMS.Application.Services;
using DMS.Core.Interfaces;
using Moq;
using System;
using System.Collections.Concurrent;
using Xunit;
@@ -139,5 +141,36 @@ namespace DMS.Infrastructure.UnitTests
// Assert
Assert.False(dataCenterService.Devices.ContainsKey(1));
}
[Fact]
public void DataCenterService_Should_Raise_DeviceChanged_Event_On_Add()
{
// Arrange
var mockRepositoryManager = new Mock<IRepositoryManager>();
var mockMapper = new Mock<IMapper>();
var mockDeviceAppService = new Mock<IDeviceAppService>();
var mockVariableTableAppService = new Mock<IVariableTableAppService>();
var mockVariableAppService = new Mock<IVariableAppService>();
var dataCenterService = new DataCenterService(
mockRepositoryManager.Object,
mockMapper.Object,
mockDeviceAppService.Object,
mockVariableTableAppService.Object,
mockVariableAppService.Object);
DeviceChangedEventArgs eventArgs = null;
dataCenterService.DeviceChanged += (sender, args) => eventArgs = args;
var deviceDto = new DeviceDto { Id = 1, Name = "Test Device" };
// Act
dataCenterService.AddDeviceToMemory(deviceDto);
// Assert
Assert.NotNull(eventArgs);
Assert.Equal(DataChangeType.Added, eventArgs.ChangeType);
Assert.Equal(1, eventArgs.DeviceId);
Assert.Equal("Test Device", eventArgs.DeviceName);
}
}
}