1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56
|
require 'bundler/setup'
require 'minitest/autorun'
require 'mocha/setup'
require 'omniauth/strategies/facebook'
OmniAuth.config.test_mode = true
module BlockTestHelper
def test(name, &blk)
method_name = "test_#{name.gsub(/\s+/, '_')}"
raise "Method already defined: #{method_name}" if instance_methods.include?(method_name.to_sym)
define_method method_name, &blk
end
end
module CustomAssertions
def assert_has_key(key, hash, msg = nil)
msg = message(msg) { "Expected #{hash.inspect} to have key #{key.inspect}" }
assert hash.has_key?(key), msg
end
def refute_has_key(key, hash, msg = nil)
msg = message(msg) { "Expected #{hash.inspect} not to have key #{key.inspect}" }
refute hash.has_key?(key), msg
end
end
class TestCase < Minitest::Test
extend BlockTestHelper
include CustomAssertions
end
class StrategyTestCase < TestCase
def setup
@request = stub('Request')
@request.stubs(:params).returns({})
@request.stubs(:cookies).returns({})
@request.stubs(:env).returns({})
@request.stubs(:scheme).returns({})
@request.stubs(:ssl?).returns(false)
@client_id = '123'
@client_secret = '53cr3tz'
end
def strategy
@strategy ||= begin
args = [@client_id, @client_secret, @options].compact
OmniAuth::Strategies::Facebook.new(nil, *args).tap do |strategy|
strategy.stubs(:request).returns(@request)
end
end
end
end
Dir[File.expand_path('../support/**/*', __FILE__)].each &method(:require)
|