Я боролся с undefined method 'authenticate' for nil:NilClass
для моих запросов, используя сериализатор (Rspec).active_model_serializer + devise + rspec
апи/users_controller_spec.rb
require 'rails_helper'
describe Api::V1::UsersController, type: :controller do
describe "GET #show" do
context "with valid credentials" do
let!(:application) { create(:doorkeeper_application) } # OAuth application
let!(:user) { create(:user) }
let!(:token) { create(:doorkeeper_access_token, application_id: application.id, resource_owner_id: user.id) }
before do
allow(controller).to receive(:doorkeeper_token) {token}
end
context 'and valid request' do
before(:each) do
get :show, format: :json
@json = JSON.parse(response.body)
end
it "returns the user with 'id'" do
expect(@json["id"]).to_not be_nil
end
end
end
end
end
сериализаторов/user_serializer.rb
class UserSerializer < ActiveModel::Serializer
attributes :id, :uid, :name, :email
end
Спасибо! Это сработало для меня в моем проекте Rails 4.2.1. Странно то, что мне не нужно было устанавливать это в моем проекте Rails 5. : / – CalebHC