Я пытаюсь написать 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.