Sha256: 321e91d5a38b6b052f17ae52129c9cf113148641f284256e60fa45f9812b0e05

Contents?: true

Size: 1.75 KB

Versions: 5

Compression:

Stored size: 1.75 KB

Contents

# encoding: utf-8
require 'spec_helper'

describe SPS::CreditTransferTransaction do
  describe :initialize do
    it 'should initialize a valid transaction' do
      expect(
        SPS::CreditTransferTransaction.new(
          name:                   'Contoso AG',
          iban:                   'CH5481230000001998736',
          bic:                    'RAIFCH22',
          amount:                 102.50,
          reference:              'XYZ-1234/123',
          remittance_information: 'Rechnung 123 vom 22.08.2013'
        )
      ).to be_valid
    end
  end

  describe :schema_compatible? do
    context 'for pain.001.001.03.ch.02' do
      it 'should succeed for valid attributes' do
        expect(SPS::CreditTransferTransaction.new(bic: 'RAIFCH22', currency: 'CHF'))
          .to be_schema_compatible('pain.001.001.03.ch.02')
      end

      it 'should fail for invalid attributes' do
        expect(SPS::CreditTransferTransaction.new(bic: nil))
          .not_to be_schema_compatible('pain.001.001.03.ch.02')
      end
    end
  end

  context 'Requested date' do
    it 'should allow valid value' do
      expect(SPS::CreditTransferTransaction).to accept(nil, Date.new(1999, 1, 1), Date.today, Date.today.next, Date.today + 2, for: :requested_date)
    end

    it 'should not allow invalid value' do
      expect(SPS::CreditTransferTransaction).not_to accept(Date.new(1995,12,21), Date.today - 1, for: :requested_date)
    end
  end

  context 'Category Purpose' do
    it 'should allow valid value' do
      expect(SPS::CreditTransferTransaction).to accept(nil, 'SALA', 'X' * 4, for: :category_purpose)
    end

    it 'should not allow invalid value' do
      expect(SPS::CreditTransferTransaction).not_to accept('', 'X' * 5, for: :category_purpose)
    end
  end
end

Version data entries

5 entries across 5 versions & 1 rubygems

Version Path
sps_king-0.3.1 spec/lib/sps_king/transaction/credit_transfer_transaction_spec.rb
sps_king-0.3.0 spec/lib/sps_king/transaction/credit_transfer_transaction_spec.rb
sps_king-0.2.0 spec/lib/sps_king/transaction/credit_transfer_transaction_spec.rb
sps_king-0.1.1 spec/lib/sps_king/transaction/credit_transfer_transaction_spec.rb
sps_king-0.1.0 spec/lib/sps_king/transaction/credit_transfer_transaction_spec.rb