openpanel/packages/graphql/test/updateMany/updateMany.spec.ts
Stefan Pejcic 09f9f9502d packages
2024-11-07 19:03:37 +01:00

43 lines
1.0 KiB
TypeScript

import { gql } from "@urql/core";
import dataProvider from "../../src/index";
import client from "../gqlClient";
import "./updateMany.mock";
const gqlMutation = gql`
mutation UpdateManyBlogPosts($input: UpdateManyBlogPostsInput!) {
updateManyBlogPosts(input: $input) {
updatedCount
}
}
`;
describe("updateMany", () => {
describe("with correct params", () => {
it("works as expected", async () => {
const ids = ["1", "2"];
const { data } = await dataProvider(client).updateMany({
resource: "blogPosts",
ids,
meta: {
gqlMutation,
},
variables: { status: "PUBLISHED" },
});
expect(data).toEqual(ids.map((id) => ({ id })));
});
});
describe("without operation", () => {
it("throws error", async () => {
expect(
dataProvider(client).updateMany({
resource: "blogPosts",
ids: [1, 2],
variables: { status: "PUBLISHED" },
}),
).rejects.toEqual(new Error("Operation is required."));
});
});
});