2016-04-22 10 views
0

RSpec und factory für einfaches Zeichen zu verwenden, und ich versuchte, mit:Wie ich begann factory_girl mit nur in

user = FactoryGirl.create(:user) 

aber das scheint nicht zu funktionieren. Hier ist mein Code:

RSpec.feature "Send a message" do 
scenario "Staff can send a message" do 
visit "/" 

group = Group.create!(name: "Group A") 
user = FactoryGirl.create(:user) 
fill_in "Email", with: "[email protected]" 
fill_in "Password", with: "password" 
click_button "Sign in" 

person = Person.create!(groups: [group], phone_number: "+161655555555") 
message = Message.create(body: "Test Message", group_ids: [group.id]) 
fill_in "Enter a Message:", with: "Test Message" 
check "message_group_#{group.id}" 
click_button "Send Message" 

expect(page).to have_content("Messages on their way!") 
expect(page).to_not have_content("Body can't be blank") 
expect(page).to_not have_content("Group ids can't be blank") 
end 

Hier ist meine Fabrik:

FactoryGirl.define do 
factory :user do 
    email "[email protected]" 
    password "password" 
end 
end 

Einfach richtig? Was könnte schief gehen?

+0

Willkommen bei Stack Overflow. Bitte lesen Sie "[mcve]". Beschreibe "schief gehen". Welche Warnungen/Fehler siehst du? –

+0

können Sie uns die Fehlermeldung geben? – amrdruid

+0

Die Fehler sagen, dass der Benutzer nicht angemeldet wurde. Der Rest des Tests bricht also ab. @druid Ich habe es versucht, aber es hat nicht funktioniert. – Bitwise

Antwort

1
user = FactoryGirl.create(:user) 
fill_in "Email", with: user.email 
fill_in "Password", with: user.password 

Auch, wenn Sie entwickeln, können Sie folgende Zeilen zu spec/support/warden.rb und Verwendungsverfahren login_as(user) statt einreichen Login-Formular hinzufügen.

RSpec.configure do |config| 
    config.include Warden::Test::Helpers, type: :feature 
    config.include Warden::Test::Helpers, type: :request 

    config.before :suite do 
    Warden.test_mode! 
    end 

    config.after :each do 
    Warden.test_reset! 
    end 
end 
Verwandte Themen