feat(data): add IsStarred, IsMyDay, Notes to TaskEntity

This commit is contained in:
mika kuns
2026-04-20 09:59:12 +02:00
parent eff1045e63
commit a1190a35bd
3 changed files with 55 additions and 0 deletions

View File

@@ -0,0 +1,49 @@
using ClaudeDo.Data;
using ClaudeDo.Data.Models;
using Microsoft.EntityFrameworkCore;
using Xunit;
using TaskStatus = ClaudeDo.Data.Models.TaskStatus;
namespace ClaudeDo.Worker.Tests.UiSchema;
public class TaskEntityFlagsTests : IDisposable
{
private readonly string _dbPath = Path.Combine(Path.GetTempPath(), $"claudedo-flags-{Guid.NewGuid():N}.db");
private ClaudeDoDbContext NewContext()
{
var opts = new DbContextOptionsBuilder<ClaudeDoDbContext>()
.UseSqlite($"Data Source={_dbPath}")
.Options;
var ctx = new ClaudeDoDbContext(opts);
ctx.Database.EnsureCreated();
return ctx;
}
[Fact]
public async Task Persists_IsStarred_IsMyDay_And_Notes()
{
await using var ctx = NewContext();
var list = new ListEntity { Id = "l1", Name = "L", CreatedAt = DateTime.UtcNow };
ctx.Lists.Add(list);
ctx.Tasks.Add(new TaskEntity
{
Id = "t1", ListId = "l1", Title = "T", CreatedAt = DateTime.UtcNow,
IsStarred = true, IsMyDay = true, Notes = "hello"
});
await ctx.SaveChangesAsync();
await using var ctx2 = NewContext();
var loaded = await ctx2.Tasks.SingleAsync();
Assert.True(loaded.IsStarred);
Assert.True(loaded.IsMyDay);
Assert.Equal("hello", loaded.Notes);
}
public void Dispose()
{
try { if (File.Exists(_dbPath)) File.Delete(_dbPath); } catch { }
try { if (File.Exists(_dbPath + "-wal")) File.Delete(_dbPath + "-wal"); } catch { }
try { if (File.Exists(_dbPath + "-shm")) File.Delete(_dbPath + "-shm"); } catch { }
}
}