Sha256: 7345cbcaa54e35071925cdaf08353a262c6e58daf3cd56dd719cfcf3423a6f69

Contents?: true

Size: 1.74 KB

Versions: 3

Compression:

Stored size: 1.74 KB

Contents

module Workarea
  decorate SendRefundEmailTest, with: :cim do
    def test_perform
      SendRefundEmail.enable
      payment.purchase!

      refund = Payment::Refund.new(
        payment: payment,
        amounts: { payment.credit_card.id => 5.to_m }
      )

      age_capture_or_purchase_transactions_for(payment)

      assert(refund.complete!)

      email = ActionMailer::Base.deliveries.last
      assert_includes(email.to, 'test@workarea.com')
      assert_includes(
        email.subject,
        I18n.t('workarea.storefront.email.order_refund.subject', order_id: order.id)
      )
    ensure
      SendRefundEmail.disable
    end

    def test_no_email_sent_when_amount_is_zero
      SendRefundEmail.enable
      payment.purchase!

      travel(3.days) do
        refund = Payment::Refund.new(
          payment: payment,
          amounts: { payment.credit_card.id => 0.to_m }
        )

        assert(refund.complete!)
        assert_empty(ActionMailer::Base.deliveries)
      end
    ensure
      SendRefundEmail.disable
    end

    def payment
      @payment ||=
        begin
          profile = create_payment_profile
          create_payment(id: order.id, profile_id: profile.id).tap do |payment|
            payment.set_address(
              first_name: 'Ben',
              last_name: 'Crouse',
              street: '22 S. 3rd St.',
              city: 'Philadelphia',
              region: 'PA',
              postal_code: '19106',
              country: 'US',
              phone_number: '2159251800'
            )

            payment.set_credit_card(
              number: '1',
              month: 1,
              year: Time.current.year + 1,
              cvv: '999',
              amount: 5.to_m
            )
          end
        end
    end
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
workarea-authorize_cim-2.1.3 test/workers/workarea/send_refund_email_test.decorator
workarea-authorize_cim-2.1.2 test/workers/workarea/send_refund_email_test.decorator
workarea-authorize_cim-2.1.1 test/workers/workarea/send_refund_email_test.decorator