refactor(dotnet): normalize workspace and approval inputs
Validators (Pushes and Pull Requests) / validate-ui-and-storage (push) Successful in 18s
Validators (Pushes and Pull Requests) / validate-core (push) Has been cancelled

This commit is contained in:
2026-07-13 01:29:26 +09:00
parent cb814b8aa2
commit c20cbc982b
3 changed files with 103 additions and 24 deletions
@@ -0,0 +1,41 @@
using Moq;
using QuantEngine.Application.Services;
using QuantEngine.Core.Interfaces;
using QuantEngine.Core.Models;
namespace QuantEngine.Core.Tests;
public class WorkspaceApprovalServiceTests
{
[Fact]
public async Task WorkspaceService_RejectsBlankHistoryDomain()
{
var service = new WorkspaceService(new Mock<IWorkspaceRepository>().Object, new Mock<IPostgresqlHistoryStore>().Object);
await Assert.ThrowsAsync<ArgumentException>(() =>
service.AppendHistoryAsync(" ", new Dictionary<string, object?>()));
}
[Fact]
public async Task ApprovalService_NormalizesLookupKeys()
{
var repo = new Mock<IWorkspaceRepository>(MockBehavior.Strict);
repo.Setup(r => r.GetApprovalAsync("workflow", "target-1")).ReturnsAsync(new WorkspaceApproval());
var service = new ApprovalService(repo.Object);
var approval = await service.GetApprovalAsync(" workflow ", " target-1 ");
Assert.NotNull(approval);
repo.VerifyAll();
}
[Fact]
public async Task ApprovalService_RejectsBlankLockTarget()
{
var service = new ApprovalService(new Mock<IWorkspaceRepository>().Object);
await Assert.ThrowsAsync<ArgumentException>(() =>
service.ReleaseLockAsync("workflow", " "));
}
}