mirror of
https://github.com/zoriya/Kyoo.git
synced 2025-05-24 02:02:36 -04:00
69 lines
1.7 KiB
TypeScript
69 lines
1.7 KiB
TypeScript
import { beforeAll, describe, expect, it } from "bun:test";
|
|
import {
|
|
createSerie,
|
|
getSerie,
|
|
getShowsByStudio,
|
|
getStudio,
|
|
} from "tests/helpers";
|
|
import { expectStatus } from "tests/utils";
|
|
import { madeInAbyss } from "~/models/examples";
|
|
|
|
beforeAll(async () => {
|
|
await createSerie(madeInAbyss);
|
|
});
|
|
|
|
describe("Get by studio", () => {
|
|
it("Invalid slug", async () => {
|
|
const [resp, body] = await getShowsByStudio("sotneuhn", { langs: "en" });
|
|
|
|
expectStatus(resp, body).toBe(404);
|
|
expect(body).toMatchObject({
|
|
status: 404,
|
|
message: expect.any(String),
|
|
});
|
|
});
|
|
it("Get serie from studio", async () => {
|
|
const [resp, body] = await getShowsByStudio(madeInAbyss.studios[0].slug, {
|
|
langs: "en",
|
|
});
|
|
|
|
expectStatus(resp, body).toBe(200);
|
|
expect(body.items).toBeArrayOfSize(1);
|
|
expect(body.items[0].slug).toBe(madeInAbyss.slug);
|
|
});
|
|
});
|
|
|
|
describe("Get a studio", () => {
|
|
it("Invalid slug", async () => {
|
|
const [resp, body] = await getStudio("sotneuhn", { langs: "en" });
|
|
|
|
expectStatus(resp, body).toBe(404);
|
|
expect(body).toMatchObject({
|
|
status: 404,
|
|
message: expect.any(String),
|
|
});
|
|
});
|
|
it("Get by id", async () => {
|
|
const slug = madeInAbyss.studios[0].slug;
|
|
const [resp, body] = await getStudio(slug, { langs: "en" });
|
|
|
|
expectStatus(resp, body).toBe(200);
|
|
expect(body.slug).toBe(slug);
|
|
});
|
|
it("Get using /shows?with=", async () => {
|
|
const [resp, body] = await getSerie(madeInAbyss.slug, {
|
|
langs: "en",
|
|
with: ["studios"],
|
|
});
|
|
|
|
expectStatus(resp, body).toBe(200);
|
|
expect(body.slug).toBe(madeInAbyss.slug);
|
|
expect(body.studios).toBeArrayOfSize(1);
|
|
const studio = madeInAbyss.studios[0];
|
|
expect(body.studios[0]).toMatchObject({
|
|
slug: studio.slug,
|
|
name: studio.translations.en.name,
|
|
});
|
|
});
|
|
});
|