aboutsummaryrefslogtreecommitdiff
path: root/src/lib/Media/Anime/Airing/classify.test.ts
diff options
context:
space:
mode:
Diffstat (limited to 'src/lib/Media/Anime/Airing/classify.test.ts')
-rw-r--r--src/lib/Media/Anime/Airing/classify.test.ts24
1 files changed, 24 insertions, 0 deletions
diff --git a/src/lib/Media/Anime/Airing/classify.test.ts b/src/lib/Media/Anime/Airing/classify.test.ts
index eeff2036..7b3aea32 100644
--- a/src/lib/Media/Anime/Airing/classify.test.ts
+++ b/src/lib/Media/Anime/Airing/classify.test.ts
@@ -210,6 +210,30 @@ describe("countdown source fallback", () => {
});
});
+describe("release timing", () => {
+ it("rolls a just-aired release forward instead of returning a past time", () => {
+ clearInjectAiringTimeCache();
+
+ const media = baseMedia(170019);
+ const justAired = Math.floor(Date.now() / 1000) - 3 * 60;
+
+ media.nextAiringEpisode = {
+ episode: 10,
+ airingAt: justAired + 12 * 60 * 60,
+ };
+
+ const schedule = subScheduleFor(media, justAired);
+
+ settings.setKey("countdownSource", "sub");
+
+ const injected = injectAiringTime(media, schedule);
+
+ expect(injected.nextAiringEpisode?.airingAt).toBeGreaterThan(
+ Date.now() / 1000,
+ );
+ });
+});
+
describe("injectAiringTime cache safety", () => {
it("does not let caller mutation poison cached injected media", () => {
const media = baseMedia(444444);