Skip to content

Commit 5ff4d39

Browse files
blakenumbata
authored andcommitted
Add test
1 parent bbf21b9 commit 5ff4d39

File tree

1 file changed

+58
-0
lines changed

1 file changed

+58
-0
lines changed
Lines changed: 58 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,58 @@
1+
# frozen_string_literal: true
2+
3+
require 'spec_helper'
4+
5+
describe 'mount override api' do
6+
def app
7+
old_api = Class.new(Grape::API) do
8+
desc 'old endpoint', success: { code: 200, message: 'old message' }
9+
params do
10+
optional :param, type: Integer, desc: 'old param'
11+
end
12+
get do
13+
'old'
14+
end
15+
end
16+
17+
new_api = Class.new(Grape::API) do
18+
desc 'new endpoint', success: { code: 200, message: 'new message' }
19+
params do
20+
optional :param, type: String, desc: 'new param'
21+
end
22+
get do
23+
'new'
24+
end
25+
end
26+
27+
Class.new(Grape::API) do
28+
mount new_api
29+
mount old_api
30+
31+
add_swagger_documentation openapi_version: '3.0', format: :json
32+
end
33+
end
34+
35+
context 'actual api request' do
36+
subject do
37+
get '/'
38+
last_response.body
39+
end
40+
41+
it 'returns data from new endpoint' do
42+
is_expected.to eq 'new'
43+
end
44+
end
45+
46+
context 'api documentation' do
47+
subject do
48+
get '/swagger_doc'
49+
JSON.parse(last_response.body)['paths']['/']['get']
50+
end
51+
52+
it 'shows documentation from new endpoint' do
53+
expect(subject['parameters'][0]['description']).to eql('new param')
54+
expect(subject['parameters'][0]['schema']['type']).to eql('string')
55+
expect(subject['responses']['200']['description']).to eql('new message')
56+
end
57+
end
58+
end

0 commit comments

Comments
 (0)