Files
ClaudeDo/tests/ClaudeDo.Worker.Tests/Repositories/ListRepositoryDeleteConfigTests.cs
2026-04-22 13:09:03 +02:00

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);
}
}