feat: support removing watch status when null
A user can choose to remove a show from being in their media list completely, by setting the watch status to null
This commit is contained in:
15
src/mocks/anilist/deleteMediaListEntry.ts
Normal file
15
src/mocks/anilist/deleteMediaListEntry.ts
Normal file
@@ -0,0 +1,15 @@
|
||||
import { HttpResponse, graphql } from "msw";
|
||||
|
||||
export function deleteAnilistMediaListEntry() {
|
||||
return graphql.mutation(
|
||||
"DeleteMediaListEntry",
|
||||
({ variables: { entryId } }) =>
|
||||
HttpResponse.json({
|
||||
data: {
|
||||
DeleteMediaListEntry: {
|
||||
deleted: entryId > 0,
|
||||
},
|
||||
},
|
||||
}),
|
||||
);
|
||||
}
|
||||
35
src/mocks/anilist/mediaListEntry.ts
Normal file
35
src/mocks/anilist/mediaListEntry.ts
Normal file
@@ -0,0 +1,35 @@
|
||||
import { HttpResponse, graphql } from "msw";
|
||||
|
||||
export function getAnilistMediaListEntry() {
|
||||
return graphql.query("GetMediaListEntry", ({ variables: { titleId } }) => {
|
||||
if (titleId === 10) {
|
||||
return HttpResponse.json({
|
||||
data: {
|
||||
Media: {
|
||||
mediaListEntry: {
|
||||
id: 123456,
|
||||
},
|
||||
},
|
||||
},
|
||||
});
|
||||
} else if (titleId === 139518) {
|
||||
return HttpResponse.json({
|
||||
data: {
|
||||
Media: {
|
||||
mediaListEntry: {
|
||||
id: 123457,
|
||||
},
|
||||
},
|
||||
},
|
||||
});
|
||||
}
|
||||
|
||||
return HttpResponse.json({
|
||||
data: {
|
||||
Media: {
|
||||
mediaListEntry: null,
|
||||
},
|
||||
},
|
||||
});
|
||||
});
|
||||
}
|
||||
@@ -5,12 +5,16 @@ import { getAmvstrmTitle } from "./amvstrm/title";
|
||||
import { getAnifyEpisodes } from "./anify/episodes";
|
||||
import { getAnifySources } from "./anify/sources";
|
||||
import { getAnifyTitle } from "./anify/title";
|
||||
import { deleteAnilistMediaListEntry } from "./anilist/deleteMediaListEntry";
|
||||
import { getAnilistMediaListEntry } from "./anilist/mediaListEntry";
|
||||
import { getAnilistSearchResults } from "./anilist/search";
|
||||
import { getAnilistTitle } from "./anilist/title";
|
||||
import { updateAnilistWatchStatus } from "./anilist/updateWatchStatus";
|
||||
import { mockFcmMessageResponse } from "./fcm";
|
||||
|
||||
export const handlers = [
|
||||
deleteAnilistMediaListEntry(),
|
||||
getAnilistMediaListEntry(),
|
||||
getAnilistSearchResults(),
|
||||
getAnilistTitle(),
|
||||
updateAnilistWatchStatus(),
|
||||
|
||||
Reference in New Issue
Block a user