2019-05-09 05:27:07 -04:00
|
|
|
# frozen_string_literal: true
|
|
|
|
require 'spec_helper'
|
|
|
|
|
|
|
|
describe 'Multiplexed queries' do
|
|
|
|
include GraphqlHelpers
|
|
|
|
|
|
|
|
it 'returns responses for multiple queries' do
|
|
|
|
queries = [
|
2019-08-26 13:43:38 -04:00
|
|
|
{ query: 'query($text: String!) { echo(text: $text) }',
|
2019-05-09 05:27:07 -04:00
|
|
|
variables: { 'text' => 'Hello' } },
|
2019-08-26 13:43:38 -04:00
|
|
|
{ query: 'query($text: String!) { echo(text: $text) }',
|
2019-05-09 05:27:07 -04:00
|
|
|
variables: { 'text' => 'World' } }
|
|
|
|
]
|
|
|
|
|
|
|
|
post_multiplex(queries)
|
|
|
|
|
|
|
|
first_response = json_response.first['data']['echo']
|
|
|
|
second_response = json_response.last['data']['echo']
|
|
|
|
|
|
|
|
expect(first_response).to eq('nil says: Hello')
|
|
|
|
expect(second_response).to eq('nil says: World')
|
|
|
|
end
|
|
|
|
|
|
|
|
it 'returns error and data combinations' do
|
|
|
|
queries = [
|
2019-08-26 13:43:38 -04:00
|
|
|
{ query: 'query($text: String!) { broken query }' },
|
|
|
|
{ query: 'query working($text: String!) { echo(text: $text) }',
|
2019-05-09 05:27:07 -04:00
|
|
|
variables: { 'text' => 'World' } }
|
|
|
|
]
|
|
|
|
|
|
|
|
post_multiplex(queries)
|
|
|
|
|
|
|
|
first_response = json_response.first['errors']
|
|
|
|
second_response = json_response.last['data']['echo']
|
|
|
|
|
|
|
|
expect(first_response).not_to be_empty
|
|
|
|
expect(second_response).to eq('nil says: World')
|
|
|
|
end
|
|
|
|
end
|