I’m working on an application that requires a user to be matched with objects, and therefore, to test them, I need to create user fixtures, create sessions, and obtain the user’s id from the session.
It was a little tricky to figure out how to get AuthLogic and Test::Unit to play nicely together, but thanks to some quality docs by the AuthLogic folks, as well as some helpful hints from the StackOverflow community, its no longer a total mystery. Here’s what I’ve got in my test/test_helper.rb:
ENV["RAILS_ENV"] = "test" require File.expand_path('../../config/environment', __FILE__) require 'rails/test_help' require "authlogic/test_case" class ActiveSupport::TestCase # Setup all fixtures in test/fixtures/*.(yml|csv) for all tests in alphabetical order. # # Note: You'll currently still have to declare fixtures explicitly in integration tests # -- they do not yet inherit this setting def self.inherited(subclass) subclass.instance_eval do setup :activate_authlogic end end fixtures :all # Add more helper methods to be used by all tests here... def setup @current_user = UserSession.create(users(:one)) end end
Note: I am using Rails 3.