88 lines
2.8 KiB
TypeScript
88 lines
2.8 KiB
TypeScript
import gql from "graphql-tag";
|
|
import dataProvider from "../../src/index";
|
|
import client from "../gqlClient";
|
|
|
|
import "./index.mock";
|
|
|
|
describe("useOne", () => {
|
|
describe("gql", () => {
|
|
it("correct response with query", async () => {
|
|
const { data } = await dataProvider(client).getOne({
|
|
resource: "blog_posts",
|
|
id: "1",
|
|
meta: {
|
|
gqlQuery: gql`
|
|
query GetOneBlogPost($id: ID!) {
|
|
blogPost(id: $id) {
|
|
id
|
|
title
|
|
content
|
|
status
|
|
category {
|
|
id
|
|
}
|
|
}
|
|
}
|
|
`,
|
|
},
|
|
});
|
|
|
|
expect(data["id"]).toBeDefined();
|
|
expect(data["title"]).toBeDefined();
|
|
expect(data["content"]).toBeDefined();
|
|
expect(data["category"].id).toBeDefined();
|
|
});
|
|
});
|
|
|
|
it("correct response with mutation", async () => {
|
|
const { data } = await dataProvider(client).getOne({
|
|
resource: "blog_posts",
|
|
id: "1",
|
|
meta: {
|
|
gqlMutation: gql`
|
|
mutation UpdateOneBlogPost(
|
|
$input: UpdateOneBlogPostInput!
|
|
) {
|
|
updateOneBlogPost(input: $input) {
|
|
id
|
|
title
|
|
content
|
|
status
|
|
category {
|
|
id
|
|
}
|
|
}
|
|
}
|
|
`,
|
|
},
|
|
});
|
|
|
|
expect(data["id"]).toBeDefined();
|
|
expect(data["title"]).toBeDefined();
|
|
expect(data["content"]).toBeDefined();
|
|
expect(data["category"].id).toBeDefined();
|
|
});
|
|
|
|
describe("fields (legacy)", () => {
|
|
it("correct response with meta", async () => {
|
|
const { data } = await dataProvider(client).getOne({
|
|
resource: "blog_posts",
|
|
id: "1",
|
|
meta: {
|
|
fields: [
|
|
"id",
|
|
"title",
|
|
"content",
|
|
"status",
|
|
{ category: ["id"] },
|
|
],
|
|
},
|
|
});
|
|
|
|
expect(data["id"]).toBeDefined();
|
|
expect(data["title"]).toBeDefined();
|
|
expect(data["content"]).toBeDefined();
|
|
expect(data["category"].id).toBeDefined();
|
|
});
|
|
});
|
|
});
|