Написание view_spec для формы входа с authlogic (rspec2) - PullRequest
0 голосов
/ 25 августа 2010

Я пытаюсь написать view_spec для моей формы входа, которая использует authlogic.Это мой текущий view_spec:

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

это мой взгляд

%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"

Это не с этой ошибкой:

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

Обычно это означает, что я должен использоватьmock_model ( "UserSession"). as_new_record.Но UserSession - это не ActiveModel, а mock («UserSession»). As_new_record не работает и завершается с Mock "UserSession" received unexpected message :as_new_record with (no args).

Как с этим бороться?Я уверен, что другие успешно написали view_specs для форм входа с Authlogic.

1 Ответ

0 голосов
/ 26 августа 2010

См. Как я могу использовать фиктивные модели в спецификациях контроллеров AuthLogic? , хотя я не совсем понимаю, почему вам нужно имитировать UserSession.Почему бы просто не использовать настоящие вещи и приспособления / factory_girl_rails?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...