I am trying to get RSpec testing to work. I (think I) have followed the instructions in the readme, but I keep getting:
1) API::V1::Accounts GET :id returns an account by some_id
Failure/Error: Unable to find matching line from backtrace
NoMethodError:
undefined method `request=' for #<API::V1::Accounts:0x007fb67afd3710>
# /Users/ggoodrich/.rvm/gems/ruby-2.0.0-p247@kyck_auth_provider/gems/actionpack-3.2.18/lib/action_controller/test_case.rb:507:in `setup_controller_request_and_response'
# /Users/ggoodrich/.rvm/gems/ruby-2.0.0-p247@kyck_auth_provider/gems/rspec-rails-2.14.2/lib/rspec/rails/adapters.rb:112:in `block (2 levels) in setup'
# /Users/ggoodrich/.rvm/gems/ruby-2.0.0-p247@kyck_auth_provider/gems/rspec-core-2.14.8/lib/rspec/core/example.rb:237:in `instance_eval'
# /Users/ggoodrich/.rvm/gems/ruby-2.0.0-p247@kyck_auth_provider/gems/rspec-core-2.14.8/lib/rspec/core/example.rb:237:in `instance_eval'
# /Users/ggoodrich/.rvm/gems/ruby-2.0.0-p247@kyck_auth_provider/gems/rspec-core-2.14.8/lib/rspec/core/hooks.rb:21:in `run'
# /Users/ggoodrich/.rvm/gems/ruby-2.0.0-p247@kyck_auth_provider/gems/rspec-core-2.14.8/lib/rspec/core/hooks.rb:85:in `block in run'
# /Users/ggoodrich/.rvm/gems/ruby-2.0.0-p247@kyck_auth_provider/gems/rspec-core-2.14.8/lib/rspec/core/hooks.rb:85:in `each'
# /Users/ggoodrich/.rvm/gems/ruby-2.0.0-p247@kyck_auth_provider/gems/rspec-core-2.14.8/lib/rspec/core/hooks.rb:85:in `run'
# /Users/ggoodrich/.rvm/gems/ruby-2.0.0-p247@kyck_auth_provider/gems/rspec-core-2.14.8/lib/rspec/core/hooks.rb:446:in `run_hook'
# /Users/ggoodrich/.rvm/gems/ruby-2.0.0-p247@kyck_auth_provider/gems/rspec-core-2.14.8/lib/rspec/core/example_group.rb:345:in `run_before_each_hooks'
# /Users/ggoodrich/.rvm/gems/ruby-2.0.0-p247@kyck_auth_provider/gems/rspec-core-2.14.8/lib/rspec/core/example.rb:294:in `run_before_each'
# /Users/ggoodrich/.rvm/gems/ruby-2.0.0-p247@kyck_auth_provider/gems/rspec-core-2.14.8/lib/rspec/core/example.rb:113:in `block in run'
# /Users/ggoodrich/.rvm/gems/ruby-2.0.0-p247@kyck_auth_provider/gems/rspec-rails-2.14.2/lib/rspec/rails/example/controller_example_group.rb:159:in `call'
# /Users/ggoodrich/.rvm/gems/ruby-2.0.0-p247@kyck_auth_provider/gems/rspec-rails-2.14.2/lib/rspec/rails/example/controller_example_group.rb:159:in `block (2 levels) in <module:ControllerExampleGroup>'
# /Users/ggoodrich/.rvm/gems/ruby-2.0.0-p247@kyck_auth_provider/gems/rspec-core-2.14.8/lib/rspec/core/extensions/instance_eval_with_args.rb:16:in `instance_exec'
# /Users/ggoodrich/.rvm/gems/ruby-2.0.0-p247@kyck_auth_provider/gems/rspec-core-2.14.8/lib/rspec/core/extensions/instance_eval_with_args.rb:16:in `instance_eval_with_args'
for a simple test.
module API
module V1
class Accounts < Grape::API
include Defaults
resource :accounts do
desc "Return an account by ID"
params do
requires :id, type: String, desc: "The ID to retrieve"
end
route_param :id do
get do
puts 'HI'
authenticated?
a = Account.where(some_id: params[:id]).first
present a, with: API::V1::Accounts::Entity
end
end
...