HTTP Request Methods Limiting Arguments
Check out this RSpec test from a Rails application:
# spec/controllers/chapters_controller_spec.rb
describe ChaptersController do
describe '#create' do
it 'creates a chapter' do
expect do
post :create, chapter: FactoryGirl.attributes_for(:chapter)
end.to change(Chapter, :count).by(1)
end
end
end
The code after :create
will soon be deprecated.
5.0+ versions of Rails will only accept keyword arguments for ActionController::TestCase
HTTP request methods.
Here's that same test, minus the deprecation warnings I encountered upgrading to the first Rails 5 release candidate:
# spec/controllers/chapters_controller_spec.rb
describe ChaptersController do
describe '#create' do
it 'creates a chapter' do
expect do
post :create, params: { chapter: { title: 'Change', body: 'Change is coming!' } }
end.to change(Chapter, :count).by(1)
end
end
end
Tweet