RequestSpecでContent-Typeヘッダapplication/jsonをデフォルトにするには?
Web APIでのデータの送受信形式にJSONを使用し、リクエストのContent-Typeヘッダをapplication/jsonに指定する場合、RequestSpecで以下のように書いてます。
しかし、この書き方だとspec
ファイル毎にlet(:request_header)
の記入が必要なため、DRYじゃないし、面倒です。
これをデフォルト設定にする、もしくは汎用的に書く方法を知っている方いたら教えて下さい。
describe 'Users' do
let(:request_header) do
{ 'CONTENT_TYPE' => 'application/json', 'ACCEPT' => 'application/json' }
end
describe 'POST /api/v1/users' do
it 'creates a new user' do
params = FactoryGirl.attributes_for(:user)
expect {
post '/api/v1/users', params.to_json, request_header
}.to change { User.count }.from(0).to(1)
expect(response.status).to eq(201)
end
end
end