Merge branch 'claudedo/2de2f008758640b3a75e95719b1555bf'
This commit is contained in:
@@ -20,13 +20,49 @@ public class AppSettingsRepositoryTests : IDisposable
|
||||
|
||||
Assert.Equal(AppSettingsEntity.SingletonId, row.Id);
|
||||
Assert.Equal("sonnet", row.DefaultModel);
|
||||
Assert.Equal(100, row.DefaultMaxTurns);
|
||||
Assert.Equal(40, row.DefaultMaxTurns);
|
||||
Assert.Equal(80, row.MaxTurnsCeiling);
|
||||
Assert.Equal("auto", row.DefaultPermissionMode);
|
||||
Assert.Equal("sibling", row.WorktreeStrategy);
|
||||
Assert.Null(row.CentralWorktreeRoot);
|
||||
Assert.False(row.WorktreeAutoCleanupEnabled);
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public async Task UpdateAsync_Persists_MaxTurnsCeiling()
|
||||
{
|
||||
using (var ctx = _db.CreateContext())
|
||||
{
|
||||
var repo = new AppSettingsRepository(ctx);
|
||||
await repo.UpdateAsync(new AppSettingsEntity { MaxTurnsCeiling = 60 });
|
||||
}
|
||||
|
||||
using var readCtx = _db.CreateContext();
|
||||
var row = await new AppSettingsRepository(readCtx).GetAsync();
|
||||
Assert.Equal(60, row.MaxTurnsCeiling);
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public async Task GetAsync_Backfills_Null_ModelPresets_With_Defaults()
|
||||
{
|
||||
using (var ctx = _db.CreateContext())
|
||||
{
|
||||
var repo = new AppSettingsRepository(ctx);
|
||||
// Force a row to exist with model_presets left null (the pre-upgrade state).
|
||||
await repo.UpdateAsync(new AppSettingsEntity());
|
||||
}
|
||||
|
||||
using var readCtx = _db.CreateContext();
|
||||
var row = await new AppSettingsRepository(readCtx).GetAsync();
|
||||
|
||||
Assert.NotNull(row.ModelPresets);
|
||||
Assert.Equal(ModelPresets.SerializeDefaults(), row.ModelPresets);
|
||||
|
||||
using var rereadCtx = _db.CreateContext();
|
||||
var reread = await new AppSettingsRepository(rereadCtx).GetAsync();
|
||||
Assert.Equal(ModelPresets.SerializeDefaults(), reread.ModelPresets);
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public async Task UpdateAsync_Persists_And_RoundTrips()
|
||||
{
|
||||
|
||||
@@ -7,13 +7,21 @@ public class MaxTurnsResolutionTests
|
||||
{
|
||||
[Fact]
|
||||
public void Task_override_wins()
|
||||
=> Assert.Equal(5, TaskRunner.ResolveMaxTurns(taskTurns: 5, listTurns: 20, globalDefault: 100));
|
||||
=> Assert.Equal(5, TaskRunner.ResolveMaxTurns(taskTurns: 5, listTurns: 20, globalDefault: 100, ceiling: 200));
|
||||
|
||||
[Fact]
|
||||
public void List_override_used_when_no_task_override()
|
||||
=> Assert.Equal(20, TaskRunner.ResolveMaxTurns(taskTurns: null, listTurns: 20, globalDefault: 100));
|
||||
=> Assert.Equal(20, TaskRunner.ResolveMaxTurns(taskTurns: null, listTurns: 20, globalDefault: 100, ceiling: 200));
|
||||
|
||||
[Fact]
|
||||
public void Falls_back_to_global_default()
|
||||
=> Assert.Equal(100, TaskRunner.ResolveMaxTurns(taskTurns: null, listTurns: null, globalDefault: 100));
|
||||
=> Assert.Equal(100, TaskRunner.ResolveMaxTurns(taskTurns: null, listTurns: null, globalDefault: 100, ceiling: 200));
|
||||
|
||||
[Fact]
|
||||
public void Below_ceiling_is_unchanged()
|
||||
=> Assert.Equal(60, TaskRunner.ResolveMaxTurns(taskTurns: 60, listTurns: null, globalDefault: 40, ceiling: 80));
|
||||
|
||||
[Fact]
|
||||
public void Above_ceiling_is_clamped()
|
||||
=> Assert.Equal(80, TaskRunner.ResolveMaxTurns(taskTurns: 200, listTurns: null, globalDefault: 40, ceiling: 80));
|
||||
}
|
||||
|
||||
@@ -87,9 +87,7 @@ public sealed class ModelResolutionWireTests : IDisposable
|
||||
using (var ctx = _db.CreateContext())
|
||||
{
|
||||
var settingsRepo = new AppSettingsRepository(ctx);
|
||||
var settings = await settingsRepo.GetAsync();
|
||||
settings.DefaultMaxTurns = 100;
|
||||
await ctx.SaveChangesAsync();
|
||||
await settingsRepo.UpdateAsync(new AppSettingsEntity { DefaultMaxTurns = 50 });
|
||||
}
|
||||
|
||||
Exception? thrown = null;
|
||||
@@ -106,6 +104,6 @@ public sealed class ModelResolutionWireTests : IDisposable
|
||||
Assert.Null(thrown);
|
||||
var args = getArgs().ToList();
|
||||
Assert.Contains("--max-turns", args);
|
||||
Assert.Equal("100", args[args.IndexOf("--max-turns") + 1]);
|
||||
Assert.Equal("50", args[args.IndexOf("--max-turns") + 1]);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user