mirror of
https://github.com/zoriya/Kyoo.git
synced 2025-05-24 02:02:36 -04:00
46 lines
1.4 KiB
TypeScript
46 lines
1.4 KiB
TypeScript
import { beforeAll, describe, expect, it } from "bun:test";
|
|
import { createSerie, getSerie } from "tests/helpers";
|
|
import { expectStatus } from "tests/utils";
|
|
import { db } from "~/db";
|
|
import { shows, videos } from "~/db/schema";
|
|
import { madeInAbyss, madeInAbyssVideo } from "~/models/examples";
|
|
|
|
beforeAll(async () => {
|
|
await db.delete(videos);
|
|
await db.delete(shows);
|
|
await db.insert(videos).values(madeInAbyssVideo);
|
|
await createSerie(madeInAbyss);
|
|
});
|
|
|
|
describe("Get series", () => {
|
|
it("Invalid slug", async () => {
|
|
const [resp, body] = await getSerie("sotneuhn", { langs: "en" });
|
|
|
|
expectStatus(resp, body).toBe(404);
|
|
expect(body).toMatchObject({
|
|
status: 404,
|
|
message: expect.any(String),
|
|
});
|
|
});
|
|
it("With a valid entryCount/availableCount", async () => {
|
|
const [resp, body] = await getSerie(madeInAbyss.slug, { langs: "en" });
|
|
|
|
expectStatus(resp, body).toBe(200);
|
|
expect(body.entriesCount).toBe(madeInAbyss.entries.length);
|
|
expect(body.availableCount).toBe(1);
|
|
});
|
|
it("With firstEntry", async () => {
|
|
const [resp, body] = await getSerie(madeInAbyss.slug, {
|
|
langs: "en",
|
|
with: ["firstEntry"],
|
|
});
|
|
|
|
expectStatus(resp, body).toBe(200);
|
|
expect(body.firstEntry.slug).toBe("made-in-abyss-s1e13");
|
|
expect(body.firstEntry.name).toBe(
|
|
madeInAbyss.entries[0].translations.en.name,
|
|
);
|
|
expect(body.firstEntry.videos).toBeArrayOfSize(1);
|
|
});
|
|
});
|