@graphql-hive/federation-gateway-audit
Version:
Audit tool for Apollo Federation Gateway
373 lines (371 loc) • 6.1 kB
text/typescript
import { createTest } from "../../testkit.js";
export default [
createTest(
/* GraphQL */ `
query {
me {
id
}
}
`,
{
data: {
me: {
id: "u1",
},
},
},
),
createTest(
/* GraphQL */ `
query {
me {
id
reviews {
id
}
}
}
`,
{
data: {
me: {
id: "u1",
reviews: [
{
id: "r1",
},
{
id: "r2",
},
],
},
},
},
),
createTest(
/* GraphQL */ `
query {
me {
reviews {
id
author {
id
username
}
product {
inStock
}
}
}
}
`,
{
data: {
me: {
reviews: [
{
id: "r1",
author: {
id: "u1",
username: "u-username-1",
},
product: {
inStock: true,
},
},
{
id: "r2",
author: {
id: "u1",
username: "u-username-1",
},
product: {
inStock: false,
},
},
],
},
},
},
),
createTest(
/* GraphQL */ `
query {
products {
name
}
}
`,
{
data: {
products: [
{
name: "p-name-1",
},
{
name: "p-name-2",
},
],
},
},
),
createTest(
/* GraphQL */ `
query {
products {
price
}
}
`,
{
data: {
products: [
{
price: 11,
},
{
price: 22,
},
],
},
},
),
createTest(
/* GraphQL */ `
query {
products {
shippingEstimate
}
}
`,
{
data: {
products: [
{
shippingEstimate: 110,
},
{
shippingEstimate: 440,
},
],
},
},
),
createTest(
/* GraphQL */ `
query {
products {
shippingEstimate
weight
price
}
}
`,
{
data: {
products: [
{
shippingEstimate: 110,
weight: 1,
price: 11,
},
{
shippingEstimate: 440,
weight: 2,
price: 22,
},
],
},
},
),
createTest(
/* GraphQL */ `
{
products {
reviews {
id
author {
username
}
product {
name
shippingEstimate
}
}
}
}
`,
{
data: {
products: [
{
reviews: [
{
id: "r1",
author: {
username: "u-username-1",
},
product: {
name: "p-name-1",
shippingEstimate: 110,
},
},
],
},
{
reviews: [
{
id: "r2",
author: {
username: "u-username-1",
},
product: {
name: "p-name-2",
shippingEstimate: 440,
},
},
],
},
],
},
},
),
createTest(
/* GraphQL */ `
{
me {
reviews {
product {
reviews {
id
}
}
}
}
}
`,
{
data: {
me: {
reviews: [
{
product: {
reviews: [
{
id: "r1",
},
],
},
},
{
product: {
reviews: [
{
id: "r2",
},
],
},
},
],
},
},
},
),
createTest(
/* GraphQL */ `
query {
me {
reviews {
product {
inStock
}
}
}
}
`,
{
data: {
me: {
reviews: [
{
product: {
inStock: true,
},
},
{
product: {
inStock: false,
},
},
],
},
},
},
),
createTest(
/* GraphQL */ `
query {
me {
reviews {
product {
shippingEstimate
}
}
}
}
`,
{
data: {
me: {
reviews: [
{
product: {
shippingEstimate: 110,
},
},
{
product: {
shippingEstimate: 440,
},
},
],
},
},
},
),
createTest(
/* GraphQL */ `
query {
me {
reviews {
product {
shippingEstimate
shippingEstimateTag
}
}
}
}
`,
{
data: {
me: {
reviews: [
{
product: {
shippingEstimate: 110,
shippingEstimateTag: "#p1#110#",
},
},
{
product: {
shippingEstimate: 440,
shippingEstimateTag: "#p2#440#",
},
},
],
},
},
},
),
];