Hallo,

ich habe eine Frage zu einem request-Test. Der Test sieht so aus:

  it "should create new address import" do
    # erstmal einloggen
    user = FactoryGirl.create(:user)
    user.rights << FactoryGirl.create(:right, name: 'address_imports')
    admin_login user

    # ist das Eingabefeld vorhanden?
    get new_admin_address_import_path
    response.body.should =~ /address_import_name/m

    # Neuen Adressimport erstellen
    visit new_admin_address_import_path
    fill_in "address_import_name", with: "Test"
  end


Während jeeoch

response.body.should =~ /address_import_name/m

auf gültig getestet ist, liefert

visit new_admin_address_import_path
fill_in "address_import_name", with: "Test"

diese Fehlermeldung:

cannot fill in, no text field, text area or password field with id, name, or 
label 'address_import_name' found

Vermutlich kann visit nicht auf die entsprechende Seite zugreifen, weil die 
session im Capybara-Kontext nicht besteht.

Und jetzt meine Frage, wie kann ich eine in meinen Tests Session erstellen die 
sowohl von rspec als auch von capybara verwendet wird?

Hier wird dieses Gem z.B. als Lösung angeboten:

http://blog.railsware.com/2012/01/07/accessing-application-session-in-capybara/

Wie macht handelt Ihr Sessions in Integration Tests?


Viele Grüße

Michael Kastner
_______________________________________________
rubyonrails-ug mailing list
rubyonrails-ug@headflash.com
http://mailman.headflash.com/listinfo/rubyonrails-ug

Antwort per Email an