spec/lib/operation_id_spec.rb in grape-swagger-0.20.2 vs spec/lib/operation_id_spec.rb in grape-swagger-0.20.3
- old
+ new
@@ -5,20 +5,50 @@
specify { expect(subject).to eql GrapeSwagger::DocMethods::OperationId }
specify { expect(subject).to respond_to :build }
describe 'build' do
- specify do
- expect(subject.build('GET')).to eql 'get'
- expect(subject.build('get')).to eql 'get'
- expect(subject.build(:get)).to eql 'get'
- expect(subject.build('GET', 'foo')).to eql 'getFoo'
- expect(subject.build('GET', '/foo')).to eql 'getFoo'
- expect(subject.build('GET', 'bar/foo')).to eql 'getBarFoo'
- expect(subject.build('GET', 'bar/foo{id}')).to eql 'getBarFooId'
- expect(subject.build('GET', '/bar_foo{id}')).to eql 'getBarFooId'
- expect(subject.build('GET', '/bar-foo{id}')).to eql 'getBarFooId'
- expect(subject.build('GET', '/simple_test/bar-foo{id}')).to eql 'getSimpleTestBarFooId'
+ if defined?(Grape::VERSION) && Gem::Version.new(::Grape::VERSION) < Gem::Version.new('0.16.0')
+ let(:route) { Grape::Route.new(method: method) }
+ else
+ let(:route) { Grape::Router::Route.new(method, '/path', requirements: {}) }
end
- end
+ describe 'GET' do
+ let(:method) { 'GET' }
+ specify { expect(subject.build(route)).to eql 'get' }
+ end
+ describe 'get' do
+ let(:method) { 'get' }
+ specify { expect(subject.build(route)).to eql 'get' }
+ end
+ describe ':get' do
+ let(:method) { :get }
+ specify { expect(subject.build(route)).to eql 'get' }
+ end
+
+ describe 'path given' do
+ let(:method) { 'GET' }
+ it 'GET with path foo' do
+ expect(subject.build(route, 'foo')).to eql 'getFoo'
+ end
+ it 'GET with path /foo' do
+ expect(subject.build(route, '/foo')).to eql 'getFoo'
+ end
+ it 'GET with path bar/foo' do
+ expect(subject.build(route, 'bar/foo')).to eql 'getBarFoo'
+ end
+ it 'GET with path bar/foo{id}' do
+ expect(subject.build(route, 'bar/foo{id}')).to eql 'getBarFooId'
+ end
+ it 'GET with path /bar_foo{id}' do
+ expect(subject.build(route, '/bar_foo{id}')).to eql 'getBarFooId'
+ end
+ it 'GET with path /bar-foo{id}' do
+ expect(subject.build(route, '/bar-foo{id}')).to eql 'getBarFooId'
+ end
+ it 'GET with path /simple_test/bar-foo{id}' do
+ expect(subject.build(route, '/simple_test/bar-foo{id}')).to eql 'getSimpleTestBarFooId'
+ end
+ end
+ end
end