fix: test failures
This commit is contained in:
@@ -1,36 +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);
|
||||
},
|
||||
);
|
||||
}
|
||||
76
src/mocks/gcloud.ts
Normal file
76
src/mocks/gcloud.ts
Normal file
@@ -0,0 +1,76 @@
|
||||
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" });
|
||||
},
|
||||
);
|
||||
}
|
||||
@@ -15,6 +15,7 @@ class MockGoogleToken {
|
||||
}
|
||||
|
||||
getToken() {
|
||||
console.log("getToken", this.email);
|
||||
if (!this.email) {
|
||||
return Promise.reject("No email provided");
|
||||
}
|
||||
|
||||
@@ -10,7 +10,11 @@ import { updateAnilistWatchStatus } from "./anilist/updateWatchStatus";
|
||||
import { getAniwatchEpisodes } from "./aniwatch/episodes";
|
||||
import { getAniwatchSearchResults } from "./aniwatch/search";
|
||||
import { getAniwatchSources } from "./aniwatch/sources";
|
||||
import { mockFcmMessageResponse } from "./fcm";
|
||||
import {
|
||||
mockCreateGcloudTask,
|
||||
mockDeleteGcloudTask,
|
||||
mockFcmMessageResponse,
|
||||
} from "./gcloud";
|
||||
|
||||
export const handlers = [
|
||||
deleteAnilistMediaListEntry(),
|
||||
@@ -25,5 +29,7 @@ export const handlers = [
|
||||
getAniwatchEpisodes(),
|
||||
getAniwatchSearchResults(),
|
||||
getAniwatchSources(),
|
||||
mockCreateGcloudTask(),
|
||||
mockDeleteGcloudTask(),
|
||||
mockFcmMessageResponse(),
|
||||
];
|
||||
|
||||
Reference in New Issue
Block a user