feat(ui): Usage-Monitor zeigt Reset-Uhrzeit hinter der Restzeit
This commit is contained in:
@@ -586,6 +586,32 @@ public class UsageMonitorModalViewModelTests
|
||||
Assert.Null(UsageThresholdDrag.Nearest(50, 65, 80, percent: 20, tolerancePercent: 5));
|
||||
}
|
||||
|
||||
// ── Reset text ───────────────────────────────────────────────────────────
|
||||
|
||||
[Fact]
|
||||
public async Task ResetText_WithResetsAt_IncludesLocalResetTime()
|
||||
{
|
||||
var resetsAt = DateTimeOffset.UtcNow.AddHours(2).AddMinutes(15);
|
||||
var worker = new FakeWorker { Snapshot = Snapshot(new[] { Limit("session", resetsAt: resetsAt) }) };
|
||||
var vm = new UsageMonitorModalViewModel(worker);
|
||||
await vm.LoadAsync();
|
||||
|
||||
var expectedClock = resetsAt.ToLocalTime().ToString("HH:mm");
|
||||
Assert.StartsWith("Reset in", vm.GaugeRows[0].ResetText);
|
||||
Assert.EndsWith($"({expectedClock})", vm.GaugeRows[0].ResetText);
|
||||
Assert.Matches(@"2 h 1[45] m", vm.GaugeRows[0].ResetText);
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public async Task ResetText_NoResetsAt_IsEmpty()
|
||||
{
|
||||
var worker = new FakeWorker { Snapshot = Snapshot(new[] { Limit("session", resetsAt: null) }) };
|
||||
var vm = new UsageMonitorModalViewModel(worker);
|
||||
await vm.LoadAsync();
|
||||
|
||||
Assert.Equal("", vm.GaugeRows[0].ResetText);
|
||||
}
|
||||
|
||||
// ── Stale / gate bands ───────────────────────────────────────────────────
|
||||
|
||||
[Fact]
|
||||
|
||||
Reference in New Issue
Block a user