spec/requests_spec.rb in grape-batch-1.0.2 vs spec/requests_spec.rb in grape-batch-1.0.3

- old
+ new

@@ -3,12 +3,15 @@ require 'grape/batch' require 'grape' require 'api' RSpec.describe Grape::Batch::Base do - let(:app) { Twitter::API.new } - let(:stack) { Grape::Batch::Base.new(app) } + before :context do + @app = Twitter::API.new + end + + let(:stack) { Grape::Batch::Base.new(@app) } let(:request) { Rack::MockRequest.new(stack) } def encode(message) MultiJson.encode(message) end @@ -16,10 +19,11 @@ def decode(message) MultiJson.decode(message) end describe '/api' do + describe 'GET /hello' do let(:response) { request.get('/api/v1/hello') } it { expect(response.status).to eq(200) } it { expect(response.body).to eq(encode('world')) } @@ -144,9 +148,17 @@ context 'with a body' do let(:request_body) { encode({requests: [{method: 'POST', path: '/api/v1/status', body: {id: 856}}]}) } it { expect(response.status).to eq(200) } it { expect(response.body).to eq(encode([{success: 'status 856'}])) } + end + end + + describe 'POST' do + context 'with multiple requests' do + let(:request_body) { encode({requests: [{method: 'POST', path: '/api/v1/hello'}, {method: 'GET', path: '/api/v1/user/856'}]}) } + it { expect(response.status).to eq(200) } + it { expect(decode(response.body).size).to eq(2) } end end end end