test(ypp): keep upload window fixture current
This commit is contained in:
+11
-12
@@ -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"`).
|
||||
|
||||
@@ -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));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user