Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 4 additions & 4 deletions spec/fixtures/controllers.rb
Original file line number Diff line number Diff line change
Expand Up @@ -4,18 +4,18 @@ class FakeController < ActionController::Base
include Rails.application.routes.url_helpers

def show
render text: "Foo"
render plain: "Foo"
end

def index
param! :sort, String, in: %w(asc desc), default: "asc", transform: :downcase
param! :page, Integer, default: 1

render text: "index"
render plain: "index"
end

def new
render text: "new"
render plain: "new"
end

def edit
Expand All @@ -28,7 +28,7 @@ def edit
end
b.param! :price, BigDecimal, required: true
end
render text: :book
render plain: :book
end

end
12 changes: 6 additions & 6 deletions spec/rails_integration_spec.rb
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
describe FakeController, type: :controller do
describe "type coercion" do
it "coerces to integer" do
get :index, page: "666"
get :index, params: {page: "666"}

expect(controller.params[:page]).to eql(666)
end
Expand All @@ -22,7 +22,7 @@
},
'price' => '$1,000.00'
}}
get :edit, params
get :edit, params: params
expect(controller.params[:book][:author][:age]).to eql 70
expect(controller.params[:book][:author][:age]).to be_kind_of Integer
expect(controller.params[:book][:price]).to eql 1000.0
Expand All @@ -39,7 +39,7 @@
},
'price' => '$1,000.00'
}}
expect { get :edit, params }.to raise_error { |error|
expect { get :edit, params: params }.to raise_error { |error|
expect(error).to be_a(RailsParam::Param::InvalidParameterError)
expect(error.param).to eql("first_name")
expect(error.options).to eql({:required => true})
Expand All @@ -52,15 +52,15 @@
'title' => 'One Hundred Years of Solitude',
'price' => '$1,000.00'
}}
get :edit, params
get :edit, params: params
expect(controller.params[:book][:price]).to eql 1000.0
expect(controller.params[:book][:price]).to be_instance_of BigDecimal
end
end

describe "InvalidParameterError" do
it "raises an exception with params attributes" do
expect { get :index, sort: "foo" }.to raise_error { |error|
expect { get :index, params: {sort: "foo"} }.to raise_error { |error|
expect(error).to be_a(RailsParam::Param::InvalidParameterError)
expect(error.param).to eql("sort")
expect(error.options).to eql({:in => ["asc", "desc"], :default => "asc", :transform => :downcase})
Expand All @@ -70,7 +70,7 @@

describe ":transform parameter" do
it "applies transformations" do
get :index, sort: "ASC"
get :index, params: {sort: "ASC"}

expect(controller.params[:sort]).to eql("asc")
end
Expand Down