directus
1import type { Request } from 'express';
2import { expect, test } from 'vitest';
3
4import { getGraphqlQueryAndVariables } from './get-graphql-query-and-variables.js';
5
6const query = `
7query getProduct($id: ID!) {
8products_by_id(id: $id) {
9id
10}
11}
12`;
13
14const variables = JSON.stringify({ id: 1 });
15const additionalProperty = 'test';
16
17test('should get query from request query for GET method', async () => {
18const request = { method: 'GET', query: { query, variables, additionalProperty } } as unknown as Request;
19expect(getGraphqlQueryAndVariables(request)).toEqual({ query, variables });
20});
21
22test('should get query from request body for other methods', async () => {
23const request = { method: 'POST', body: { query, variables, additionalProperty } } as unknown as Request;
24expect(getGraphqlQueryAndVariables(request)).toEqual({ query, variables });
25});
26