57 lines
1.4 KiB
C#
57 lines
1.4 KiB
C#
using ClaudeDo.Data;
|
|
using ClaudeDo.Data.Models;
|
|
using ClaudeDo.Data.Repositories;
|
|
using ClaudeDo.Worker.Tests.Infrastructure;
|
|
using Xunit;
|
|
|
|
namespace ClaudeDo.Worker.Tests.Repositories;
|
|
|
|
public sealed class ListRepositoryDeleteConfigTests : IDisposable
|
|
{
|
|
private readonly DbFixture _db = new();
|
|
private readonly ClaudeDoDbContext _ctx;
|
|
private readonly ListRepository _repo;
|
|
|
|
public ListRepositoryDeleteConfigTests()
|
|
{
|
|
_ctx = _db.CreateContext();
|
|
_repo = new ListRepository(_ctx);
|
|
}
|
|
|
|
public void Dispose()
|
|
{
|
|
_ctx.Dispose();
|
|
_db.Dispose();
|
|
}
|
|
|
|
[Fact]
|
|
public async Task DeleteConfigAsync_RemovesExistingRow()
|
|
{
|
|
var listId = Guid.NewGuid().ToString();
|
|
await _repo.AddAsync(new ListEntity
|
|
{
|
|
Id = listId, Name = "L", CreatedAt = DateTime.UtcNow,
|
|
});
|
|
await _repo.SetConfigAsync(new ListConfigEntity
|
|
{
|
|
ListId = listId,
|
|
Model = "opus",
|
|
SystemPrompt = "hello",
|
|
AgentPath = "/tmp/a.md",
|
|
});
|
|
|
|
var removed = await _repo.DeleteConfigAsync(listId);
|
|
|
|
Assert.True(removed);
|
|
Assert.Null(await _repo.GetConfigAsync(listId));
|
|
}
|
|
|
|
[Fact]
|
|
public async Task DeleteConfigAsync_ReturnsFalseWhenAbsent()
|
|
{
|
|
var removed = await _repo.DeleteConfigAsync(Guid.NewGuid().ToString());
|
|
|
|
Assert.False(removed);
|
|
}
|
|
}
|