summaryrefslogtreecommitdiff
path: root/users/test/functional/users_controller_test.rb
diff options
context:
space:
mode:
Diffstat (limited to 'users/test/functional/users_controller_test.rb')
-rw-r--r--users/test/functional/users_controller_test.rb33
1 files changed, 33 insertions, 0 deletions
diff --git a/users/test/functional/users_controller_test.rb b/users/test/functional/users_controller_test.rb
new file mode 100644
index 0000000..1cb28a6
--- /dev/null
+++ b/users/test/functional/users_controller_test.rb
@@ -0,0 +1,33 @@
+require 'test_helper'
+
+class UsersControllerTest < ActionController::TestCase
+ test "should get new" do
+ get :new
+ assert_equal User, assigns(:user).class
+ assert_response :success
+ end
+
+ test "should create new user" do
+ params = User.valid_attributes_hash
+ user = stub params.merge(:id => 123)
+ params.stringify_keys!
+ User.expects(:create!).with(params).returns(user)
+ post :create, :user => params
+ assert_nil session[:user_id]
+ assert_response :redirect
+ assert_redirected_to root_url
+ end
+
+ test "should redirect to signup form on failed attempt" do
+ params = User.valid_attributes_hash.slice(:login)
+ user = User.new(params)
+ params.stringify_keys!
+ User.expects(:create!).with(params).raises(VALIDATION_FAILED.new(user))
+ post :create, :user => params
+ assert_nil session[:user_id]
+ assert_equal user, assigns[:user]
+ assert_response :redirect
+ assert_redirected_to new_user_path
+ end
+
+end