Add agent fees
This commit is contained in:
@@ -1,14 +1,13 @@
|
||||
using Managing.Application.Abstractions;
|
||||
using Managing.Application.Abstractions.Models;
|
||||
using Managing.Application.Abstractions.Services;
|
||||
using Managing.Application.Bots.Grains;
|
||||
using Managing.Application.Bots.Models;
|
||||
using Managing.Domain.Bots;
|
||||
using Managing.Domain.Statistics;
|
||||
using Microsoft.Extensions.DependencyInjection;
|
||||
using Microsoft.Extensions.Logging;
|
||||
using Moq;
|
||||
using Xunit;
|
||||
using static Managing.Common.Enums;
|
||||
|
||||
namespace Managing.Application.Tests;
|
||||
|
||||
@@ -22,6 +21,7 @@ public class AgentGrainTests
|
||||
private readonly Mock<IUserService> _mockUserService;
|
||||
private readonly Mock<IAccountService> _mockAccountService;
|
||||
private readonly Mock<ITradingService> _mockTradingService;
|
||||
private readonly Mock<IServiceScopeFactory> _mockScopeFactory;
|
||||
|
||||
public AgentGrainTests()
|
||||
{
|
||||
@@ -33,6 +33,7 @@ public class AgentGrainTests
|
||||
_mockUserService = new Mock<IUserService>();
|
||||
_mockAccountService = new Mock<IAccountService>();
|
||||
_mockTradingService = new Mock<ITradingService>();
|
||||
_mockScopeFactory = new Mock<IServiceScopeFactory>();
|
||||
|
||||
// Setup default state
|
||||
_mockState.Setup(x => x.State).Returns(new AgentGrainState
|
||||
@@ -42,51 +43,6 @@ public class AgentGrainTests
|
||||
});
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public async Task OnAgentSummaryUpdateAsync_WithValidBotId_ShouldCallUpdateSummary()
|
||||
{
|
||||
// Arrange
|
||||
var agentGrain = CreateAgentGrain();
|
||||
var botId = _mockState.Object.State.BotIds.First();
|
||||
var updateEvent = new AgentSummaryUpdateEvent
|
||||
{
|
||||
BotId = botId,
|
||||
EventType = NotificationEventType.PositionOpened,
|
||||
Timestamp = DateTime.UtcNow
|
||||
};
|
||||
|
||||
// Setup mocks
|
||||
_mockBotService.Setup(x => x.GetBotsByIdsAsync(It.IsAny<HashSet<Guid>>()))
|
||||
.ReturnsAsync(new List<Bot>());
|
||||
_mockAgentService.Setup(x => x.SaveOrUpdateAgentSummary(It.IsAny<AgentSummary>()))
|
||||
.Returns(Task.CompletedTask);
|
||||
|
||||
// Act
|
||||
await agentGrain.OnAgentSummaryUpdateAsync(updateEvent);
|
||||
|
||||
// Assert
|
||||
_mockAgentService.Verify(x => x.SaveOrUpdateAgentSummary(It.IsAny<AgentSummary>()), Times.Once);
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public async Task OnAgentSummaryUpdateAsync_WithInvalidBotId_ShouldNotCallUpdateSummary()
|
||||
{
|
||||
// Arrange
|
||||
var agentGrain = CreateAgentGrain();
|
||||
var updateEvent = new AgentSummaryUpdateEvent
|
||||
{
|
||||
BotId = Guid.NewGuid(), // Different bot ID
|
||||
EventType = NotificationEventType.PositionOpened,
|
||||
Timestamp = DateTime.UtcNow
|
||||
};
|
||||
|
||||
// Act
|
||||
await agentGrain.OnAgentSummaryUpdateAsync(updateEvent);
|
||||
|
||||
// Assert
|
||||
_mockAgentService.Verify(x => x.SaveOrUpdateAgentSummary(It.IsAny<AgentSummary>()), Times.Never);
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public async Task RegisterBotAsync_ShouldUpdateSummary()
|
||||
{
|
||||
@@ -137,6 +93,7 @@ public class AgentGrainTests
|
||||
_mockExchangeService.Object,
|
||||
_mockUserService.Object,
|
||||
_mockAccountService.Object,
|
||||
_mockTradingService.Object);
|
||||
_mockTradingService.Object,
|
||||
_mockScopeFactory.Object);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user