Sha256: a2a88be7100a45e47c98b73cbfe3609d637e16cefaaad1c409ed9762b26e657c

Contents?: true

Size: 1.16 KB

Versions: 4

Compression:

Stored size: 1.16 KB

Contents

require File.dirname(__FILE__) + '/../spec_helper.rb'

describe Order do
  before(:each) do
    @order = Order.new
    @order.creditcard_payment = (@creditcard_payment = mock_model(CreditcardPayment, :null_object => true))
    @order.checkout_complete = true
    add_stubs(@order, :save => true)
  end

  describe "capture" do
    it "should capture the creditcard_payment" do
      @order.state = 'authorized'
      @creditcard_payment.should_receive(:capture)
      @order.capture
    end
  end

  describe "cancel" do    
    before(:each) { OrderMailer.stub!(:deliver_cancel).with(any_args) }
    
    %w{authorized captured}.each do |state|
      describe "from #{state} state" do
        it "should cancel the creditcard_payment" do
          @order.state = state
          @inventory_unit.stub!(:state).and_return('sold')
          @creditcard_payment.should_receive(:void)
          @order.cancel
        end
      end
    end
  end

  describe "return" do
    it "should cancel the creditcard_payment" do
      @order.state = 'shipped'
      @inventory_unit.stub!(:state).and_return('shipped')
      @creditcard_payment.should_receive(:void)
      @order.return
    end
  end
end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
spree-0.4.0 vendor/extensions/payment_gateway/spec/models/order_spec.rb
spree-0.4.1 vendor/extensions/payment_gateway/spec/models/order_spec.rb
spree-0.5.0 vendor/extensions/payment_gateway/spec/models/order_spec.rb
spree-0.5.1 vendor/extensions/payment_gateway/spec/models/order_spec.rb