import { describe, expect, it } from "bun:test"; import app from "~/index"; import { server } from "~/mocks"; server.listen(); describe('requests the "/episodes/:id/url" route', () => { it("with sources from Anify", async () => { const response = await app.request( "/episodes/1/url", { method: "POST", body: JSON.stringify({ provider: "anify", id: "/ore-dake-level-up-na-ken-episode-2", }), headers: { "Content-Type": "application/json" }, }, { ENABLE_ANIFY: "true", }, ); expect(response.json()).resolves.toEqual({ success: true, result: { source: "https://proxy.anify.tv/video/8CLGIJg8G3k%252BH%252BYV9xyOYVGZ8al8uZqqtbXk44wKRco%252BGATkCrqlkgdRiam3owmOU4f2MAB89GOblOuZbxifwbGsjvp32uxhRC4kZVYrWnZmP%252FrLxtqwi0n6zY%252BvrffUh6dbg6DADSLCWhd2bNUUIg%253D%253D/%7B%7D/.m3u8", subtitles: [], audio: [], }, }); }); it("with no URL from Anify source", async () => { const response = await app.request("/episodes/-1/url", { method: "POST", body: JSON.stringify({ provider: "anify", id: "/ore-dake-level-up-na-ken-episode-2", }), headers: { "Content-Type": "application/json" }, }); expect(response.json()).resolves.toEqual({ success: false }); expect(response.status).toBe(404); }); it("with sources from Consumet", async () => { const response = await app.request( "/episodes/1/url", { method: "POST", body: JSON.stringify({ provider: "consumet", id: "/ore-dake-level-up-na-ken-episode-2", }), headers: { "Content-Type": "application/json" }, }, { ENABLE_ANIFY: "true", }, ); expect(response.json()).resolves.toEqual({ success: true, result: { source: "https://consumet.com", subtitles: [], audio: [], }, }); }); it("with no URL from Consumet source", async () => { const response = await app.request("/episodes/-1/url", { method: "POST", body: JSON.stringify({ provider: "consumet", id: "unknown", }), headers: { "Content-Type": "application/json" }, }); expect(response.json()).resolves.toEqual({ success: false }); expect(response.status).toBe(404); }); // it("with sources from Aniwatch", async () => { // const response = await app.request( // "/episodes/1/url", // { // method: "POST", // body: JSON.stringify({ // provider: "aniwatch", // id: "ore-dake-level-up-na-ken-episode-2", // }), // headers: { "Content-Type": "application/json" }, // }, // { // ENABLE_ANIFY: "true", // }, // ); // expect(response.json()).resolves.toEqual({ // success: true, // result: { // source: // "https://www032.vipanicdn.net/streamhls/aa804a2400535d84dd59454b28d329fb/ep.1.1712504065.m3u8", // subtitles: [], // audio: [], // }, // }); // }); // it("with no URL from Aniwatch source", async () => { // const response = await app.request("/episodes/-1/url", { // method: "POST", // body: JSON.stringify({ // provider: "aniwatch", // id: "unknown", // }), // headers: { "Content-Type": "application/json" }, // }); // expect(response.json()).resolves.toEqual({ success: false }); // expect(response.status).toBe(404); // }); });