Sha256: 2a92a8dd1234f5eb4267c3454e668c65a8aa257e40d243d49ad83d031ca42ac3
Contents?: true
Size: 1.89 KB
Versions: 62
Compression:
Stored size: 1.89 KB
Contents
require 'test_helper' module Workarea class Payment module Purchase class StoreCreditTest < TestCase def profile @profile ||= create_payment_profile(store_credit: 15.to_m) end def payment @payment ||= create_payment(profile: profile) end def tender @tender ||= begin payment.set_store_credit payment.store_credit end end def test_complete! transaction = tender.build_transaction(amount: 5.to_m) operation = StoreCredit.new(tender, transaction) operation.complete! profile.reload assert_equal(10.to_m, profile.store_credit) assert(transaction.success?) assert_equal( ActiveMerchant::Billing::Response, transaction.response.class ) transaction = tender.build_transaction(amount: 100.to_m) operation = StoreCredit.new(tender, transaction) operation.complete! refute(transaction.success?) assert(transaction.response) assert_equal( ActiveMerchant::Billing::Response, transaction.response.class ) end def test_cancel! transaction = tender.build_transaction(amount: 5.to_m, success: false) operation = StoreCredit.new(tender, transaction) operation.cancel! profile.reload assert_equal(15.to_m, profile.store_credit) transaction = tender.build_transaction(amount: 5.to_m, success: true) operation = StoreCredit.new(tender, transaction) operation.cancel! profile.reload assert_equal(20.to_m, profile.store_credit) assert_equal( ActiveMerchant::Billing::Response, transaction.cancellation.class ) end end end end end
Version data entries
62 entries across 62 versions & 1 rubygems