feat(worker): session skills SignalR surface + per-level persistence
This commit is contained in:
@@ -60,6 +60,42 @@ public sealed class ListRepositoryConfigTests : IDisposable
|
||||
Assert.Equal("haiku-4-5", fetched.Model);
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public async Task SetConfig_Persists_SessionSkills_On_Insert()
|
||||
{
|
||||
await _repo.SetConfigAsync(new ListConfigEntity
|
||||
{
|
||||
ListId = _listId,
|
||||
SessionSkills = "[\"ponytail\"]",
|
||||
});
|
||||
|
||||
var fetched = await _repo.GetConfigAsync(_listId);
|
||||
Assert.NotNull(fetched);
|
||||
Assert.Equal("[\"ponytail\"]", fetched.SessionSkills);
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public async Task SetConfig_Persists_SessionSkills_On_Update()
|
||||
{
|
||||
await _repo.SetConfigAsync(new ListConfigEntity { ListId = _listId, SessionSkills = "[\"a\"]" });
|
||||
await _repo.SetConfigAsync(new ListConfigEntity { ListId = _listId, SessionSkills = "[\"b\",\"c\"]" });
|
||||
|
||||
var fetched = await _repo.GetConfigAsync(_listId);
|
||||
Assert.NotNull(fetched);
|
||||
Assert.Equal("[\"b\",\"c\"]", fetched.SessionSkills);
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public async Task SetConfig_Null_SessionSkills_Clears_On_Update()
|
||||
{
|
||||
await _repo.SetConfigAsync(new ListConfigEntity { ListId = _listId, SessionSkills = "[\"a\"]" });
|
||||
await _repo.SetConfigAsync(new ListConfigEntity { ListId = _listId, SessionSkills = null });
|
||||
|
||||
var fetched = await _repo.GetConfigAsync(_listId);
|
||||
Assert.NotNull(fetched);
|
||||
Assert.Null(fetched.SessionSkills);
|
||||
}
|
||||
|
||||
public void Dispose()
|
||||
{
|
||||
_ctx.Dispose();
|
||||
|
||||
Reference in New Issue
Block a user