Guest User

Untitled

a guest
Apr 30th, 2018
212
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 9.69 KB | None | 0 0
  1. ## console error msg
  2. [public@BlackCherry e2real]$ rake test:recent --trace
  3. (in /Users/public/Code/e2real)
  4. ** Invoke test:recent (first_time)
  5. ** Invoke db:test:prepare (first_time)
  6. ** Invoke environment (first_time)
  7. ** Execute environment
  8. ** Invoke db:abort_if_pending_migrations (first_time)
  9. ** Invoke environment
  10. ** Execute db:abort_if_pending_migrations
  11. ** Execute db:test:prepare
  12. ** Invoke db:test:clone (first_time)
  13. ** Invoke db:schema:dump (first_time)
  14. ** Invoke environment
  15. ** Execute db:schema:dump
  16. ** Invoke db:test:purge (first_time)
  17. ** Invoke environment
  18. ** Execute db:test:purge
  19. ** Execute db:test:clone
  20. ** Invoke db:schema:load (first_time)
  21. ** Invoke environment
  22. ** Execute db:schema:load
  23. ** Execute test:recent
  24. /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"
  25. Loaded suite /usr/local/lib/ruby/gems/1.8/gems/rake-0.8.1/lib/rake/rake_test_loader
  26. Started
  27. ....F
  28. Finished in 0.198145 seconds.
  29.  
  30. 1) Failure:
  31. test_registration_success(UserControllerTest)
  32. [./test/functional/user_controller_test.rb:56:in `test_registration_success'
  33. /usr/local/lib/ruby/gems/1.8/gems/activesupport-2.0.2/lib/active_support/testing/default.rb:7:in `run']:
  34. <nil> expected but was
  35. <#<User id: nil, screen_name: "new_screen_name", email: "valid@user.com", password: "long_enough_password", created_at: nil, updated_at: nil>>.
  36.  
  37. 5 tests, 30 assertions, 1 failures, 0 errors
  38. rake aborted!
  39. Command failed with status (1): [/usr/local/bin/ruby -Ilib:test "/usr/local...]
  40. /usr/local/lib/ruby/gems/1.8/gems/rake-0.8.1/lib/rake.rb:899:in `sh'
  41. /usr/local/lib/ruby/gems/1.8/gems/rake-0.8.1/lib/rake.rb:906:in `call'
  42. /usr/local/lib/ruby/gems/1.8/gems/rake-0.8.1/lib/rake.rb:906:in `sh'
  43. /usr/local/lib/ruby/gems/1.8/gems/rake-0.8.1/lib/rake.rb:985:in `sh'
  44. /usr/local/lib/ruby/gems/1.8/gems/rake-0.8.1/lib/rake.rb:920:in `ruby'
  45. /usr/local/lib/ruby/gems/1.8/gems/rake-0.8.1/lib/rake.rb:985:in `ruby'
  46. /usr/local/lib/ruby/gems/1.8/gems/rake-0.8.1/lib/rake/testtask.rb:117:in `define'
  47. /usr/local/lib/ruby/gems/1.8/gems/rake-0.8.1/lib/rake.rb:1003:in `verbose'
  48. /usr/local/lib/ruby/gems/1.8/gems/rake-0.8.1/lib/rake/testtask.rb:102:in `define'
  49. /usr/local/lib/ruby/gems/1.8/gems/rake-0.8.1/lib/rake.rb:546:in `call'
  50. /usr/local/lib/ruby/gems/1.8/gems/rake-0.8.1/lib/rake.rb:546:in `execute'
  51. /usr/local/lib/ruby/gems/1.8/gems/rake-0.8.1/lib/rake.rb:541:in `each'
  52. /usr/local/lib/ruby/gems/1.8/gems/rake-0.8.1/lib/rake.rb:541:in `execute'
  53. /usr/local/lib/ruby/gems/1.8/gems/rake-0.8.1/lib/rake.rb:508:in `invoke_with_call_chain'
  54. /usr/local/lib/ruby/gems/1.8/gems/rake-0.8.1/lib/rake.rb:501:in `synchronize'
  55. /usr/local/lib/ruby/gems/1.8/gems/rake-0.8.1/lib/rake.rb:501:in `invoke_with_call_chain'
  56. /usr/local/lib/ruby/gems/1.8/gems/rake-0.8.1/lib/rake.rb:494:in `invoke'
  57. /usr/local/lib/ruby/gems/1.8/gems/rake-0.8.1/lib/rake.rb:1931:in `invoke_task'
  58. /usr/local/lib/ruby/gems/1.8/gems/rake-0.8.1/lib/rake.rb:1909:in `top_level'
  59. /usr/local/lib/ruby/gems/1.8/gems/rake-0.8.1/lib/rake.rb:1909:in `each'
  60. /usr/local/lib/ruby/gems/1.8/gems/rake-0.8.1/lib/rake.rb:1909:in `top_level'
  61. /usr/local/lib/ruby/gems/1.8/gems/rake-0.8.1/lib/rake.rb:1948:in `standard_exception_handling'
  62. /usr/local/lib/ruby/gems/1.8/gems/rake-0.8.1/lib/rake.rb:1903:in `top_level'
  63. /usr/local/lib/ruby/gems/1.8/gems/rake-0.8.1/lib/rake.rb:1881:in `run'
  64. /usr/local/lib/ruby/gems/1.8/gems/rake-0.8.1/lib/rake.rb:1948:in `standard_exception_handling'
  65. /usr/local/lib/ruby/gems/1.8/gems/rake-0.8.1/lib/rake.rb:1878:in `run'
  66. /usr/local/lib/ruby/gems/1.8/gems/rake-0.8.1/bin/rake:31
  67. /usr/local/bin/rake:19:in `load'
  68. /usr/local/bin/rake:19
  69. [public@BlackCherry e2real]$
  70.  
  71. ## user_controller_test.rb
  72. require File.dirname(__FILE__) + '/../test_helper'
  73. require 'user_controller'
  74.  
  75. class UserController;
  76. def rescue_action(e)
  77. raise e
  78. end
  79. end
  80.  
  81. class UserControllerTest < ActionController::TestCase
  82. fixtures :users
  83.  
  84. def setup
  85. @controller = UserController.new
  86. @request = ActionController::TestRequest.new
  87. @response = ActionController::TestResponse.new
  88. @valid_user = users(:valid_user)
  89. assert(@valid_user)
  90. end
  91.  
  92. def test_registration_page
  93. get :register
  94. title = assigns(:title)
  95. assert_equal "Register", title
  96. assert_response :success
  97. assert_template "register"
  98. assert_tag "form", :attributes => { :action => "/user/register",
  99. :method => "post" }
  100. assert_tag "input", :attributes => { :name => "user[screen_name]",
  101. :type => "text",
  102. :size => User::SCREEN_NAME_SIZE,
  103. :maxlength => User::SCREEN_NAME_MAX_LENGTH }
  104. assert_tag "input", :attributes => { :name => "user[email]",
  105. :type => "text",
  106. :size => User::EMAIL_SIZE,
  107. :maxlength => User::EMAIL_MAX_LENGTH }
  108. assert_tag "input", :attributes => { :name => "user[password]",
  109. :type => "password",
  110. :size => User::PASSWORD_SIZE,
  111. :maxlength => User::PASSWORD_MAX_LENGTH }
  112. assert_tag "input", :attributes => { :type => "submit",
  113. :value => "Register!" }
  114.  
  115. end
  116.  
  117. def test_registration_success
  118. post :register, :user => { :screen_name => "new_screen_name",
  119. :email => "valid@user.com",
  120. :password => "long_enough_password" }
  121. # Test assignment of user.
  122. user = assigns(:user)
  123. assert_not_nil user
  124. # Test new user in database.
  125. new_user = User.find_by_screen_name_and_password(user.screen_name, user.password)
  126. assert_equal new_user, user
  127. assert_equal "User #{new_user.screen_name} created!", flash[:notice]
  128. assert_redirected_to :action => "index"
  129. assert_not_nil session[:user_id]
  130. assert_equal user.id, session[:user_id]
  131. end
  132.  
  133. def test_registration_failure
  134. post :register, :user => { :screen_name => "in/valid",
  135. :email => "invalid@user,com",
  136. :password => "bad" }
  137. assert_response :success
  138. assert_template "register"
  139. # Test display of error messages.
  140. assert_tag "div", :attributes => { :id => "errorExplanation",
  141. :class => "errorExplanation" }
  142. assert_tag "li", :content => /Screen name/
  143. assert_tag "li", :content => /Email/
  144. assert_tag "li", :content => /Password/
  145. error_div = { :tag => "div", :attributes => { :class => "fieldWithErrors" } }
  146. assert_tag "input", :attributes => { :name => "user[screen_name]",
  147. :value => "in/valid" },
  148. :parent => error_div
  149. assert_tag "input", :attributes => { :name => "user[email]",
  150. :value => "invalid@user,com" },
  151. :parent => error_div
  152. assert_tag "input", :attributes => { :name => "user[password]",
  153. :value => "bad" },
  154. :parent => error_div
  155. end
  156.  
  157. def test_login_page
  158. get :login
  159. title = assigns(:title)
  160. assert_equal "Log in to Send-A-Letter", title
  161. assert_response :success
  162. assert_template "login"
  163. assert_tag "form", :attributes => { :action => "/user/login",
  164. :method => "post" }
  165. assert_tag "input", :attributes => { :name => "user[screen_name]",
  166. :type => "text",
  167. :size => User::SCREEN_NAME_SIZE,
  168. :maxlength => User::SCREEN_NAME_MAX_LENGTH }
  169. assert_tag "input", :attributes => { :name => "user[password]",
  170. :type => "password",
  171. :size => User::PASSWORD_SIZE,
  172. :maxlength => User::PASSWORD_MAX_LENGTH }
  173. assert_tag "input", :attributes => { :type => "submit",
  174. :value => "Login!" }
  175. end
  176.  
  177. def test_login_success
  178. try_to_login @valid_user
  179. assert_not_nil session[:user_id]
  180. assert_equal @valid_user.id, session[:user_id]
  181. assert_equal "User #{@valid_user.screen_name} logged in!", flash[:notice]
  182. assert_redirected_to :action => "index"
  183. end
  184.  
  185. private
  186.  
  187. def try_to_login(user)
  188. post :login, :user => { :screen_name => user.screen_name,
  189. :password => user.password }
  190. end
  191.  
  192. def test_login_failure_with_nonexistent_screen_name
  193. invalid_user = @valid_user
  194. invalid_user.screen_name = "no such user"
  195. try_to_login invalid_user
  196. assert_template "login"
  197. assert_equal "Invalid screen name/password combination", flash[:notice]
  198. user = assigns(:user)
  199. assert_equal invalid_user.screen_name, user.screen_name
  200. assert_nil user.password
  201. end
  202.  
  203. def test_login_failure_with_wrong_password
  204. invalid_user = @valid_user
  205. invalid_user.password += "bad"
  206. try_to_login invalid_user
  207. assert_template "login"
  208. assert_equal "Invalid screen name/password combination", flash[:notice]
  209. user = assigns(:user)
  210. assert_equal invalid_user.screen_name, user.screen_name
  211. assert_nil user.password
  212. end
  213.  
  214. end
Add Comment
Please, Sign In to add comment