mirror of
https://github.com/sussy-code/providers.git
synced 2026-04-29 12:12:55 +00:00
72 lines
1.6 KiB
TypeScript
72 lines
1.6 KiB
TypeScript
import { makeStandardFetcher } from "@/fetchers/standardFetch";
|
|
import { makeProviders } from "@/main/builder";
|
|
import { targets } from "@/main/targets";
|
|
import { isValidStream } from "@/utils/valid";
|
|
import fetch from "node-fetch";
|
|
import { describe, it, expect } from "vitest";
|
|
|
|
describe('isValidStream()', () => {
|
|
it('should pass valid streams', () => {
|
|
expect(isValidStream({
|
|
type: "file",
|
|
flags: [],
|
|
qualities: {
|
|
"1080": {
|
|
type: "mp4",
|
|
url: "hello-world"
|
|
}
|
|
}
|
|
})).toBe(true);
|
|
expect(isValidStream({
|
|
type: "hls",
|
|
flags: [],
|
|
playlist: "hello-world"
|
|
})).toBe(true);
|
|
});
|
|
|
|
it('should detect empty qualities', () => {
|
|
expect(isValidStream({
|
|
type: "file",
|
|
flags: [],
|
|
qualities: {}
|
|
})).toBe(false);
|
|
});
|
|
|
|
it('should detect empty stream urls', () => {
|
|
expect(isValidStream({
|
|
type: "file",
|
|
flags: [],
|
|
qualities: {
|
|
"1080": {
|
|
type: "mp4",
|
|
url: "",
|
|
}
|
|
}
|
|
})).toBe(false);
|
|
});
|
|
|
|
it('should detect emtpy HLS playlists', () => {
|
|
expect(isValidStream({
|
|
type: "hls",
|
|
flags: [],
|
|
playlist: "",
|
|
})).toBe(false);
|
|
});
|
|
});
|
|
|
|
describe("test", () => {
|
|
it("should work", async () => {
|
|
const providers = makeProviders({
|
|
fetcher: makeStandardFetcher(fetch),
|
|
target: targets.BROWSER
|
|
})
|
|
console.log(await providers.runAll({
|
|
media: {
|
|
title: "Spider-Man: Across the Spider-Verse",
|
|
tmdbId: "569094",
|
|
releaseYear: 2023,
|
|
type: "movie",
|
|
}
|
|
}))
|
|
})
|
|
})
|