test(ypp): keep upload window fixture current

This commit is contained in:
2026-11-02 11:10:21 -08:00
parent 9fa06c67c2
commit 3985a413a7
2 changed files with 19 additions and 17 deletions
+11 -12
View File
@@ -1,24 +1,23 @@
# HANDOFF — 2026-11-02 (current-launch Logs tab)
# HANDOFF — 2026-11-02 (test failure follow-up)
## State
- `main`; scene-local ticker commit `20f0594` is local, not pushed.
- Logs tab work is in progress: non-edit panel has Live Chat first/default and Logs second. Logs
reads only the process-local AppLog buffer (newest 500, newest first); file logging and rotation
remain unchanged, and prior-launch file contents are not loaded.
- The Logs-panel integration test passes; clean app build is 0 warnings and scope check passes.
- `main`; Logs tabs committed as `9fa06c6`, local and not pushed.
- First test-failure task: `ChannelStatsServiceTests` now uses dates relative to UTC so the 90-day
upload assertion does not expire with the calendar. Focused test passes.
- Clean app build is 0 warnings. Full suite: 12 failed / 510 passed of 522; the remaining UI/content
failures are being handled one task and one local commit at a time.
## Next action
Run the declared-scope verification and commit the Logs-tab unit. Then resolve the outstanding
UI/content test failures one issue at a time, with a separate local commit for each resolved task.
Do not push absent a milestone/checkpoint request.
Commit the date-relative YPP test fix, then take the next remaining failure. Do not push absent a
milestone/checkpoint request.
## Landmines
- Build/test with Windows `dotnet.exe`; the full suite can hang in WASAPI teardown.
- Full suite after Logs changes: 13 failed / 509 passed of 522; the same UI/content failures remain
(none in Logs or ticker tests). They are the next queued work, not to be masked or added here.
- `verify.sh` cannot pass until the remaining 12 suite failures are resolved; scope checks are run
separately when that gate exits early.
- Any integration test constructing `MainWindow` must set `LayoutPathOverride` to a temporary DB
and clear it in `finally`; AppLog path overrides are also process-wide and are serialized here.
and clear it in `finally`.
- Bundled FFmpeg stays outside the single-file exe (`ExcludeFromSingleFile="true"`).
+8 -5
View File
@@ -40,6 +40,9 @@ public class ChannelStatsServiceTests
[Fact]
public async Task CaptureCurrent_RequestsNoAuditDetails_AndStillParsesTheSnapshot()
{
var recentUpload = DateTime.UtcNow.AddDays(-10).ToString("O");
var olderUpload = DateTime.UtcNow.AddDays(-80).ToString("O");
var outsideWindow = DateTime.UtcNow.AddDays(-100).ToString("O");
var auth = new YouTubeAuthService("test-client", "test-secret");
auth.SetSession(new Models.YouTubeChannel
{
@@ -55,11 +58,11 @@ public class ChannelStatsServiceTests
{"items":[{"id":"UC-1","statistics":{"subscriberCount":"350","viewCount":"12345","videoCount":"42"},
"contentDetails":{"relatedPlaylists":{"uploads":"UPL"}}}]}
"""
: """
: $$$$"""
{"items":[
{"snippet":{"publishedAt":"2026-08-01T00:00:00Z"}},
{"snippet":{"publishedAt":"2026-09-01T00:00:00Z"}},
{"snippet":{"publishedAt":"2025-01-01T00:00:00Z"}}
{"snippet":{"publishedAt":"{{{{recentUpload}}}}"}},
{"snippet":{"publishedAt":"{{{{olderUpload}}}}"}},
{"snippet":{"publishedAt":"{{{{outsideWindow}}}}"}}
]}
""",
};
@@ -81,4 +84,4 @@ public class ChannelStatsServiceTests
Assert.Equal(2, snapshot.UploadsLast90Days);
Assert.False(DateTime.UtcNow - snapshot.CapturedAtUtc > TimeSpan.FromMinutes(1));
}
}
}