Files
aniplay-api/src/controllers/episodes/getByAniListId/index.spec.ts

105 lines
2.4 KiB
TypeScript

import { describe, expect, it } from "bun:test";
import app from "~/index";
import { server } from "~/mocks";
server.listen();
describe('requests the "/episodes" route', () => {
it("with list of episodes from Anify", async () => {
const response = await app.request(
"/episodes/1",
{},
{
ENABLE_ANIFY: "true",
},
);
expect(response.json()).resolves.toMatchSnapshot();
});
it("Anify ID filtered out, returns no episode list from Anify", async () => {
const response = await app.request(
"/episodes/158927",
{},
{
ENABLE_ANIFY: "true",
},
);
expect(response.json()).resolves.toEqual({ success: true, result: [] });
expect(response.status).toBe(200);
});
it("Anify is disabled, returns no episode list from Anify", async () => {
const response = await app.request(
"/episodes/2",
{},
{
ENABLE_ANIFY: "false",
},
);
expect(response.json()).resolves.toEqual({ success: true, result: [] });
expect(response.status).toBe(200);
});
// it("with list of episodes from Consumet", async () => {
// const response = await app.request(
// "/episodes/3",
// {},
// {
// ENABLE_ANIFY: "true",
// },
// );
// expect(response.json()).resolves.toEqual({
// success: true,
// result: {
// providerId: "consumet",
// episodes: [
// {
// id: "consumet-1",
// number: 1,
// title: "Consumet 1",
// updatedAt: 0,
// },
// ],
// },
// });
// });
// it("with list of episodes from Aniwatch", async () => {
// const response = await app.request(
// "/episodes/4",
// {},
// {
// ENABLE_ANIFY: "true",
// },
// );
// expect(response.json()).resolves.toEqual({
// success: true,
// result: {
// providerId: "aniwatch",
// episodes: [
// {
// id: "aniwatch-1",
// number: 1,
// title: "EP 1",
// updatedAt: 0,
// img: null,
// },
// ],
// },
// });
// });
it("with no episodes from all sources", async () => {
const response = await app.request("/episodes/-1");
expect(response.json()).resolves.toEqual({ success: true, result: [] });
expect(response.status).toBe(200);
});
});