spec/lib/opay/payable_spec.rb in opay-1.0.6 vs spec/lib/opay/payable_spec.rb in opay-1.0.7

- old
+ new

@@ -1,10 +1,10 @@ require 'spec_helper' module Opay describe Payable do - subject { Order.new } + subject { Order.new(name: 'first order', amount: 1000) } describe 'associations' do it { should have_one(:payment) } end @@ -13,9 +13,29 @@ it 'has unique session_id' do # unsaved record raises exception expect { subject.payment_session_id }.to raise_error RuntimeError subject.save! - subject.payment_session_id.should eq Digest::MD5.hexdigest('Order' + subject.id.to_s) + 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