43 lines
1.5 KiB
TypeScript
43 lines
1.5 KiB
TypeScript
import { GraphQLClient } from 'graphql-request'
|
|
|
|
import { initPayloadTest } from '../helpers/configHelpers'
|
|
import configPromise from './config'
|
|
|
|
let client: GraphQLClient
|
|
|
|
describe('Custom GraphQL', () => {
|
|
beforeAll(async () => {
|
|
const { serverURL } = await initPayloadTest({ __dirname, init: { local: false } })
|
|
const config = await configPromise
|
|
const url = `${serverURL}${config.routes.api}${config.routes.graphQL}`
|
|
client = new GraphQLClient(url)
|
|
})
|
|
|
|
describe('Isolated Transaction ID', () => {
|
|
it('should isolate transaction IDs between queries in the same request', async () => {
|
|
const query = `query {
|
|
TransactionID1
|
|
TransactionID2
|
|
}`
|
|
const response = await client.request(query)
|
|
// either no transactions at all or they are different
|
|
expect(
|
|
(response.TransactionID2 === null && response.TransactionID1 === null) ||
|
|
response.TransactionID2 !== response.TransactionID1,
|
|
).toBe(true)
|
|
})
|
|
it('should isolate transaction IDs between mutations in the same request', async () => {
|
|
const query = `mutation {
|
|
MutateTransactionID1
|
|
MutateTransactionID2
|
|
}`
|
|
const response = await client.request(query)
|
|
// either no transactions at all or they are different
|
|
expect(
|
|
(response.MutateTransactionID2 === null && response.MutateTransactionID1 === null) ||
|
|
response.MutateTransactionID2 !== response.MutateTransactionID1,
|
|
).toBe(true)
|
|
})
|
|
})
|
|
})
|