2010-08-25 4 views
0

J'essaye d'écrire un view_spec pour mon formulaire de connexion qui utilise authlogic. Ceci est mon courant view_spec:Ecriture view_spec pour le formulaire de connexion avec authlogic (rspec2)

require 'spec_helper' 

describe "user_sessions/new.html.haml" do 
    before :each do 
    user_session = mock("UserSession").as_null_object 
    assign(:user_session, user_session) 
    end 

    it "should have a login form" do 
    render 
    rendered.should have_selector("form", :id => "new_user_session",:action => user_sessions_path, :method => "post") 
    end 
end 

ceci est mon avis

%h1 Login/Registrierung 
= form_for @user_session do |f| 
    .text_field 
    = f.label :email 
    = f.text_field :email 

    .password_field 
    = f.label :password 
    = f.password_field :password 

    .submit 
    = f.submit "Einloggen oder Account erstellen" 

Il échoue avec cette erreur:

Finished in 0.01737 seconds 
1 example, 1 failure 

1) user_sessions/new.html.haml should have a login form 
    Failure/Error: render 
    undefined method `model_name' for RSpec::Mocks::Mock:Class 

Habituellement, cela signifie que je dois utiliser mock_model ("UserSession") .as_new_record. Mais UserSession n'est pas ActiveModel - et mock ("UserSession"). As_new_record ne fonctionne pas et échoue avec Mock "UserSession" received unexpected message :as_new_record with (no args).

Comment faire face à cela? Je suis sûr que d'autres ont écrit avec succès view_specs pour les formulaires de connexion avec Authlogic.

Répondre

Questions connexes