Using Shoulda to test login – should_require_login
I've had my problems with shoulda, but one very powerful component of the testing framework is the ability to create macros. Here's one that checks to make sure a user has to be logged in to access an action. Put it into test/shoulda_macros/authentication.rb. (You can name the file anything you want I just thought authentication.rb made sense)
Test::Unit::TestCase.class_eval do def self.should_require_login(*actions) actions.each do |action| should "Require login for '#{action}' action" do get(action) assert_redirected_to(login_url) end end end end </ruby> Then inside your controller test do something like this: <pre lang="ruby"> class UserControllerTest < ActionController::TestCase should_require_login :edit, :update, :destroy end
More from jbasdf
- A copy of ApplicationController has been removed from the module tree but is still active! And can’t dup NilClass
- Rails Conf Intro from Chad Fowler and Some Stuff from the Mountain West Ruby Conference
- How New Carpet and Rattlesnake turned me into a Consultant or What the Hell Happened?
- Mac OSX and the Samsung ML1740 on a network
- Ruby on Rails i18n with the Rails I18n Textmate bundle
-
Ruben
-
Ruben
-
Justin Ball
-
Alex Sharp
Justin Ball is a software consultant and entrepreneur with a passion for Ruby. He evolved from a C++ and .Net monkey into a python programmer and finally found Ruby. In the rare moments when he isn't writing code, talking about code or measuring his code productivity in profanity per hour, you can find him on his bike in the mountains or on the roads surrounding Cache Valley. 









