Ich habe Rails 4.2.6 und rspec 3.3.0, entwickeln Version 3.5.8 und ich habe Probleme, meine Controller-Spezifikationen immer Fehler zu erhalten, (" erwartet, dass die Antwort einen Erfolgsstatus Code hat (2xx), aber es war 401 „) Später, als ich verschiedene spec versuche ich immer bin immer Fehlermeldung (“ Ihr Konto noch nicht aktiviert ist! "), jeder Ideen?, jede Hilfe sehr geschätzt.Rails 4 Test-Controller-Spezifikation, Devicehelfer sign_in funktioniert nicht
meine Spezifikation:
require 'rails_helper'
describe MyController, :type => :controller
let(:user) { create(:user) }
let(:campaign) { create(:campaign, user: user) }
let!(:placement) { create(:placement, user: user, campaign: campaign, end_date: Date.today) }
before(:each) do
sign_in user
end
context "when we have no data" do
before do
get :graph_data, format: :json
@json = JSON.parse(response.body)
end
it "should be a success" do
expect(response).to have_http_status(:success)
end
end
end
Ich habe folgende spec_helper:
config.include Devise::TestHelpers, :type => :controller
config.before(:each) do
DatabaseCleaner.start
end
Werk definiert:
FactoryGirl.define do
factory :unconfirmed_user, class: User do
sequence(:email) { |n| "john#{n}@email.com" }
sequence(:name) { |n| "John Nice #{n}" }
password 'password'
password_confirmation 'password'
factory :user do
confirmed_at Time.now.utc
factory :admin do
organisation { create(:organisation, :some_organisation) }
end
end
end
Controller:
MyController < ApplicationController
def graph_data
items = current_user.items //outputs [1,2,3,45,5]
render json: items, status: :ok
end
end
Routen:
GET /mycontroller/graph_data(.:format)
Haben Sie überprüft, ob Ihr Benutzer tatsächlich erstellt wird? Ich könnte mir vorstellen, dass Sie Probleme mit dem Feld password_confirmation haben – Richlewis
ja ich habe es überprüft und Benutzer wurde tatsächlich erstellt – violentr
haben Sie: Bestätigungsfähig mit Ihrer Geräte-Setup aktiviert? – Richlewis