diff --git a/src/mocks/cloudflare.ts b/src/mocks/cloudflare.ts deleted file mode 100644 index ffb9b24..0000000 --- a/src/mocks/cloudflare.ts +++ /dev/null @@ -1,24 +0,0 @@ -import { mock } from "bun:test"; - -mock.module("cloudflare:workers", () => ({ - env: { - ADMIN_SDK_JSON: JSON.stringify({ - type: "service_account", - projectId: "test-26g38", - privateKeyId: "privateKeyId", - privateKey: "privateKey", - clientEmail: "test@test.com", - clientID: "clientId", - authURI: "https://accounts.google.com/o/oauth2/auth", - tokenURI: "https://oauth2.googleapis.com/token", - authProviderX509CertUrl: "https://www.googleapis.com/oauth2/v1/certs", - clientX509CertUrl: - "https://www.googleapis.com/robot/v1/metadata/x509/test%40test.com", - universeDomain: "aniplay.com", - }), - ANIWATCH_URL: "https://aniwatch.to", - CONSUMET_URL: "https://api.consumet.org", - ANILIST_URL: "https://graphql.anilist.co", - GOOGLE_AUTH_URL: "https://www.googleapis.com/oauth2/v4/token", - }, -})); diff --git a/src/mocks/consumet.ts b/src/mocks/consumet.ts deleted file mode 100644 index a55b3bb..0000000 --- a/src/mocks/consumet.ts +++ /dev/null @@ -1,35 +0,0 @@ -import type { IAnimeEpisode, ISource } from "@consumet/extensions"; - -import { mock } from "bun:test"; - -mock.module("src/consumet", () => ({ - aniList: { - fetchEpisodesListById( - id: string, - dub?: boolean | undefined, - fetchFiller?: boolean | undefined, - ): Promise { - if (id === "3") { - return Promise.resolve([ - { - id: "consumet-1", - number: 1, - title: "Consumet 1", - }, - ]); - } - - return Promise.resolve([]); - }, - fetchEpisodeSources(episodeId: string, ...args: any): Promise { - if (episodeId === "unknown") { - return Promise.resolve({ sources: [] }); - } - - return Promise.resolve({ - sources: [{ url: "https://consumet.com" }], - subtitles: [], - }); - }, - }, -})); diff --git a/src/mocks/gcloud.ts b/src/mocks/gcloud.ts deleted file mode 100644 index 1a9578f..0000000 --- a/src/mocks/gcloud.ts +++ /dev/null @@ -1,76 +0,0 @@ -import { HttpResponse, http } from "msw"; - -import type { FcmMessagePayload } from "~/libs/gcloud/sendFcmMessage"; - -export function mockFcmMessageResponse() { - return http.post<{}, { message: FcmMessagePayload; validate_only: boolean }>( - "https://fcm.googleapis.com/v1/projects/test-26g38/messages:send", - async ({ request }) => { - const { message } = await request.json(); - const { name, token } = message; - - if (name === "token_verification") { - if (token?.length === 163) { - return HttpResponse.json({ name }); - } - - return HttpResponse.json({ - error: { - code: 400, - message: - "The registration token is not a valid FCM registration token", - status: "INVALID_ARGUMENT", - details: [ - { - "@type": "type.googleapis.com/google.firebase.fcm.v1.FcmError", - errorCode: "INVALID_ARGUMENT", - }, - ], - }, - }); - } - - return HttpResponse.json(message); - }, - ); -} - -export function mockCreateGcloudTask() { - return http.post<{}, { task: { name: string } }>( - "https://content-cloudtasks.googleapis.com/v2/projects/test-26g38/locations/northamerica-northeast1/queues/new-episode/tasks", - async ({ request }) => { - const { - task: { name }, - } = await request.json(); - return HttpResponse.json({ name }); - }, - ); -} - -export function mockDeleteGcloudTask() { - return http.delete<{ taskId: string }>( - "https://content-cloudtasks.googleapis.com/v2/projects/test-26g38/locations/northamerica-northeast1/queues/new-episode/tasks/:taskId", - async ({ params }) => { - const { taskId } = params; - - if (taskId === "123") { - return HttpResponse.json({ - error: { - code: 404, - message: "Task not found", - status: "NOT_FOUND", - details: [ - { - "@type": "type.googleapis.com/google.rpc.Status", - code: 5, - message: "Task not found", - }, - ], - }, - }); - } - - return HttpResponse.json({ messageId: "123" }); - }, - ); -} diff --git a/src/mocks/getGoogleAuthToken.ts b/src/mocks/getGoogleAuthToken.ts deleted file mode 100644 index cfa6af3..0000000 --- a/src/mocks/getGoogleAuthToken.ts +++ /dev/null @@ -1,41 +0,0 @@ -import type { TokenOptions } from "gtoken"; - -import { mock } from "bun:test"; - -import type { AdminSdkCredentials } from "~/libs/gcloud/getAdminSdkCredentials"; - -const emailRegex = - /^(([^<>()[\]\\.,;:\s@"]+(\.[^<>()[\]\\.,;:\s@"]+)*)|.(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/; - -class MockGoogleToken { - private email: string | undefined; - - constructor(options: TokenOptions) { - this.email = options.email; - } - - getToken() { - console.log("getToken", this.email); - if (!this.email) { - return Promise.reject("No email provided"); - } - - if (!emailRegex.test(this.email)) { - return Promise.reject("Invalid email"); - } - - return Promise.resolve({ - access_token: "asd", - }); - } -} - -mock.module("src/libs/gcloud/getGoogleAuthToken", () => { - return { - getGoogleAuthToken: (adminSdkJson: AdminSdkCredentials) => { - return new MockGoogleToken({ - email: adminSdkJson.clientEmail, - }).getToken(); - }, - }; -}); diff --git a/src/mocks/mockData.ts b/src/mocks/index.ts similarity index 100% rename from src/mocks/mockData.ts rename to src/mocks/index.ts diff --git a/src/services/episodes/getByAniListId/index.ts b/src/services/episodes/getByAniListId/index.ts index d3b275f..5d0a71f 100644 --- a/src/services/episodes/getByAniListId/index.ts +++ b/src/services/episodes/getByAniListId/index.ts @@ -7,7 +7,7 @@ export async function fetchEpisodes( // Check if we should use mock data const { useMockData } = await import("~/libs/useMockData"); if (useMockData()) { - const { mockEpisodes } = await import("~/mocks/mockData"); + const { mockEpisodes } = await import("~/mocks"); return mockEpisodes(); } diff --git a/src/services/search/anilist.ts b/src/services/search/anilist.ts index e5cf0f8..16b029f 100644 --- a/src/services/search/anilist.ts +++ b/src/services/search/anilist.ts @@ -8,7 +8,7 @@ export async function fetchSearchResultsFromAnilist( // Check if we should use mock data const { useMockData } = await import("~/libs/useMockData"); if (useMockData()) { - const { mockSearchResults } = await import("~/mocks/mockData"); + const { mockSearchResults } = await import("~/mocks"); // Paginate mock results const startIndex = (page - 1) * limit;