2010-03-18 18:29:41 -04:00
|
|
|
ENV["RAILS_ENV"] = "test"
|
2010-02-06 16:48:40 -05:00
|
|
|
require 'factory_girl'
|
2010-03-18 18:29:41 -04:00
|
|
|
require 'shoulda'
|
2010-02-06 16:48:40 -05:00
|
|
|
require 'mocha'
|
|
|
|
require 'faker'
|
2010-03-18 18:29:41 -04:00
|
|
|
require File.expand_path(File.dirname(__FILE__) + "/../config/environment")
|
2010-02-04 15:08:49 -05:00
|
|
|
require 'rails/test_help'
|
|
|
|
|
2010-02-06 16:48:40 -05:00
|
|
|
Dir[File.expand_path(File.dirname(__FILE__) + "/factories/*.rb")].each {|file| require file}
|
2010-02-04 15:08:49 -05:00
|
|
|
|
2010-03-11 19:42:04 -05:00
|
|
|
module UploadTestMethods
|
|
|
|
def upload_file(path, content_type, filename)
|
2010-02-08 01:40:39 -05:00
|
|
|
tempfile = Tempfile.new(filename)
|
|
|
|
FileUtils.copy_file(path, tempfile.path)
|
|
|
|
(class << tempfile; self; end).class_eval do
|
|
|
|
alias local_path path
|
|
|
|
define_method(:original_filename) {filename}
|
|
|
|
define_method(:content_type) {content_type}
|
|
|
|
end
|
|
|
|
|
|
|
|
tempfile
|
|
|
|
end
|
|
|
|
|
|
|
|
def upload_jpeg(path)
|
|
|
|
upload_file(path, "image/jpeg", File.basename(path))
|
|
|
|
end
|
2010-02-04 15:08:49 -05:00
|
|
|
end
|
2010-03-10 18:21:43 -05:00
|
|
|
|
|
|
|
class ActiveSupport::TestCase
|
|
|
|
include UploadTestMethods
|
|
|
|
end
|
|
|
|
|
|
|
|
class ActionController::TestCase
|
|
|
|
include UploadTestMethods
|
|
|
|
|
|
|
|
def assert_authentication_passes(action, http_method, role, params, session)
|
|
|
|
__send__(http_method, action, params, session.merge(:user_id => @users[role].id))
|
|
|
|
assert_response :success
|
|
|
|
end
|
|
|
|
|
|
|
|
def assert_authentication_fails(action, http_method, role)
|
|
|
|
__send__(http_method, action, params, session.merge(:user_id => @users[role].id))
|
|
|
|
assert_redirected_to(new_sessions_path)
|
|
|
|
end
|
|
|
|
end
|
|
|
|
|