Sha256: e1b9ae04f060aeff5d9e3ac514852c123a9ee7c1cc80d6c245679961804d4ecf

Contents?: true

Size: 1.45 KB

Versions: 18

Compression:

Stored size: 1.45 KB

Contents

require "spec_helper"

describe Ibandit::IBANSplitter do
  subject(:split) { described_class.split(iban_code) }

  context "with a valid IBAN" do
    let(:iban_code) { "GB82WEST12345698765432" }
    its([:country_code]) { is_expected.to eq("GB") }
    its([:check_digits]) { is_expected.to eq("82") }
    its([:bank_code]) { is_expected.to eq("WEST") }
    its([:branch_code]) { is_expected.to eq("123456") }
    its([:account_number]) { is_expected.to eq("98765432") }
  end

  context "with nil" do
    let(:iban_code) { nil }
    its([:country_code]) { is_expected.to eq(nil) }
    its([:check_digits]) { is_expected.to eq(nil) }
    its([:bank_code]) { is_expected.to eq(nil) }
    its([:branch_code]) { is_expected.to eq(nil) }
    its([:account_number]) { is_expected.to eq(nil) }
  end

  context "with an empty string" do
    let(:iban_code) { "" }
    its([:country_code]) { is_expected.to eq(nil) }
    its([:check_digits]) { is_expected.to eq(nil) }
    its([:bank_code]) { is_expected.to eq(nil) }
    its([:branch_code]) { is_expected.to eq(nil) }
    its([:account_number]) { is_expected.to eq(nil) }
  end

  context "with an invalid length IBAN" do
    let(:iban_code) { "MC9320052222100112233M445" }
    its([:country_code]) { is_expected.to eq("MC") }
    its([:check_digits]) { is_expected.to eq(nil) }
    its([:bank_code]) { is_expected.to eq(nil) }
    its([:branch_code]) { is_expected.to eq(nil) }
    its([:account_number]) { is_expected.to eq(nil) }
  end
end

Version data entries

18 entries across 18 versions & 1 rubygems

Version Path
ibandit-0.11.28 spec/ibandit/iban_splitter_spec.rb
ibandit-0.11.27 spec/ibandit/iban_splitter_spec.rb
ibandit-0.11.26 spec/ibandit/iban_splitter_spec.rb
ibandit-0.11.25 spec/ibandit/iban_splitter_spec.rb
ibandit-0.11.24 spec/ibandit/iban_splitter_spec.rb
ibandit-0.11.23 spec/ibandit/iban_splitter_spec.rb
ibandit-0.11.19 spec/ibandit/iban_splitter_spec.rb
ibandit-0.11.18 spec/ibandit/iban_splitter_spec.rb
ibandit-0.11.17 spec/ibandit/iban_splitter_spec.rb
ibandit-0.11.16 spec/ibandit/iban_splitter_spec.rb
ibandit-0.11.15 spec/ibandit/iban_splitter_spec.rb
ibandit-0.11.14 spec/ibandit/iban_splitter_spec.rb
ibandit-0.11.13 spec/ibandit/iban_splitter_spec.rb
ibandit-0.11.12 spec/ibandit/iban_splitter_spec.rb
ibandit-0.11.11 spec/ibandit/iban_splitter_spec.rb
ibandit-0.11.10 spec/ibandit/iban_splitter_spec.rb
ibandit-0.11.9 spec/ibandit/iban_splitter_spec.rb
ibandit-0.11.7 spec/ibandit/iban_splitter_spec.rb