2016-06-07 15 views
0

Hallo, so halte ich diesen Fehler, obwohl ichnicht definierte Methode 'sign_in' für rspec

um hier gepostet einige der Lösungen versucht

spec/support/devise.rb

RSpec.configure do |config| 
config.include Devise::Test::ControllerHelpers, type: :controller 
config.include Devise::Test::ControllerHelpers, type: :view 
end 

accounts_spec .rb

require "rails_helper" 

RSpec.describe Api::V1::AccountsController, :type => :controller do 
    describe "GET index no account" do 
    it "has a 403 status code" do 
     get :index 
     expect(response.status).to eq(403) 
    end 
    end 
    describe "GET index with account" do 
    it "has a 200 status code" do 
     sign_in @user 
     get :index 
     expect(response.status).to eq(200) 
    end 
    end 
end 

accounts_controller.rb

class Api::V1::AccountsController < ApplicationController 
    skip_before_action :verify_authenticity_token 

    def index 
     #show user details 
     raise if not current_user 
     render json: { :user => current_user.as_json(:except=>[:created_at, :updated_at, :authorization_token, :provider, :uid, :id])} 
     rescue 
     render nothing: true, status: 403 
    end 

Irgendwelche Ideen? Ich bin blockiert, der erste Test für 403 funktioniert, aber dann kann ich einfach nicht das sign_in des Gerätes verwenden ...

Antwort

0

Sieht aus wie die Config nicht ausgeführt wird. Vergewissern Sie sich, Ihre spec/support/devise.rb enthalten durch so etwas wie

Dir[Rails.root.join('spec/support/**/*.rb')].each { |f| require f } 

in rails_helper.rb

Oder die devise.rb Dateien verschieben war diese config.include s in rails_helper selbst

+0

Keiner von diesen funktioniert. .. aber ich habe das Problem jedoch gefunden. wird es unten posten –

0

Das Problem. Die richtigen Konfigurations Linien waren

config.include Devise::TestHelpers, type: :controller 
    config.include Devise::TestHelpers, type: :view 
0

Sie können direkt

config.include Devise::TestHelpers, :type => :controller 

verwenden sign_in Methode Diese in Ihren Schienen Helfer verwenden.

Verwandte Themen