Skip to content

Commit f0ef658

Browse files
author
Tim Vandecasteele
committed
Add spec for multiple documentations.
1 parent 55a1ab6 commit f0ef658

File tree

2 files changed

+56
-0
lines changed

2 files changed

+56
-0
lines changed

CHANGELOG.markdown

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44
* Adding support for generating swagger responseClass and models from Grape Entities - [@calebwoods](https://github.com/calebwoods).
55
* Adding hidden endpoints - [@arturoherrero](https://github.com/arturoherrero).
66
* Fix: allow urls with `-` - [@dadario](https://github.com/dadario).
7+
* Fix: mounting multiple documentations - [@Drakula2k](https://github.com/Drakula2k).
78
* Your Contribution Here
89

910
### 0.6.0 (June 19, 2013)

spec/non_default_api_spec.rb

Lines changed: 55 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -337,4 +337,59 @@ def app; SimpleApiWithHiddenPaths; end
337337
end
338338
end
339339
end
340+
341+
context "multiple documentations" do
342+
before :all do
343+
class FirstApi < Grape::API
344+
desc 'This is the first API'
345+
get '/first' do
346+
{ first: 'hip' }
347+
end
348+
349+
add_swagger_documentation mount_path: '/first/swagger_doc'
350+
end
351+
352+
class SecondApi < Grape::API
353+
desc 'This is the second API'
354+
get '/second' do
355+
{ second: 'hop' }
356+
end
357+
358+
add_swagger_documentation mount_path: '/second/swagger_doc'
359+
end
360+
361+
class SimpleApiWithMultipleMountedDocumentations < Grape::API
362+
mount FirstApi
363+
mount SecondApi
364+
end
365+
end
366+
367+
def app; SimpleApiWithMultipleMountedDocumentations; end
368+
369+
it "retrieves the first swagger-documentation on /first/swagger_doc" do
370+
get '/first/swagger_doc.json'
371+
JSON.parse(last_response.body).should == {
372+
"apiVersion" => "0.1",
373+
"swaggerVersion" => "1.1",
374+
"basePath" => "http://example.org",
375+
"operations" => [],
376+
"apis" => [
377+
{ "path" => "/first/swagger_doc/first.{format}" }
378+
]
379+
}
380+
end
381+
382+
it "retrieves the first swagger-documentation on /second/swagger_doc" do
383+
get '/second/swagger_doc.json'
384+
JSON.parse(last_response.body).should == {
385+
"apiVersion" => "0.1",
386+
"swaggerVersion" => "1.1",
387+
"basePath" => "http://example.org",
388+
"operations" => [],
389+
"apis" => [
390+
{ "path" => "/second/swagger_doc/second.{format}" }
391+
]
392+
}
393+
end
394+
end
340395
end

0 commit comments

Comments
 (0)