feat: schedule next airing episode

happens when new title is saved, or when new episode internal route is run successfully
This commit is contained in:
2024-09-09 03:53:34 -05:00
parent 38195776c2
commit 336701a84b
14 changed files with 353 additions and 19 deletions

View File

@@ -7,7 +7,11 @@ import { getTestDb } from "~/libs/test/getTestDb";
import { getTestEnv } from "~/libs/test/getTestEnv";
import { resetTestDb } from "~/libs/test/resetTestDb";
import { server } from "~/mocks";
import { deviceTokensTable, watchStatusTable } from "~/models/schema";
import {
deviceTokensTable,
titleMessagesTable,
watchStatusTable,
} from "~/models/schema";
server.listen();
@@ -96,6 +100,9 @@ describe("requests the /watch-status route", () => {
await db
.insert(deviceTokensTable)
.values({ deviceId: "123", token: "asd" });
await db
.insert(titleMessagesTable)
.values({ titleId: 10, messageId: "123" });
const res = await app.request(
"/watch-status",
@@ -122,6 +129,9 @@ describe("requests the /watch-status route", () => {
await db
.insert(deviceTokensTable)
.values({ deviceId: "123", token: "asd" });
await db
.insert(titleMessagesTable)
.values({ titleId: -1, messageId: "123" });
const res = await app.request(
"/watch-status",
@@ -148,6 +158,9 @@ describe("requests the /watch-status route", () => {
await db
.insert(deviceTokensTable)
.values({ deviceId: "123", token: "asd" });
await db
.insert(titleMessagesTable)
.values({ titleId: 139518, messageId: "123" });
const res = await app.request("/watch-status", {
method: "POST",