spec/transaction_spec.rb in sepa_king-0.0.4 vs spec/transaction_spec.rb in sepa_king-0.0.5

- old
+ new

@@ -1,112 +1,88 @@ # encoding: utf-8 require 'spec_helper' describe SEPA::Transaction do + describe :new do + it 'should have default for reference' do + SEPA::Transaction.new.reference.should == 'NOTPROVIDED' + end + + it 'should have default for requested_date' do + SEPA::Transaction.new.requested_date.should == Date.today.next + end + + it 'should have default for batch_booking' do + SEPA::Transaction.new.batch_booking.should == true + end + end + context 'Name' do it 'should accept valid value' do - [ 'Manfred Mustermann III.', 'Zahlemann & Söhne GbR', 'X' * 70 ].each do |value_value| - expect( - SEPA::Transaction.new :name => value_value - ).to have(:no).errors_on(:name) - end + SEPA::Transaction.should accept('Manfred Mustermann III.', 'Zahlemann & Söhne GbR', 'X' * 70, for: :name) end it 'should not accept invalid value' do - [ nil, '', 'X' * 71 ].each do |invalue_value| - expect( - SEPA::Transaction.new :name => invalue_value - ).to have_at_least(1).errors_on(:name) - end + SEPA::Transaction.should_not accept(nil, '', 'X' * 71, for: :name) end end context 'IBAN' do it 'should accept valid value' do - [ 'DE21500500009876543210', 'PL61109010140000071219812874' ].each do |value_value| - expect( - SEPA::Transaction.new :iban => value_value - ).to have(:no).errors_on(:iban) - end + SEPA::Transaction.should accept('DE21500500009876543210', 'PL61109010140000071219812874', for: :iban) end it 'should not accept invalid value' do - [ nil, '', 'invalid' ].each do |invalue_value| - expect( - SEPA::Transaction.new :iban => invalue_value - ).to have_at_least(1).errors_on(:iban) - end + SEPA::Transaction.should_not accept(nil, '', 'invalid', for: :iban) end end context 'BIC' do it 'should accept valid value' do - [ 'DEUTDEFF', 'DEUTDEFF500', 'SPUEDE2UXXX' ].each do |value_value| - expect( - SEPA::Transaction.new :bic => value_value - ).to have(:no).errors_on(:bic) - end + SEPA::Transaction.should accept('DEUTDEFF', 'DEUTDEFF500', 'SPUEDE2UXXX', for: :bic) end it 'should not accept invalid value' do - [ nil, '', 'invalid' ].each do |invalue_value| - expect( - SEPA::Transaction.new :bic => invalue_value - ).to have_at_least(1).errors_on(:bic) - end + SEPA::Transaction.should_not accept(nil, '', 'invalid', for: :bic) end end context 'Amount' do it 'should accept valid value' do - [ 0.01, 1, 100, 100.00, 99.99, 1234567890.12, BigDecimal('10'), '42', '42.51', '42.512', 1.23456 ].each do |value_value| - expect( - SEPA::Transaction.new :amount => value_value - ).to have(:no).errors_on(:amount) - end + SEPA::Transaction.should accept(0.01, 1, 100, 100.00, 99.99, 1234567890.12, BigDecimal('10'), '42', '42.51', '42.512', 1.23456, for: :amount) end it 'should not accept invalid value' do - [ nil, 0, -3, 'xz' ].each do |invalue_value| - expect( - SEPA::Transaction.new :amount => invalue_value - ).to have_at_least(1).errors_on(:amount) - end + SEPA::Transaction.should_not accept(nil, 0, -3, 'xz', for: :amount) end end context 'Reference' do it 'should accept valid value' do - [ nil, 'ABC-1234/78.0', 'X' * 35 ].each do |value_value| - expect( - SEPA::Transaction.new :reference => value_value - ).to have(:no).errors_on(:reference) - end + SEPA::Transaction.should accept(nil, 'ABC-1234/78.0', 'X' * 35, for: :reference) end it 'should not accept invalid value' do - [ '', 'X' * 36 ].each do |invalid_value| - expect( - SEPA::Transaction.new :reference => invalid_value - ).to have_at_least(1).errors_on(:reference) - end + SEPA::Transaction.should_not accept('', 'X' * 36, for: :amount) end end context 'Remittance information' do it 'should allow valid value' do - [ nil, 'Bonus', 'X' * 140 ].each do |valid_value| - expect( - SEPA::Transaction.new :remittance_information => valid_value - ).to have(:no).errors_on(:remittance_information) - end + SEPA::Transaction.should accept(nil, 'Bonus', 'X' * 140, for: :remittance_information) end it 'should not allow invalid value' do - [ '', 'X' * 141 ].each do |invalid_value| - expect( - SEPA::Transaction.new :remittance_information => invalid_value - ).to have_at_least(1).errors_on(:remittance_information) - end + SEPA::Transaction.should_not accept('', 'X' * 141, for: :remittance_information) + end + end + + context 'Requested date' do + it 'should allow valid value' do + SEPA::Transaction.should accept(nil, Date.today.next, Date.today + 2, for: :requested_date) + end + + it 'should not allow invalid value' do + SEPA::Transaction.should_not accept(Date.new(1995,12,21), Date.today - 1, Date.today, for: :requested_date) end end end