Sha256: bf6fac7e41d5d8a179a764fd19fc576dbfb9dc569f5e62f1296dc5edf05aa467

Contents?: true

Size: 1.46 KB

Versions: 2

Compression:

Stored size: 1.46 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

2 entries across 2 versions & 1 rubygems

Version Path
ibandit-0.11.22 spec/ibandit/iban_splitter_spec.rb
ibandit-0.11.20 spec/ibandit/iban_splitter_spec.rb