Sha256: 04c4df635ade31274a6bea4963e5dea87334ef2a56a30579fc846e7d54f88927
Contents?: true
Size: 1.42 KB
Versions: 4
Compression:
Stored size: 1.42 KB
Contents
require 'spec_helper' describe UserSessionsController do def mock_user_session(stubs={}) @mock_user_session ||= mock(UserSession, stubs.update(:login_field => 'email')).as_null_object end describe "GET new" do it "assigns a new user_session as @user_session" do UserSession.stub(:new) { mock_user_session } get :new assigns(:user_session).should be(mock_user_session) end end describe "POST create" do describe "with valid params" do it "redirects to the dashboard page" do UserSession.stub(:new) { mock_user_session(:save => true) } post :create, :user_session => {} response.should redirect_to(root_url) end end describe "with invalid params" do it "re-renders the 'new' template" do UserSession.stub(:new) { mock_user_session(:save => false) } post :create, :user_session => {} response.should render_template "user_sessions/new" end end end #Special case for session control to use GET /logout and not DELETE /logout describe "GET destroy" do it "destroys the requested user_session" do UserSession.stub(:find) { mock_user_session } mock_user_session.should_receive(:destroy) get :destroy end it "redirects to the user_sessions list" do UserSession.stub(:find) { mock_user_session } get :destroy, :id => "1" response.should redirect_to(root_url) end end end
Version data entries
4 entries across 4 versions & 1 rubygems