Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- ## console error msg
- [public@BlackCherry e2real]$ rake test:recent --trace
- (in /Users/public/Code/e2real)
- ** Invoke test:recent (first_time)
- ** Invoke db:test:prepare (first_time)
- ** Invoke environment (first_time)
- ** Execute environment
- ** Invoke db:abort_if_pending_migrations (first_time)
- ** Invoke environment
- ** Execute db:abort_if_pending_migrations
- ** Execute db:test:prepare
- ** Invoke db:test:clone (first_time)
- ** Invoke db:schema:dump (first_time)
- ** Invoke environment
- ** Execute db:schema:dump
- ** Invoke db:test:purge (first_time)
- ** Invoke environment
- ** Execute db:test:purge
- ** Execute db:test:clone
- ** Invoke db:schema:load (first_time)
- ** Invoke environment
- ** Execute db:schema:load
- ** Execute test:recent
- /usr/local/bin/ruby -Ilib:test "/usr/local/lib/ruby/gems/1.8/gems/rake-0.8.1/lib/rake/rake_test_loader.rb" "test/functional/user_controller_test.rb"
- Loaded suite /usr/local/lib/ruby/gems/1.8/gems/rake-0.8.1/lib/rake/rake_test_loader
- Started
- ....F
- Finished in 0.198145 seconds.
- 1) Failure:
- test_registration_success(UserControllerTest)
- [./test/functional/user_controller_test.rb:56:in `test_registration_success'
- /usr/local/lib/ruby/gems/1.8/gems/activesupport-2.0.2/lib/active_support/testing/default.rb:7:in `run']:
- <nil> expected but was
- <#<User id: nil, screen_name: "new_screen_name", email: "valid@user.com", password: "long_enough_password", created_at: nil, updated_at: nil>>.
- 5 tests, 30 assertions, 1 failures, 0 errors
- rake aborted!
- Command failed with status (1): [/usr/local/bin/ruby -Ilib:test "/usr/local...]
- /usr/local/lib/ruby/gems/1.8/gems/rake-0.8.1/lib/rake.rb:899:in `sh'
- /usr/local/lib/ruby/gems/1.8/gems/rake-0.8.1/lib/rake.rb:906:in `call'
- /usr/local/lib/ruby/gems/1.8/gems/rake-0.8.1/lib/rake.rb:906:in `sh'
- /usr/local/lib/ruby/gems/1.8/gems/rake-0.8.1/lib/rake.rb:985:in `sh'
- /usr/local/lib/ruby/gems/1.8/gems/rake-0.8.1/lib/rake.rb:920:in `ruby'
- /usr/local/lib/ruby/gems/1.8/gems/rake-0.8.1/lib/rake.rb:985:in `ruby'
- /usr/local/lib/ruby/gems/1.8/gems/rake-0.8.1/lib/rake/testtask.rb:117:in `define'
- /usr/local/lib/ruby/gems/1.8/gems/rake-0.8.1/lib/rake.rb:1003:in `verbose'
- /usr/local/lib/ruby/gems/1.8/gems/rake-0.8.1/lib/rake/testtask.rb:102:in `define'
- /usr/local/lib/ruby/gems/1.8/gems/rake-0.8.1/lib/rake.rb:546:in `call'
- /usr/local/lib/ruby/gems/1.8/gems/rake-0.8.1/lib/rake.rb:546:in `execute'
- /usr/local/lib/ruby/gems/1.8/gems/rake-0.8.1/lib/rake.rb:541:in `each'
- /usr/local/lib/ruby/gems/1.8/gems/rake-0.8.1/lib/rake.rb:541:in `execute'
- /usr/local/lib/ruby/gems/1.8/gems/rake-0.8.1/lib/rake.rb:508:in `invoke_with_call_chain'
- /usr/local/lib/ruby/gems/1.8/gems/rake-0.8.1/lib/rake.rb:501:in `synchronize'
- /usr/local/lib/ruby/gems/1.8/gems/rake-0.8.1/lib/rake.rb:501:in `invoke_with_call_chain'
- /usr/local/lib/ruby/gems/1.8/gems/rake-0.8.1/lib/rake.rb:494:in `invoke'
- /usr/local/lib/ruby/gems/1.8/gems/rake-0.8.1/lib/rake.rb:1931:in `invoke_task'
- /usr/local/lib/ruby/gems/1.8/gems/rake-0.8.1/lib/rake.rb:1909:in `top_level'
- /usr/local/lib/ruby/gems/1.8/gems/rake-0.8.1/lib/rake.rb:1909:in `each'
- /usr/local/lib/ruby/gems/1.8/gems/rake-0.8.1/lib/rake.rb:1909:in `top_level'
- /usr/local/lib/ruby/gems/1.8/gems/rake-0.8.1/lib/rake.rb:1948:in `standard_exception_handling'
- /usr/local/lib/ruby/gems/1.8/gems/rake-0.8.1/lib/rake.rb:1903:in `top_level'
- /usr/local/lib/ruby/gems/1.8/gems/rake-0.8.1/lib/rake.rb:1881:in `run'
- /usr/local/lib/ruby/gems/1.8/gems/rake-0.8.1/lib/rake.rb:1948:in `standard_exception_handling'
- /usr/local/lib/ruby/gems/1.8/gems/rake-0.8.1/lib/rake.rb:1878:in `run'
- /usr/local/lib/ruby/gems/1.8/gems/rake-0.8.1/bin/rake:31
- /usr/local/bin/rake:19:in `load'
- /usr/local/bin/rake:19
- [public@BlackCherry e2real]$
- ## user_controller_test.rb
- require File.dirname(__FILE__) + '/../test_helper'
- require 'user_controller'
- class UserController;
- def rescue_action(e)
- raise e
- end
- end
- class UserControllerTest < ActionController::TestCase
- fixtures :users
- def setup
- @controller = UserController.new
- @request = ActionController::TestRequest.new
- @response = ActionController::TestResponse.new
- @valid_user = users(:valid_user)
- assert(@valid_user)
- end
- def test_registration_page
- get :register
- title = assigns(:title)
- assert_equal "Register", title
- assert_response :success
- assert_template "register"
- assert_tag "form", :attributes => { :action => "/user/register",
- :method => "post" }
- assert_tag "input", :attributes => { :name => "user[screen_name]",
- :type => "text",
- :size => User::SCREEN_NAME_SIZE,
- :maxlength => User::SCREEN_NAME_MAX_LENGTH }
- assert_tag "input", :attributes => { :name => "user[email]",
- :type => "text",
- :size => User::EMAIL_SIZE,
- :maxlength => User::EMAIL_MAX_LENGTH }
- assert_tag "input", :attributes => { :name => "user[password]",
- :type => "password",
- :size => User::PASSWORD_SIZE,
- :maxlength => User::PASSWORD_MAX_LENGTH }
- assert_tag "input", :attributes => { :type => "submit",
- :value => "Register!" }
- end
- def test_registration_success
- post :register, :user => { :screen_name => "new_screen_name",
- :email => "valid@user.com",
- :password => "long_enough_password" }
- # Test assignment of user.
- user = assigns(:user)
- assert_not_nil user
- # Test new user in database.
- new_user = User.find_by_screen_name_and_password(user.screen_name, user.password)
- assert_equal new_user, user
- assert_equal "User #{new_user.screen_name} created!", flash[:notice]
- assert_redirected_to :action => "index"
- assert_not_nil session[:user_id]
- assert_equal user.id, session[:user_id]
- end
- def test_registration_failure
- post :register, :user => { :screen_name => "in/valid",
- :email => "invalid@user,com",
- :password => "bad" }
- assert_response :success
- assert_template "register"
- # Test display of error messages.
- assert_tag "div", :attributes => { :id => "errorExplanation",
- :class => "errorExplanation" }
- assert_tag "li", :content => /Screen name/
- assert_tag "li", :content => /Email/
- assert_tag "li", :content => /Password/
- error_div = { :tag => "div", :attributes => { :class => "fieldWithErrors" } }
- assert_tag "input", :attributes => { :name => "user[screen_name]",
- :value => "in/valid" },
- :parent => error_div
- assert_tag "input", :attributes => { :name => "user[email]",
- :value => "invalid@user,com" },
- :parent => error_div
- assert_tag "input", :attributes => { :name => "user[password]",
- :value => "bad" },
- :parent => error_div
- end
- def test_login_page
- get :login
- title = assigns(:title)
- assert_equal "Log in to Send-A-Letter", title
- assert_response :success
- assert_template "login"
- assert_tag "form", :attributes => { :action => "/user/login",
- :method => "post" }
- assert_tag "input", :attributes => { :name => "user[screen_name]",
- :type => "text",
- :size => User::SCREEN_NAME_SIZE,
- :maxlength => User::SCREEN_NAME_MAX_LENGTH }
- assert_tag "input", :attributes => { :name => "user[password]",
- :type => "password",
- :size => User::PASSWORD_SIZE,
- :maxlength => User::PASSWORD_MAX_LENGTH }
- assert_tag "input", :attributes => { :type => "submit",
- :value => "Login!" }
- end
- def test_login_success
- try_to_login @valid_user
- assert_not_nil session[:user_id]
- assert_equal @valid_user.id, session[:user_id]
- assert_equal "User #{@valid_user.screen_name} logged in!", flash[:notice]
- assert_redirected_to :action => "index"
- end
- private
- def try_to_login(user)
- post :login, :user => { :screen_name => user.screen_name,
- :password => user.password }
- end
- def test_login_failure_with_nonexistent_screen_name
- invalid_user = @valid_user
- invalid_user.screen_name = "no such user"
- try_to_login invalid_user
- assert_template "login"
- assert_equal "Invalid screen name/password combination", flash[:notice]
- user = assigns(:user)
- assert_equal invalid_user.screen_name, user.screen_name
- assert_nil user.password
- end
- def test_login_failure_with_wrong_password
- invalid_user = @valid_user
- invalid_user.password += "bad"
- try_to_login invalid_user
- assert_template "login"
- assert_equal "Invalid screen name/password combination", flash[:notice]
- user = assigns(:user)
- assert_equal invalid_user.screen_name, user.screen_name
- assert_nil user.password
- end
- end
Add Comment
Please, Sign In to add comment