私のsinatraアプリケーションには、いくつかのルートの開始時に実行されるセキュリティメソッドがあります。安全である必要がある各ルートに対して同じ認証rspecテストのセットを実行したいのですが、rspecで繰り返したくありません。これはどのようにすればよいですか?
helpers do
def requires_auth!
# stuff
end
end
post '/object' do
requires_auth!
# stuff
end
put '/object' do
requires_auth!
# stuff
end
get '/object' do
# doesn't require auth
# stuff
end
私のスペックは現在このように見え、非常に反復的に見えます。
describe 'The post request' do
it 'should fail if auth token is invalid'
it 'should fail if auth token has expired'
it 'should pass if <other stuff>'
end
describe 'The put request' do
it 'should fail if auth token is invalid'
it 'should fail if auth token has expired'
it 'should pass if <more other stuff>'
end
describe 'The get request' do
it 'should pass if <other stuff yet again>'
end