mirror of
https://github.com/stefanpejcic/openpanel
synced 2025-06-26 18:28:26 +00:00
43 lines
1.0 KiB
TypeScript
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."));
|
|
});
|
|
});
|
|
});
|