require File.dirname(__FILE__) + '/../../test_helper' class RemoteSageCheckTest < Test::Unit::TestCase def setup @gateway = SageVirtualCheckGateway.new(fixtures(:sage)) @amount = 100 @check = check @options = { :order_id => generate_unique_id, :billing_address => address, :shipping_address => address, :email => 'longbob@example.com', :drivers_license_state => 'CA', :drivers_license_number => '12345689', :date_of_birth => Date.new(1978, 8, 11), :ssn => '078051120' } end def test_successful_check_purchase assert response = @gateway.purchase(@amount, @check, @options) assert_success response assert response.test? assert_false response.authorization.blank? end def test_failed_check_purchase @check.routing_number = "" assert response = @gateway.purchase(@amount, @check, @options) assert_failure response assert response.test? assert_false response.authorization.blank? end def test_purchase_and_void assert purchase = @gateway.purchase(@amount, @check, @options) assert_success purchase assert void = @gateway.void(purchase.authorization) assert_success void end def test_credit assert response = @gateway.credit(@amount, @check, @options) assert_success response assert response.test? end def test_invalid_login gateway = SageVirtualCheckGateway.new( :login => '', :password => '' ) assert response = gateway.purchase(@amount, @check, @options) assert_failure response assert_equal 'SECURITY VIOLATION', response.message end end