Sha256: 6cabf61e2f43622626e9bdef6d4ed950ea0c406b2907b1ba15213179d60fa1f6

Contents?: true

Size: 986 Bytes

Versions: 22

Compression:

Stored size: 986 Bytes

Contents

require 'spec_helper'

module Opay
  describe Payable do
    subject { Order.new(name: 'first order', amount: 1000) }

    describe 'associations' do
      it { should have_one(:payment) }
    end

    it { should respond_to(:finished?) }

    it 'has unique session_id' do
      # unsaved record raises exception
      expect { subject.payment_session_id }.to raise_error RuntimeError

      subject.save!
      subject.prepare_payment

      subject.payment_session_id.should be_kind_of String
    end

    it 'prepares payment' do
      # Payable must be saved before payment
      subject.save!

      # create new payment
      subject.prepare_payment.should be_kind_of Payment

      # payment has a unique session_id
      session_id = subject.payment.session_id

      # if we prepare payment saved befor
      subject.prepare_payment.should be_kind_of Payment

      # session_id must be regenerated
      subject.payment.session_id.should_not eq session_id
    end

  end
end

Version data entries

22 entries across 22 versions & 1 rubygems

Version Path
opay-1.3.2 spec/lib/opay/payable_spec.rb
opay-1.3.1 spec/lib/opay/payable_spec.rb
opay-1.3.0 spec/lib/opay/payable_spec.rb
opay-1.2.8 spec/lib/opay/payable_spec.rb
opay-1.2.7 spec/lib/opay/payable_spec.rb
opay-1.2.6 spec/lib/opay/payable_spec.rb
opay-1.2.5 spec/lib/opay/payable_spec.rb
opay-1.2.4 spec/lib/opay/payable_spec.rb
opay-1.2.3 spec/lib/opay/payable_spec.rb
opay-1.2.2 spec/lib/opay/payable_spec.rb
opay-1.2.1 spec/lib/opay/payable_spec.rb
opay-1.2.0 spec/lib/opay/payable_spec.rb
opay-1.1.6 spec/lib/opay/payable_spec.rb
opay-1.1.5 spec/lib/opay/payable_spec.rb
opay-1.1.4 spec/lib/opay/payable_spec.rb
opay-1.1.3 spec/lib/opay/payable_spec.rb
opay-1.1.2 spec/lib/opay/payable_spec.rb
opay-1.1.1 spec/lib/opay/payable_spec.rb
opay-1.1.0 spec/lib/opay/payable_spec.rb
opay-1.0.9 spec/lib/opay/payable_spec.rb