ibandit 0.11.22 → 0.11.23
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +5 -5
- data/.rubocop.yml +4 -1
- data/.rubocop_todo.yml +13 -60
- data/.travis.yml +0 -1
- data/CHANGELOG.md +4 -0
- data/Gemfile +6 -0
- data/ibandit.gemspec +2 -2
- data/lib/ibandit.rb +3 -3
- data/lib/ibandit/german_details_converter.rb +3 -3
- data/lib/ibandit/iban.rb +8 -0
- data/lib/ibandit/sweden/bank_lookup.rb +1 -1
- data/lib/ibandit/version.rb +1 -1
- data/spec/ibandit/german_details_converter_spec.rb +5 -9
- data/spec/ibandit/iban_assembler_spec.rb +0 -87
- data/spec/ibandit/iban_spec.rb +131 -173
- data/spec/ibandit/iban_splitter_spec.rb +0 -4
- data/spec/ibandit/local_details_cleaner_spec.rb +0 -128
- data/spec/ibandit/structure_spec.rb +1 -1
- data/spec/ibandit/sweden/validator_spec.rb +0 -33
- metadata +17 -17
data/spec/ibandit/iban_spec.rb
CHANGED
@@ -2,7 +2,6 @@ require "spec_helper"
|
|
2
2
|
|
3
3
|
describe Ibandit::IBAN do
|
4
4
|
subject(:iban) { described_class.new(arg) }
|
5
|
-
|
6
5
|
let(:arg) { iban_code }
|
7
6
|
let(:iban_code) { "GB82WEST12345698765432" }
|
8
7
|
|
@@ -10,19 +9,16 @@ describe Ibandit::IBAN do
|
|
10
9
|
|
11
10
|
context "with a poorly formatted IBAN" do
|
12
11
|
let(:iban_code) { " gb82 WeSt 1234 5698 7654 32\n" }
|
13
|
-
|
14
12
|
its(:iban) { is_expected.to eq("GB82WEST12345698765432") }
|
15
13
|
end
|
16
14
|
|
17
15
|
context "with nil" do
|
18
16
|
let(:arg) { nil }
|
19
|
-
|
20
17
|
specify { expect { iban }.to raise_error(TypeError) }
|
21
18
|
end
|
22
19
|
|
23
20
|
context "with an invalid pseudo IBAN" do
|
24
21
|
let(:arg) { "dezzzz" }
|
25
|
-
|
26
22
|
its(:iban) { is_expected.to eq("DEZZZZ") }
|
27
23
|
end
|
28
24
|
|
@@ -97,7 +93,6 @@ describe Ibandit::IBAN do
|
|
97
93
|
|
98
94
|
context "when the IBAN was created from a Slovenian IBAN" do
|
99
95
|
let(:iban_code) { "SI56 1910 0000 0123 438" }
|
100
|
-
|
101
96
|
its(:country_code) { is_expected.to eq("SI") }
|
102
97
|
its(:bank_code) { is_expected.to eq("19100") }
|
103
98
|
its(:branch_code) { is_expected.to be_nil }
|
@@ -446,7 +441,6 @@ describe Ibandit::IBAN do
|
|
446
441
|
account_number: account_number,
|
447
442
|
}
|
448
443
|
end
|
449
|
-
|
450
444
|
context "with a 3 digit account number suffix" do
|
451
445
|
let(:account_number) { "3333333-944" }
|
452
446
|
|
@@ -464,7 +458,6 @@ describe Ibandit::IBAN do
|
|
464
458
|
its(:valid?) { is_expected.to eq(true) }
|
465
459
|
its(:to_s) { is_expected.to eq("") }
|
466
460
|
end
|
467
|
-
|
468
461
|
context "with a 2 digit account number suffix" do
|
469
462
|
let(:account_number) { "3333333-44" }
|
470
463
|
|
@@ -482,7 +475,6 @@ describe Ibandit::IBAN do
|
|
482
475
|
its(:valid?) { is_expected.to eq(true) }
|
483
476
|
its(:to_s) { is_expected.to eq("") }
|
484
477
|
end
|
485
|
-
|
486
478
|
context "with bank and branch code embedded in account_number field" do
|
487
479
|
let(:arg) do
|
488
480
|
{
|
@@ -505,7 +497,6 @@ describe Ibandit::IBAN do
|
|
505
497
|
its(:valid?) { is_expected.to eq(true) }
|
506
498
|
its(:to_s) { is_expected.to eq("") }
|
507
499
|
end
|
508
|
-
|
509
500
|
context "with a bank code embedded in account_number field" do
|
510
501
|
let(:arg) do
|
511
502
|
{
|
@@ -567,7 +558,6 @@ describe Ibandit::IBAN do
|
|
567
558
|
|
568
559
|
context "with the IBAN is nil" do
|
569
560
|
let(:arg) { { country_code: "GB" } }
|
570
|
-
|
571
561
|
its(:to_s) { is_expected.to_not be_nil }
|
572
562
|
specify { expect(iban.to_s(:formatted)).to be_empty }
|
573
563
|
end
|
@@ -580,13 +570,11 @@ describe Ibandit::IBAN do
|
|
580
570
|
account_number: "0105723",
|
581
571
|
}
|
582
572
|
end
|
583
|
-
|
584
573
|
specify { expect(iban.to_s).to eq("SE5412000000012810105723") }
|
585
574
|
end
|
586
575
|
|
587
576
|
context "with a Swedish pseudo-IBAN" do
|
588
577
|
let(:arg) { "SEZZX1281XXX0105723" }
|
589
|
-
|
590
578
|
specify { expect(iban.to_s).to eq("SE5412000000012810105723") }
|
591
579
|
end
|
592
580
|
end
|
@@ -604,9 +592,7 @@ describe Ibandit::IBAN do
|
|
604
592
|
|
605
593
|
context "with an unknown country code" do
|
606
594
|
before { iban.valid_country_code? }
|
607
|
-
|
608
595
|
let(:iban_code) { "AA123456789123456" }
|
609
|
-
|
610
596
|
it { is_expected.to eq(false) }
|
611
597
|
|
612
598
|
context "locale en", locale: :en do
|
@@ -653,19 +639,16 @@ describe Ibandit::IBAN do
|
|
653
639
|
|
654
640
|
context "with valid details" do
|
655
641
|
let(:iban_code) { "GB82WEST12345698765432" }
|
656
|
-
|
657
642
|
it { is_expected.to eq(true) }
|
658
643
|
|
659
644
|
context "where the check digit is zero-padded" do
|
660
645
|
let(:iban_code) { "GB06WEST12345698765442" }
|
661
|
-
|
662
646
|
it { is_expected.to eq(true) }
|
663
647
|
end
|
664
648
|
end
|
665
649
|
|
666
650
|
context "with invalid details" do
|
667
651
|
let(:iban_code) { "GB12WEST12345698765432" }
|
668
|
-
|
669
652
|
it { is_expected.to eq(false) }
|
670
653
|
|
671
654
|
context "locale en", locale: :en do
|
@@ -779,7 +762,6 @@ describe Ibandit::IBAN do
|
|
779
762
|
|
780
763
|
context "with invalid characters" do
|
781
764
|
let(:iban_code) { "AA82-EST123456987654" }
|
782
|
-
|
783
765
|
it { is_expected.to be_nil }
|
784
766
|
|
785
767
|
it "does not set errors on the IBAN" do
|
@@ -790,7 +772,6 @@ describe Ibandit::IBAN do
|
|
790
772
|
|
791
773
|
context "with an empty IBAN" do
|
792
774
|
let(:iban_code) { "" }
|
793
|
-
|
794
775
|
it { is_expected.to be_nil }
|
795
776
|
|
796
777
|
it "does not set errors on the IBAN" do
|
@@ -809,7 +790,6 @@ describe Ibandit::IBAN do
|
|
809
790
|
|
810
791
|
context "with invalid details" do
|
811
792
|
let(:iban_code) { "GB82WEST123456987654" }
|
812
|
-
|
813
793
|
it { is_expected.to eq(false) }
|
814
794
|
|
815
795
|
context "locale en", locale: :en do
|
@@ -922,7 +902,6 @@ describe Ibandit::IBAN do
|
|
922
902
|
|
923
903
|
context "with an invalid country_code" do
|
924
904
|
let(:iban_code) { "AA82WEST123456987654" }
|
925
|
-
|
926
905
|
it { is_expected.to be_nil }
|
927
906
|
|
928
907
|
it "does not set errors on the IBAN" do
|
@@ -941,7 +920,6 @@ describe Ibandit::IBAN do
|
|
941
920
|
|
942
921
|
context "with invalid details" do
|
943
922
|
before { allow(iban).to receive(:swift_bank_code).and_return("WES") }
|
944
|
-
|
945
923
|
it { is_expected.to eq(false) }
|
946
924
|
|
947
925
|
context "locale en", locale: :en do
|
@@ -1042,7 +1020,6 @@ describe Ibandit::IBAN do
|
|
1042
1020
|
|
1043
1021
|
context "with an invalid country_code" do
|
1044
1022
|
before { allow(iban).to receive(:country_code).and_return("AA") }
|
1045
|
-
|
1046
1023
|
it { is_expected.to be_nil }
|
1047
1024
|
|
1048
1025
|
it "does not set errors on the IBAN" do
|
@@ -1061,7 +1038,6 @@ describe Ibandit::IBAN do
|
|
1061
1038
|
|
1062
1039
|
context "with invalid details" do
|
1063
1040
|
before { allow(iban).to receive(:swift_branch_code).and_return("12345") }
|
1064
|
-
|
1065
1041
|
it { is_expected.to eq(false) }
|
1066
1042
|
|
1067
1043
|
context "locale en", locale: :en do
|
@@ -1162,7 +1138,6 @@ describe Ibandit::IBAN do
|
|
1162
1138
|
|
1163
1139
|
context "without a branch code" do
|
1164
1140
|
before { allow(iban).to receive(:swift_branch_code).and_return(nil) }
|
1165
|
-
|
1166
1141
|
it { is_expected.to eq(false) }
|
1167
1142
|
|
1168
1143
|
context "locale en", locale: :en do
|
@@ -1245,7 +1220,6 @@ describe Ibandit::IBAN do
|
|
1245
1220
|
|
1246
1221
|
context "with an invalid country_code" do
|
1247
1222
|
before { allow(iban).to receive(:country_code).and_return("AA") }
|
1248
|
-
|
1249
1223
|
it { is_expected.to be_nil }
|
1250
1224
|
|
1251
1225
|
it "does not set errors on the IBAN" do
|
@@ -1266,7 +1240,6 @@ describe Ibandit::IBAN do
|
|
1266
1240
|
before do
|
1267
1241
|
allow(iban).to receive(:swift_account_number).and_return("1234567")
|
1268
1242
|
end
|
1269
|
-
|
1270
1243
|
it { is_expected.to eq(false) }
|
1271
1244
|
|
1272
1245
|
context "locale en", locale: :en do
|
@@ -1369,7 +1342,6 @@ describe Ibandit::IBAN do
|
|
1369
1342
|
|
1370
1343
|
context "with an invalid country_code" do
|
1371
1344
|
before { allow(iban).to receive(:country_code).and_return("AA") }
|
1372
|
-
|
1373
1345
|
it { is_expected.to be_nil }
|
1374
1346
|
|
1375
1347
|
it "does not set errors on the IBAN" do
|
@@ -1384,13 +1356,11 @@ describe Ibandit::IBAN do
|
|
1384
1356
|
|
1385
1357
|
context "with valid details" do
|
1386
1358
|
let(:iban_code) { "GB82WEST12345698765432" }
|
1387
|
-
|
1388
1359
|
it { is_expected.to eq(true) }
|
1389
1360
|
end
|
1390
1361
|
|
1391
1362
|
context "with invalid details" do
|
1392
1363
|
let(:iban_code) { "GB-123ABCD" }
|
1393
|
-
|
1394
1364
|
it { is_expected.to eq(false) }
|
1395
1365
|
|
1396
1366
|
context "locale en", locale: :en do
|
@@ -1490,13 +1460,11 @@ describe Ibandit::IBAN do
|
|
1490
1460
|
|
1491
1461
|
context "with valid details" do
|
1492
1462
|
let(:iban_code) { "GB82WEST12345698765432" }
|
1493
|
-
|
1494
1463
|
it { is_expected.to eq(true) }
|
1495
1464
|
end
|
1496
1465
|
|
1497
1466
|
context "with invalid details" do
|
1498
1467
|
let(:iban_code) { "GB82WEST12AAAAAA7654" }
|
1499
|
-
|
1500
1468
|
it { is_expected.to eq(false) }
|
1501
1469
|
|
1502
1470
|
context "locale en", locale: :en do
|
@@ -1590,7 +1558,6 @@ describe Ibandit::IBAN do
|
|
1590
1558
|
|
1591
1559
|
context "with an invalid country_code" do
|
1592
1560
|
let(:iban_code) { "AA82WEST12AAAAAA7654" }
|
1593
|
-
|
1594
1561
|
it { is_expected.to be_nil }
|
1595
1562
|
|
1596
1563
|
it "does not set errors on the IBAN" do
|
@@ -1952,9 +1919,7 @@ describe Ibandit::IBAN do
|
|
1952
1919
|
valid_account_number?: valid_account_number,
|
1953
1920
|
)
|
1954
1921
|
end
|
1955
|
-
|
1956
1922
|
after { Ibandit.modulus_checker = nil }
|
1957
|
-
|
1958
1923
|
before { iban.valid_local_modulus_check? }
|
1959
1924
|
|
1960
1925
|
context "with an invalid bank code" do
|
@@ -1966,7 +1931,7 @@ describe Ibandit::IBAN do
|
|
1966
1931
|
it "calls valid_bank_code? with an IBAN object" do
|
1967
1932
|
expect(Ibandit.modulus_checker).
|
1968
1933
|
to receive(:valid_bank_code?).
|
1969
|
-
with(instance_of(
|
1934
|
+
with(instance_of(Ibandit::IBAN))
|
1970
1935
|
|
1971
1936
|
iban.valid_local_modulus_check?
|
1972
1937
|
end
|
@@ -2027,11 +1992,8 @@ describe Ibandit::IBAN do
|
|
2027
1992
|
context "with an invalid branch code" do
|
2028
1993
|
let(:iban_code) { "GB60BARC20000055779911" }
|
2029
1994
|
before { Ibandit.bic_finder = double(call: "BARCGB22XXX") }
|
2030
|
-
|
2031
1995
|
after { Ibandit.bic_finder = nil }
|
2032
|
-
|
2033
1996
|
before { iban.valid_local_modulus_check? }
|
2034
|
-
|
2035
1997
|
let(:valid_bank_code) { true }
|
2036
1998
|
let(:valid_branch_code) { false }
|
2037
1999
|
let(:valid_account_number) { true }
|
@@ -2039,7 +2001,7 @@ describe Ibandit::IBAN do
|
|
2039
2001
|
it "calls valid_branch_code? with an IBAN object" do
|
2040
2002
|
expect(Ibandit.modulus_checker).
|
2041
2003
|
to receive(:valid_branch_code?).
|
2042
|
-
with(instance_of(
|
2004
|
+
with(instance_of(Ibandit::IBAN))
|
2043
2005
|
|
2044
2006
|
iban.valid_local_modulus_check?
|
2045
2007
|
end
|
@@ -2121,7 +2083,7 @@ describe Ibandit::IBAN do
|
|
2121
2083
|
it "calls valid_account_number? with an IBAN object" do
|
2122
2084
|
expect(Ibandit.modulus_checker).
|
2123
2085
|
to receive(:valid_account_number?).
|
2124
|
-
with(instance_of(
|
2086
|
+
with(instance_of(Ibandit::IBAN))
|
2125
2087
|
|
2126
2088
|
iban.valid_local_modulus_check?
|
2127
2089
|
end
|
@@ -2452,7 +2414,6 @@ describe Ibandit::IBAN do
|
|
2452
2414
|
)
|
2453
2415
|
iban.valid_australian_details?
|
2454
2416
|
end
|
2455
|
-
|
2456
2417
|
after { Ibandit.modulus_checker = nil }
|
2457
2418
|
|
2458
2419
|
let(:valid_branch_code) { true }
|
@@ -2460,7 +2421,7 @@ describe Ibandit::IBAN do
|
|
2460
2421
|
it "calls valid_branch_code? with an IBAN object" do
|
2461
2422
|
expect(Ibandit.modulus_checker).
|
2462
2423
|
to receive(:valid_branch_code?).
|
2463
|
-
with(instance_of(
|
2424
|
+
with(instance_of(Ibandit::IBAN))
|
2464
2425
|
|
2465
2426
|
iban.valid_australian_details?
|
2466
2427
|
end
|
@@ -2579,6 +2540,132 @@ describe Ibandit::IBAN do
|
|
2579
2540
|
)
|
2580
2541
|
iban.valid_nz_details?
|
2581
2542
|
end
|
2543
|
+
after { Ibandit.modulus_checker = nil }
|
2544
|
+
|
2545
|
+
let(:valid_branch_code) { true }
|
2546
|
+
|
2547
|
+
it "calls valid_branch_code? with an IBAN object" do
|
2548
|
+
expect(Ibandit.modulus_checker).
|
2549
|
+
to receive(:valid_branch_code?).
|
2550
|
+
with(instance_of(Ibandit::IBAN))
|
2551
|
+
|
2552
|
+
iban.valid_nz_details?
|
2553
|
+
end
|
2554
|
+
|
2555
|
+
it { is_expected.to be(true) }
|
2556
|
+
|
2557
|
+
context "with an invalid branch code" do
|
2558
|
+
let(:valid_branch_code) { false }
|
2559
|
+
|
2560
|
+
it { is_expected.to be(false) }
|
2561
|
+
|
2562
|
+
context "locale en", locale: :en do
|
2563
|
+
specify do
|
2564
|
+
expect(iban.errors).to include(branch_code: "is invalid")
|
2565
|
+
end
|
2566
|
+
end
|
2567
|
+
|
2568
|
+
context "locale fr", locale: :fr do
|
2569
|
+
specify do
|
2570
|
+
expect(iban.errors).to include(branch_code: "n'est pas valide")
|
2571
|
+
end
|
2572
|
+
end
|
2573
|
+
|
2574
|
+
context "locale de", locale: :de do
|
2575
|
+
specify do
|
2576
|
+
expect(iban.errors).to include(branch_code: "ist ungültig")
|
2577
|
+
end
|
2578
|
+
end
|
2579
|
+
|
2580
|
+
context "locale pt", locale: :pt do
|
2581
|
+
specify do
|
2582
|
+
expect(iban.errors).to include(branch_code: "é inválido")
|
2583
|
+
end
|
2584
|
+
end
|
2585
|
+
|
2586
|
+
context "locale es", locale: :es do
|
2587
|
+
specify do
|
2588
|
+
expect(iban.errors).to include(branch_code: "no es válido")
|
2589
|
+
end
|
2590
|
+
end
|
2591
|
+
|
2592
|
+
context "locale it", locale: :it do
|
2593
|
+
specify do
|
2594
|
+
expect(iban.errors).to include(branch_code: "non è valido")
|
2595
|
+
end
|
2596
|
+
end
|
2597
|
+
|
2598
|
+
context "locale nl", locale: :nl do
|
2599
|
+
specify do
|
2600
|
+
expect(iban.errors).to include(branch_code: "is ongeldig")
|
2601
|
+
end
|
2602
|
+
end
|
2603
|
+
|
2604
|
+
context "locale nb", locale: :nb do
|
2605
|
+
specify do
|
2606
|
+
expect(iban.errors).to include(branch_code: "er ikke gyldig")
|
2607
|
+
end
|
2608
|
+
end
|
2609
|
+
|
2610
|
+
context "locale sl", locale: :sl do
|
2611
|
+
specify do
|
2612
|
+
expect(iban.errors).to include(branch_code: "ni veljavno")
|
2613
|
+
end
|
2614
|
+
end
|
2615
|
+
|
2616
|
+
context "locale da", locale: :da do
|
2617
|
+
specify do
|
2618
|
+
expect(iban.errors).to include(branch_code: "er ugyldig")
|
2619
|
+
end
|
2620
|
+
end
|
2621
|
+
|
2622
|
+
context "locale sv", locale: :sv do
|
2623
|
+
specify do
|
2624
|
+
expect(iban.errors).to include(branch_code: "är ogiltig")
|
2625
|
+
end
|
2626
|
+
end
|
2627
|
+
end
|
2628
|
+
end
|
2629
|
+
end
|
2630
|
+
end
|
2631
|
+
|
2632
|
+
describe "valid_ca_details" do
|
2633
|
+
subject { iban.valid_ca_details? }
|
2634
|
+
|
2635
|
+
context "with non-Canadian details" do
|
2636
|
+
let(:arg) do
|
2637
|
+
{
|
2638
|
+
country_code: "GB",
|
2639
|
+
bank_code: "1234",
|
2640
|
+
branch_code: "200000",
|
2641
|
+
account_number: "55779911",
|
2642
|
+
}
|
2643
|
+
end
|
2644
|
+
|
2645
|
+
it { is_expected.to be(true) }
|
2646
|
+
end
|
2647
|
+
|
2648
|
+
context "with Canadian details" do
|
2649
|
+
let(:arg) do
|
2650
|
+
{
|
2651
|
+
country_code: "CA",
|
2652
|
+
bank_code: "0036",
|
2653
|
+
branch_code: "00063",
|
2654
|
+
account_number: "0123456",
|
2655
|
+
}
|
2656
|
+
end
|
2657
|
+
|
2658
|
+
context "without a modulus checker defined" do
|
2659
|
+
it { is_expected.to be(true) }
|
2660
|
+
end
|
2661
|
+
|
2662
|
+
context "with a modulus checker defined" do
|
2663
|
+
before do
|
2664
|
+
Ibandit.modulus_checker = double(
|
2665
|
+
valid_branch_code?: valid_branch_code,
|
2666
|
+
)
|
2667
|
+
iban.valid_ca_details?
|
2668
|
+
end
|
2582
2669
|
|
2583
2670
|
after { Ibandit.modulus_checker = nil }
|
2584
2671
|
|
@@ -2589,7 +2676,7 @@ describe Ibandit::IBAN do
|
|
2589
2676
|
to receive(:valid_branch_code?).
|
2590
2677
|
with(instance_of(described_class))
|
2591
2678
|
|
2592
|
-
iban.
|
2679
|
+
iban.valid_ca_details?
|
2593
2680
|
end
|
2594
2681
|
|
2595
2682
|
it { is_expected.to be(true) }
|
@@ -2708,703 +2795,586 @@ describe Ibandit::IBAN do
|
|
2708
2795
|
|
2709
2796
|
context "for a valid Albanian IBAN" do
|
2710
2797
|
let(:iban_code) { "AL47 2121 1009 0000 0002 3569 8741" }
|
2711
|
-
|
2712
2798
|
it { is_expected.to be_valid }
|
2713
2799
|
end
|
2714
2800
|
|
2715
2801
|
context "for a valid Andorran IBAN" do
|
2716
2802
|
let(:iban_code) { "AD12 0001 2030 2003 5910 0100" }
|
2717
|
-
|
2718
2803
|
it { is_expected.to be_valid }
|
2719
2804
|
end
|
2720
2805
|
|
2721
2806
|
context "for a valid Austrian IBAN" do
|
2722
2807
|
let(:iban_code) { "AT61 1904 3002 3457 3201" }
|
2723
|
-
|
2724
2808
|
it { is_expected.to be_valid }
|
2725
2809
|
end
|
2726
2810
|
|
2727
2811
|
context "for a valid Australian pseudo-IBAN" do
|
2728
2812
|
let(:iban_code) { "AUZZ123456123456789" }
|
2729
|
-
|
2730
2813
|
it { is_expected.to be_valid }
|
2731
2814
|
end
|
2732
2815
|
|
2733
2816
|
context "for an invalid Australian pseudo-IBAN" do
|
2734
2817
|
let(:iban_code) { "AU99123456123456789" }
|
2735
|
-
|
2736
2818
|
it { is_expected.to_not be_valid }
|
2737
2819
|
end
|
2738
2820
|
|
2739
2821
|
context "for a valid Azerbaijanian IBAN" do
|
2740
2822
|
let(:iban_code) { "AZ21 NABZ 0000 0000 1370 1000 1944" }
|
2741
|
-
|
2742
2823
|
it { is_expected.to be_valid }
|
2743
2824
|
end
|
2744
2825
|
|
2745
2826
|
context "for an invalid Azerbaijanian IBAN" do
|
2746
2827
|
let(:iban_code) { "AZ91 NABZ 0000 0000 1370 1000 1944" }
|
2747
|
-
|
2748
2828
|
it { is_expected.to_not be_valid }
|
2749
2829
|
end
|
2750
2830
|
|
2751
2831
|
context "for a valid Bahrainian IBAN" do
|
2752
2832
|
let(:iban_code) { "BH67 BMAG 0000 1299 1234 56" }
|
2753
|
-
|
2754
2833
|
it { is_expected.to be_valid }
|
2755
2834
|
end
|
2756
2835
|
|
2757
2836
|
context "for an invalid Bahrainian IBAN" do
|
2758
2837
|
let(:iban_code) { "BH97 BMAG 0000 1299 1234 56" }
|
2759
|
-
|
2760
2838
|
it { is_expected.to_not be_valid }
|
2761
2839
|
end
|
2762
2840
|
|
2763
2841
|
context "for a valid Belgian IBAN" do
|
2764
2842
|
let(:iban_code) { "BE62 5100 0754 7061" }
|
2765
|
-
|
2766
2843
|
it { is_expected.to be_valid }
|
2767
2844
|
end
|
2768
2845
|
|
2769
2846
|
context "for an invalid Belgian IBAN" do
|
2770
2847
|
let(:iban_code) { "BE92 5100 0754 7061" }
|
2771
|
-
|
2772
2848
|
it { is_expected.to_not be_valid }
|
2773
2849
|
end
|
2774
2850
|
|
2775
2851
|
context "for a valid Bosnian IBAN" do
|
2776
2852
|
let(:iban_code) { "BA39 1290 0794 0102 8494" }
|
2777
|
-
|
2778
2853
|
it { is_expected.to be_valid }
|
2779
2854
|
end
|
2780
2855
|
|
2781
2856
|
context "for an invalid Bosnian IBAN" do
|
2782
2857
|
let(:iban_code) { "BA99 1290 0794 0102 8494" }
|
2783
|
-
|
2784
2858
|
it { is_expected.to_not be_valid }
|
2785
2859
|
end
|
2786
2860
|
|
2787
2861
|
context "for a valid Bulgarian IBAN" do
|
2788
2862
|
let(:iban_code) { "BG80 BNBG 9661 1020 3456 78" }
|
2789
|
-
|
2790
2863
|
it { is_expected.to be_valid }
|
2791
2864
|
end
|
2792
2865
|
|
2793
2866
|
context "for an invalid Bulgarian IBAN" do
|
2794
2867
|
let(:iban_code) { "BG90 BNBG 9661 1020 3456 78" }
|
2795
|
-
|
2796
2868
|
it { is_expected.to_not be_valid }
|
2797
2869
|
end
|
2798
2870
|
|
2799
2871
|
context "for a valid Croatian IBAN" do
|
2800
2872
|
let(:iban_code) { "HR12 1001 0051 8630 0016 0" }
|
2801
|
-
|
2802
2873
|
it { is_expected.to be_valid }
|
2803
2874
|
end
|
2804
2875
|
|
2805
2876
|
context "for an invalid Croatian IBAN" do
|
2806
2877
|
let(:iban_code) { "HR92 1001 0051 8630 0016 0" }
|
2807
|
-
|
2808
2878
|
it { is_expected.to_not be_valid }
|
2809
2879
|
end
|
2810
2880
|
|
2811
2881
|
context "for a valid Cypriot IBAN" do
|
2812
2882
|
let(:iban_code) { "CY17 0020 0128 0000 0012 0052 7600" }
|
2813
|
-
|
2814
2883
|
it { is_expected.to be_valid }
|
2815
2884
|
end
|
2816
2885
|
|
2817
2886
|
context "for an invalid Cypriot IBAN" do
|
2818
2887
|
let(:iban_code) { "CY97 0020 0128 0000 0012 0052 7600" }
|
2819
|
-
|
2820
2888
|
it { is_expected.to_not be_valid }
|
2821
2889
|
end
|
2822
2890
|
|
2823
2891
|
context "for a valid Czech IBAN" do
|
2824
2892
|
let(:iban_code) { "CZ65 0800 0000 1920 0014 5399" }
|
2825
|
-
|
2826
2893
|
it { is_expected.to be_valid }
|
2827
2894
|
end
|
2828
2895
|
|
2829
2896
|
context "for an invalid Czech IBAN" do
|
2830
2897
|
let(:iban_code) { "CZ95 0800 0000 1920 0014 5399" }
|
2831
|
-
|
2832
2898
|
it { is_expected.to_not be_valid }
|
2833
2899
|
end
|
2834
2900
|
|
2835
2901
|
context "for a valid Danish IBAN" do
|
2836
2902
|
let(:iban_code) { "DK50 0040 0440 1162 43" }
|
2837
|
-
|
2838
2903
|
it { is_expected.to be_valid }
|
2839
2904
|
end
|
2840
2905
|
|
2841
2906
|
context "for an invalid Danish IBAN" do
|
2842
2907
|
let(:iban_code) { "DK90 0040 0440 1162 43" }
|
2843
|
-
|
2844
2908
|
it { is_expected.to_not be_valid }
|
2845
2909
|
end
|
2846
2910
|
|
2847
2911
|
context "for a valid Estonian IBAN" do
|
2848
2912
|
let(:iban_code) { "EE38 2200 2210 2014 5685" }
|
2849
|
-
|
2850
2913
|
it { is_expected.to be_valid }
|
2851
2914
|
end
|
2852
2915
|
|
2853
2916
|
context "for an invalid Estonian IBAN" do
|
2854
2917
|
let(:iban_code) { "EE98 2200 2210 2014 5685" }
|
2855
|
-
|
2856
2918
|
it { is_expected.to_not be_valid }
|
2857
2919
|
end
|
2858
2920
|
|
2859
2921
|
context "for a valid Faroe Islands IBAN" do
|
2860
2922
|
let(:iban_code) { "FO97 5432 0388 8999 44" }
|
2861
|
-
|
2862
2923
|
it { is_expected.to be_valid }
|
2863
2924
|
end
|
2864
2925
|
|
2865
2926
|
context "for an invalid Faroe Islands IBAN" do
|
2866
2927
|
let(:iban_code) { "FO27 5432 0388 8999 44" }
|
2867
|
-
|
2868
2928
|
it { is_expected.to_not be_valid }
|
2869
2929
|
end
|
2870
2930
|
|
2871
2931
|
context "for a valid Finnish IBAN" do
|
2872
2932
|
let(:iban_code) { "FI21 1234 5600 0007 85" }
|
2873
|
-
|
2874
2933
|
it { is_expected.to be_valid }
|
2875
2934
|
end
|
2876
2935
|
|
2877
2936
|
context "for an invalid Finnish IBAN" do
|
2878
2937
|
let(:iban_code) { "FI91 1234 5600 0007 85" }
|
2879
|
-
|
2880
2938
|
it { is_expected.to_not be_valid }
|
2881
2939
|
end
|
2882
2940
|
|
2883
2941
|
context "for a valid French IBAN" do
|
2884
2942
|
let(:iban_code) { "FR14 2004 1010 0505 0001 3M02 606" }
|
2885
|
-
|
2886
2943
|
it { is_expected.to be_valid }
|
2887
2944
|
end
|
2888
2945
|
|
2889
2946
|
context "for an invalid French IBAN" do
|
2890
2947
|
let(:iban_code) { "FR94 2004 1010 0505 0001 3M02 606" }
|
2891
|
-
|
2892
2948
|
it { is_expected.to_not be_valid }
|
2893
2949
|
end
|
2894
2950
|
|
2895
2951
|
context "for a valid Georgian IBAN" do
|
2896
2952
|
let(:iban_code) { "GE29 NB00 0000 0101 9049 17" }
|
2897
|
-
|
2898
2953
|
it { is_expected.to be_valid }
|
2899
2954
|
end
|
2900
2955
|
|
2901
2956
|
context "for an invalid Georgian IBAN" do
|
2902
2957
|
let(:iban_code) { "GE99 NB00 0000 0101 9049 17" }
|
2903
|
-
|
2904
2958
|
it { is_expected.to_not be_valid }
|
2905
2959
|
end
|
2906
2960
|
|
2907
2961
|
context "for a valid German IBAN" do
|
2908
2962
|
let(:iban_code) { "DE89 3704 0044 0532 0130 00" }
|
2909
|
-
|
2910
2963
|
it { is_expected.to be_valid }
|
2911
2964
|
end
|
2912
2965
|
|
2913
2966
|
context "for an invalid German IBAN" do
|
2914
2967
|
let(:iban_code) { "DE99 3704 0044 0532 0130 00" }
|
2915
|
-
|
2916
2968
|
it { is_expected.to_not be_valid }
|
2917
2969
|
end
|
2918
2970
|
|
2919
2971
|
context "for a valid Gibraltan IBAN" do
|
2920
2972
|
let(:iban_code) { "GI75 NWBK 0000 0000 7099 453" }
|
2921
|
-
|
2922
2973
|
it { is_expected.to be_valid }
|
2923
2974
|
end
|
2924
2975
|
|
2925
2976
|
context "for an invalid Gibraltan IBAN" do
|
2926
2977
|
let(:iban_code) { "GI95 NWBK 0000 0000 7099 453" }
|
2927
|
-
|
2928
2978
|
it { is_expected.to_not be_valid }
|
2929
2979
|
end
|
2930
2980
|
|
2931
2981
|
context "for a valid Greek IBAN" do
|
2932
2982
|
let(:iban_code) { "GR16 0110 1250 0000 0001 2300 695" }
|
2933
|
-
|
2934
2983
|
it { is_expected.to be_valid }
|
2935
2984
|
end
|
2936
2985
|
|
2937
2986
|
context "for an invalid Greek IBAN" do
|
2938
2987
|
let(:iban_code) { "GR96 0110 1250 0000 0001 2300 695" }
|
2939
|
-
|
2940
2988
|
it { is_expected.to_not be_valid }
|
2941
2989
|
end
|
2942
2990
|
|
2943
2991
|
context "for a valid Greenland IBAN" do
|
2944
2992
|
let(:iban_code) { "GL56 0444 9876 5432 10" }
|
2945
|
-
|
2946
2993
|
it { is_expected.to be_valid }
|
2947
2994
|
end
|
2948
2995
|
|
2949
2996
|
context "for an invalid Greenland IBAN" do
|
2950
2997
|
let(:iban_code) { "GL96 0444 9876 5432 10" }
|
2951
|
-
|
2952
2998
|
it { is_expected.to_not be_valid }
|
2953
2999
|
end
|
2954
3000
|
|
2955
3001
|
context "for a valid Hungarian IBAN" do
|
2956
3002
|
let(:iban_code) { "HU42 1177 3016 1111 1018 0000 0000" }
|
2957
|
-
|
2958
3003
|
it { is_expected.to be_valid }
|
2959
3004
|
end
|
2960
3005
|
|
2961
3006
|
context "for an invalid Hungarian IBAN" do
|
2962
3007
|
let(:iban_code) { "HU92 1177 3016 1111 1018 0000 0000" }
|
2963
|
-
|
2964
3008
|
it { is_expected.to_not be_valid }
|
2965
3009
|
end
|
2966
3010
|
|
2967
3011
|
context "for a valid Icelandic IBAN" do
|
2968
3012
|
let(:iban_code) { "IS14 0159 2600 7654 5510 7303 39" }
|
2969
|
-
|
2970
3013
|
it { is_expected.to be_valid }
|
2971
3014
|
end
|
2972
3015
|
|
2973
3016
|
context "for an invalid Icelandic IBAN" do
|
2974
3017
|
let(:iban_code) { "IS94 0159 2600 7654 5510 7303 39" }
|
2975
|
-
|
2976
3018
|
it { is_expected.to_not be_valid }
|
2977
3019
|
end
|
2978
3020
|
|
2979
3021
|
context "for a valid Irish IBAN" do
|
2980
3022
|
let(:iban_code) { "IE29 AIBK 9311 5212 3456 78" }
|
2981
|
-
|
2982
3023
|
it { is_expected.to be_valid }
|
2983
3024
|
end
|
2984
3025
|
|
2985
3026
|
context "for an invalid Irish IBAN" do
|
2986
3027
|
let(:iban_code) { "IE99 AIBK 9311 5212 3456 78" }
|
2987
|
-
|
2988
3028
|
it { is_expected.to_not be_valid }
|
2989
3029
|
end
|
2990
3030
|
|
2991
3031
|
context "for a valid Israeli IBAN" do
|
2992
3032
|
let(:iban_code) { "IL62 0108 0000 0009 9999 999" }
|
2993
|
-
|
2994
3033
|
it { is_expected.to be_valid }
|
2995
3034
|
end
|
2996
3035
|
|
2997
3036
|
context "for an invalid Israeli IBAN" do
|
2998
3037
|
let(:iban_code) { "IL92 0108 0000 0009 9999 999" }
|
2999
|
-
|
3000
3038
|
it { is_expected.to_not be_valid }
|
3001
3039
|
end
|
3002
3040
|
|
3003
3041
|
context "for a valid Italian IBAN" do
|
3004
3042
|
let(:iban_code) { "IT40 S054 2811 1010 0000 0123 456" }
|
3005
|
-
|
3006
3043
|
it { is_expected.to be_valid }
|
3007
3044
|
end
|
3008
3045
|
|
3009
3046
|
context "for an invalid Italian IBAN" do
|
3010
3047
|
let(:iban_code) { "IT90 S054 2811 1010 0000 0123 456" }
|
3011
|
-
|
3012
3048
|
it { is_expected.to_not be_valid }
|
3013
3049
|
end
|
3014
3050
|
|
3015
3051
|
context "for a valid Jordanian IBAN" do
|
3016
3052
|
let(:iban_code) { "JO94 CBJO 0010 0000 0000 0131 0003 02" }
|
3017
|
-
|
3018
3053
|
it { is_expected.to be_valid }
|
3019
3054
|
end
|
3020
3055
|
|
3021
3056
|
context "for an invalid Jordanian IBAN" do
|
3022
3057
|
let(:iban_code) { "JO24 CBJO 0010 0000 0000 0131 0003 02" }
|
3023
|
-
|
3024
3058
|
it { is_expected.to_not be_valid }
|
3025
3059
|
end
|
3026
3060
|
|
3027
3061
|
context "for a valid Kuwaiti IBAN" do
|
3028
3062
|
let(:iban_code) { "KW81 CBKU 0000 0000 0000 1234 5601 01" }
|
3029
|
-
|
3030
3063
|
it { is_expected.to be_valid }
|
3031
3064
|
end
|
3032
3065
|
|
3033
3066
|
context "for an invalid Kuwaiti IBAN" do
|
3034
3067
|
let(:iban_code) { "KW91 CBKU 0000 0000 0000 1234 5601 01" }
|
3035
|
-
|
3036
3068
|
it { is_expected.to_not be_valid }
|
3037
3069
|
end
|
3038
3070
|
|
3039
3071
|
context "for a valid Latvian IBAN" do
|
3040
3072
|
let(:iban_code) { "LV80 BANK 0000 4351 9500 1" }
|
3041
|
-
|
3042
3073
|
it { is_expected.to be_valid }
|
3043
3074
|
end
|
3044
3075
|
|
3045
3076
|
context "for an invalid Latvian IBAN" do
|
3046
3077
|
let(:iban_code) { "LV90 BANK 0000 4351 9500 1" }
|
3047
|
-
|
3048
3078
|
it { is_expected.to_not be_valid }
|
3049
3079
|
end
|
3050
3080
|
|
3051
3081
|
context "for a valid Lebanese IBAN" do
|
3052
3082
|
let(:iban_code) { "LB62 0999 0000 0001 0019 0122 9114" }
|
3053
|
-
|
3054
3083
|
it { is_expected.to be_valid }
|
3055
3084
|
end
|
3056
3085
|
|
3057
3086
|
context "for an invalid Lebanese IBAN" do
|
3058
3087
|
let(:iban_code) { "LB92 0999 0000 0001 0019 0122 9114" }
|
3059
|
-
|
3060
3088
|
it { is_expected.to_not be_valid }
|
3061
3089
|
end
|
3062
3090
|
|
3063
3091
|
context "for a valid Liechtensteinian IBAN" do
|
3064
3092
|
let(:iban_code) { "LI21 0881 0000 2324 013A A" }
|
3065
|
-
|
3066
3093
|
it { is_expected.to be_valid }
|
3067
3094
|
end
|
3068
3095
|
|
3069
3096
|
context "for an invalid Liechtensteinian IBAN" do
|
3070
3097
|
let(:iban_code) { "LI91 0881 0000 2324 013A A" }
|
3071
|
-
|
3072
3098
|
it { is_expected.to_not be_valid }
|
3073
3099
|
end
|
3074
3100
|
|
3075
3101
|
context "for a valid Lithuanian IBAN" do
|
3076
3102
|
let(:iban_code) { "LT12 1000 0111 0100 1000" }
|
3077
|
-
|
3078
3103
|
it { is_expected.to be_valid }
|
3079
3104
|
end
|
3080
3105
|
|
3081
3106
|
context "for an invalid Lithuanian IBAN" do
|
3082
3107
|
let(:iban_code) { "LT92 1000 0111 0100 1000" }
|
3083
|
-
|
3084
3108
|
it { is_expected.to_not be_valid }
|
3085
3109
|
end
|
3086
3110
|
|
3087
3111
|
context "for a valid Luxembourgian IBAN" do
|
3088
3112
|
let(:iban_code) { "LU28 0019 4006 4475 0000" }
|
3089
|
-
|
3090
3113
|
it { is_expected.to be_valid }
|
3091
3114
|
end
|
3092
3115
|
|
3093
3116
|
context "for an invalid Luxembourgian IBAN" do
|
3094
3117
|
let(:iban_code) { "LU98 0019 4006 4475 0000" }
|
3095
|
-
|
3096
3118
|
it { is_expected.to_not be_valid }
|
3097
3119
|
end
|
3098
3120
|
|
3099
3121
|
context "for a valid Macedonian IBAN" do
|
3100
3122
|
let(:iban_code) { "MK072 5012 0000 0589 84" }
|
3101
|
-
|
3102
3123
|
it { is_expected.to be_valid }
|
3103
3124
|
end
|
3104
3125
|
|
3105
3126
|
context "for an invalid Macedonian IBAN" do
|
3106
3127
|
let(:iban_code) { "MK972 5012 0000 0589 84" }
|
3107
|
-
|
3108
3128
|
it { is_expected.to_not be_valid }
|
3109
3129
|
end
|
3110
3130
|
|
3111
3131
|
context "for a valid Maltese IBAN" do
|
3112
3132
|
let(:iban_code) { "MT84 MALT 0110 0001 2345 MTLC AST0 01S" }
|
3113
|
-
|
3114
3133
|
it { is_expected.to be_valid }
|
3115
3134
|
end
|
3116
3135
|
|
3117
3136
|
context "for an invalid Maltese IBAN" do
|
3118
3137
|
let(:iban_code) { "MT94 MALT 0110 0001 2345 MTLC AST0 01S" }
|
3119
|
-
|
3120
3138
|
it { is_expected.to_not be_valid }
|
3121
3139
|
end
|
3122
3140
|
|
3123
3141
|
context "for a valid Maurititanian IBAN" do
|
3124
3142
|
let(:iban_code) { "MU17 BOMM 0101 1010 3030 0200 000M UR" }
|
3125
|
-
|
3126
3143
|
it { is_expected.to be_valid }
|
3127
3144
|
end
|
3128
3145
|
|
3129
3146
|
context "for an invalid Maurititanian IBAN" do
|
3130
3147
|
let(:iban_code) { "MU97 BOMM 0101 1010 3030 0200 000M UR" }
|
3131
|
-
|
3132
3148
|
it { is_expected.to_not be_valid }
|
3133
3149
|
end
|
3134
3150
|
|
3135
3151
|
context "for a valid Moldovan IBAN" do
|
3136
3152
|
let(:iban_code) { "MD24 AG00 0225 1000 1310 4168" }
|
3137
|
-
|
3138
3153
|
it { is_expected.to be_valid }
|
3139
3154
|
end
|
3140
3155
|
|
3141
3156
|
context "for an invalid Moldovan IBAN" do
|
3142
3157
|
let(:iban_code) { "MD94 AG00 0225 1000 1310 4168" }
|
3143
|
-
|
3144
3158
|
it { is_expected.to_not be_valid }
|
3145
3159
|
end
|
3146
3160
|
|
3147
3161
|
context "for a valid Monocan IBAN" do
|
3148
3162
|
let(:iban_code) { "MC93 2005 2222 1001 1223 3M44 555" }
|
3149
|
-
|
3150
3163
|
it { is_expected.to be_valid }
|
3151
3164
|
end
|
3152
3165
|
|
3153
3166
|
context "for an invalid Monocan IBAN" do
|
3154
3167
|
let(:iban_code) { "MC23 2005 2222 1001 1223 3M44 555" }
|
3155
|
-
|
3156
3168
|
it { is_expected.to_not be_valid }
|
3157
3169
|
end
|
3158
3170
|
|
3159
3171
|
context "for a valid Montenegrian IBAN" do
|
3160
3172
|
let(:iban_code) { "ME25 5050 0001 2345 6789 51" }
|
3161
|
-
|
3162
3173
|
it { is_expected.to be_valid }
|
3163
3174
|
end
|
3164
3175
|
|
3165
3176
|
context "for an invalid Montenegrian IBAN" do
|
3166
3177
|
let(:iban_code) { "ME95 5050 0001 2345 6789 51" }
|
3167
|
-
|
3168
3178
|
it { is_expected.to_not be_valid }
|
3169
3179
|
end
|
3170
3180
|
|
3171
3181
|
context "for a valid Dutch IBAN" do
|
3172
3182
|
let(:iban_code) { "NL39 RABO 0300 0652 64" }
|
3173
|
-
|
3174
3183
|
it { is_expected.to be_valid }
|
3175
3184
|
end
|
3176
3185
|
|
3177
3186
|
context "for an invalid Dutch IBAN" do
|
3178
3187
|
let(:iban_code) { "NL99 RABO 0300 0652 64" }
|
3179
|
-
|
3180
3188
|
it { is_expected.to_not be_valid }
|
3181
3189
|
end
|
3182
3190
|
|
3183
3191
|
context "for a valid Norwegian IBAN" do
|
3184
3192
|
let(:iban_code) { "NO93 8601 1117 947" }
|
3185
|
-
|
3186
3193
|
it { is_expected.to be_valid }
|
3187
3194
|
end
|
3188
3195
|
|
3189
3196
|
context "for an invalid Norwegian IBAN" do
|
3190
3197
|
let(:iban_code) { "NO23 8601 1117 947" }
|
3191
|
-
|
3192
3198
|
it { is_expected.to_not be_valid }
|
3193
3199
|
end
|
3194
3200
|
|
3195
3201
|
context "for a valid New Zealand pseudo-IBAN" do
|
3196
3202
|
let(:iban_code) { "NZZZ5566667777777088" }
|
3197
|
-
|
3198
3203
|
it { is_expected.to be_valid }
|
3199
3204
|
end
|
3200
3205
|
|
3201
3206
|
context "for an invalid New Zealand pseudo-IBAN" do
|
3202
3207
|
let(:iban_code) { "NZZZ55666677777770888" }
|
3203
|
-
|
3204
3208
|
it { is_expected.to_not be_valid }
|
3205
3209
|
end
|
3206
3210
|
|
3207
3211
|
context "for a valid Pakistani IBAN" do
|
3208
3212
|
let(:iban_code) { "PK36 SCBL 0000 0011 2345 6702" }
|
3209
|
-
|
3210
3213
|
it { is_expected.to be_valid }
|
3211
3214
|
end
|
3212
3215
|
|
3213
3216
|
context "for an invalid Pakistani IBAN" do
|
3214
3217
|
let(:iban_code) { "PK96 SCBL 0000 0011 2345 6702" }
|
3215
|
-
|
3216
3218
|
it { is_expected.to_not be_valid }
|
3217
3219
|
end
|
3218
3220
|
|
3219
3221
|
context "for a valid Polish IBAN" do
|
3220
3222
|
let(:iban_code) { "PL60 1020 1026 0000 0422 7020 1111" }
|
3221
|
-
|
3222
3223
|
it { is_expected.to be_valid }
|
3223
3224
|
end
|
3224
3225
|
|
3225
3226
|
context "for an invalid Polish IBAN" do
|
3226
3227
|
let(:iban_code) { "PL90 1020 1026 0000 0422 7020 1111" }
|
3227
|
-
|
3228
3228
|
it { is_expected.to_not be_valid }
|
3229
3229
|
end
|
3230
3230
|
|
3231
3231
|
context "for a valid Potuguese IBAN" do
|
3232
3232
|
let(:iban_code) { "PT50 0002 0123 1234 5678 9015 4" }
|
3233
|
-
|
3234
3233
|
it { is_expected.to be_valid }
|
3235
3234
|
end
|
3236
3235
|
|
3237
3236
|
context "for an invalid Potuguese IBAN" do
|
3238
3237
|
let(:iban_code) { "PT90 0002 0123 1234 5678 9015 4" }
|
3239
|
-
|
3240
3238
|
it { is_expected.to_not be_valid }
|
3241
3239
|
end
|
3242
3240
|
|
3243
3241
|
context "for a valid Qatari IBAN" do
|
3244
3242
|
let(:iban_code) { "QA58 DOHB 0000 1234 5678 90AB CDEF G" }
|
3245
|
-
|
3246
3243
|
it { is_expected.to be_valid }
|
3247
3244
|
end
|
3248
3245
|
|
3249
3246
|
context "for an invalid Qatari IBAN" do
|
3250
3247
|
let(:iban_code) { "QA98 DOHB 0000 1234 5678 90AB CDEF G" }
|
3251
|
-
|
3252
3248
|
it { is_expected.to_not be_valid }
|
3253
3249
|
end
|
3254
3250
|
|
3255
3251
|
context "for a valid Romanian IBAN" do
|
3256
3252
|
let(:iban_code) { "RO49 AAAA 1B31 0075 9384 0000" }
|
3257
|
-
|
3258
3253
|
it { is_expected.to be_valid }
|
3259
3254
|
end
|
3260
3255
|
|
3261
3256
|
context "for an invalid Romanian IBAN" do
|
3262
3257
|
let(:iban_code) { "RO99 AAAA 1B31 0075 9384 0000" }
|
3263
|
-
|
3264
3258
|
it { is_expected.to_not be_valid }
|
3265
3259
|
end
|
3266
3260
|
|
3267
3261
|
context "for a valid San Marinian IBAN" do
|
3268
3262
|
let(:iban_code) { "SM86 U032 2509 8000 0000 0270 100" }
|
3269
|
-
|
3270
3263
|
it { is_expected.to be_valid }
|
3271
3264
|
end
|
3272
3265
|
|
3273
3266
|
context "for an invalid San Marinian IBAN" do
|
3274
3267
|
let(:iban_code) { "SM96 U032 2509 8000 0000 0270 100" }
|
3275
|
-
|
3276
3268
|
it { is_expected.to_not be_valid }
|
3277
3269
|
end
|
3278
3270
|
|
3279
3271
|
context "for a valid Saudi IBAN" do
|
3280
3272
|
let(:iban_code) { "SA03 8000 0000 6080 1016 7519" }
|
3281
|
-
|
3282
3273
|
it { is_expected.to be_valid }
|
3283
3274
|
end
|
3284
3275
|
|
3285
3276
|
context "for an invalid Saudi IBAN" do
|
3286
3277
|
let(:iban_code) { "SA93 8000 0000 6080 1016 7519" }
|
3287
|
-
|
3288
3278
|
it { is_expected.to_not be_valid }
|
3289
3279
|
end
|
3290
3280
|
|
3291
3281
|
context "for a valid Serbian IBAN" do
|
3292
3282
|
let(:iban_code) { "RS35 2600 0560 1001 6113 79" }
|
3293
|
-
|
3294
3283
|
it { is_expected.to be_valid }
|
3295
3284
|
end
|
3296
3285
|
|
3297
3286
|
context "for an invalid Serbian IBAN" do
|
3298
3287
|
let(:iban_code) { "RS95 2600 0560 1001 6113 79" }
|
3299
|
-
|
3300
3288
|
it { is_expected.to_not be_valid }
|
3301
3289
|
end
|
3302
3290
|
|
3303
3291
|
context "for a valid Slovakian IBAN" do
|
3304
3292
|
let(:iban_code) { "SK31 1200 0000 1987 4263 7541" }
|
3305
|
-
|
3306
3293
|
it { is_expected.to be_valid }
|
3307
3294
|
end
|
3308
3295
|
|
3309
3296
|
context "for an invalid Slovakian IBAN" do
|
3310
3297
|
let(:iban_code) { "SK91 1200 0000 1987 4263 7541" }
|
3311
|
-
|
3312
3298
|
it { is_expected.to_not be_valid }
|
3313
3299
|
end
|
3314
3300
|
|
3315
3301
|
context "for a valid Slovenian IBAN" do
|
3316
3302
|
let(:iban_code) { "SI56 1910 0000 0123 438" }
|
3317
|
-
|
3318
3303
|
it { is_expected.to be_valid }
|
3319
3304
|
end
|
3320
3305
|
|
3321
3306
|
context "for an invalid Slovenian IBAN" do
|
3322
3307
|
let(:iban_code) { "SI96 1910 0000 0123 438" }
|
3323
|
-
|
3324
3308
|
it { is_expected.to_not be_valid }
|
3325
3309
|
end
|
3326
3310
|
|
3327
3311
|
context "for a valid Spanish IBAN" do
|
3328
3312
|
let(:iban_code) { "ES80 2310 0001 1800 0001 2345" }
|
3329
|
-
|
3330
3313
|
it { is_expected.to be_valid }
|
3331
3314
|
end
|
3332
3315
|
|
3333
3316
|
context "for an invalid Spanish IBAN" do
|
3334
3317
|
let(:iban_code) { "ES90 2310 0001 1800 0001 2345" }
|
3335
|
-
|
3336
3318
|
it { is_expected.to_not be_valid }
|
3337
3319
|
end
|
3338
3320
|
|
3339
3321
|
context "for a valid Swedish IBAN" do
|
3340
3322
|
let(:iban_code) { "SE35 5000 0000 0549 1000 0003" }
|
3341
|
-
|
3342
3323
|
it { is_expected.to be_valid }
|
3343
3324
|
end
|
3344
3325
|
|
3345
3326
|
context "for an invalid Swedish IBAN" do
|
3346
3327
|
let(:iban_code) { "SE95 5000 0000 0549 1000 0003" }
|
3347
|
-
|
3348
3328
|
it { is_expected.to_not be_valid }
|
3349
3329
|
end
|
3350
3330
|
|
3351
3331
|
context "for a valid Swiss IBAN" do
|
3352
3332
|
let(:iban_code) { "CH93 0076 2011 6238 5295 7" }
|
3353
|
-
|
3354
3333
|
it { is_expected.to be_valid }
|
3355
3334
|
end
|
3356
3335
|
|
3357
3336
|
context "for an invalid Swiss IBAN" do
|
3358
3337
|
let(:iban_code) { "CH23 0076 2011 6238 5295 7" }
|
3359
|
-
|
3360
3338
|
it { is_expected.to_not be_valid }
|
3361
3339
|
end
|
3362
3340
|
|
3363
3341
|
context "for a valid Tunisian IBAN" do
|
3364
3342
|
let(:iban_code) { "TN59 1000 6035 1835 9847 8831" }
|
3365
|
-
|
3366
3343
|
it { is_expected.to be_valid }
|
3367
3344
|
end
|
3368
3345
|
|
3369
3346
|
context "for an invalid Tunisian IBAN" do
|
3370
3347
|
let(:iban_code) { "TN99 1000 6035 1835 9847 8831" }
|
3371
|
-
|
3372
3348
|
it { is_expected.to_not be_valid }
|
3373
3349
|
end
|
3374
3350
|
|
3375
3351
|
context "for a valid Turkish IBAN" do
|
3376
3352
|
let(:iban_code) { "TR33 0006 1005 1978 6457 8413 26" }
|
3377
|
-
|
3378
3353
|
it { is_expected.to be_valid }
|
3379
3354
|
end
|
3380
3355
|
|
3381
3356
|
context "for an invalid Turkish IBAN" do
|
3382
3357
|
let(:iban_code) { "TR93 0006 1005 1978 6457 8413 26" }
|
3383
|
-
|
3384
3358
|
it { is_expected.to_not be_valid }
|
3385
3359
|
end
|
3386
3360
|
|
3387
3361
|
context "for a valid UAE IBAN" do
|
3388
3362
|
let(:iban_code) { "AE07 0331 2345 6789 0123 456" }
|
3389
|
-
|
3390
3363
|
it { is_expected.to be_valid }
|
3391
3364
|
end
|
3392
3365
|
|
3393
3366
|
context "for an invalid UAE IBAN" do
|
3394
3367
|
let(:iban_code) { "AE97 0331 2345 6789 0123 456" }
|
3395
|
-
|
3396
3368
|
it { is_expected.to_not be_valid }
|
3397
3369
|
end
|
3398
3370
|
|
3399
3371
|
context "for a valid UK IBAN" do
|
3400
3372
|
let(:iban_code) { "GB82 WEST 1234 5698 7654 32" }
|
3401
|
-
|
3402
3373
|
it { is_expected.to be_valid }
|
3403
3374
|
end
|
3404
3375
|
|
3405
3376
|
context "for an invalid UK IBAN" do
|
3406
3377
|
let(:iban_code) { "GB92 WEST 1234 5698 7654 32" }
|
3407
|
-
|
3408
3378
|
it { is_expected.to_not be_valid }
|
3409
3379
|
end
|
3410
3380
|
end
|
@@ -3412,73 +3382,61 @@ describe Ibandit::IBAN do
|
|
3412
3382
|
describe "#local_check_digits" do
|
3413
3383
|
context "with a Belgian IBAN" do
|
3414
3384
|
let(:iban_code) { "BE62510007547061" }
|
3415
|
-
|
3416
3385
|
its(:local_check_digits) { is_expected.to eq("61") }
|
3417
3386
|
end
|
3418
3387
|
|
3419
3388
|
context "with a French IBAN" do
|
3420
3389
|
let(:iban_code) { "FR1234567890123456789012345" }
|
3421
|
-
|
3422
3390
|
its(:local_check_digits) { is_expected.to eq("45") }
|
3423
3391
|
end
|
3424
3392
|
|
3425
3393
|
context "with a Monocan IBAN" do
|
3426
3394
|
let(:iban_code) { "MC9320052222100112233M44555" }
|
3427
|
-
|
3428
3395
|
its(:local_check_digits) { is_expected.to eq("55") }
|
3429
3396
|
end
|
3430
3397
|
|
3431
3398
|
context "with a Spanish IBAN" do
|
3432
3399
|
let(:iban_code) { "ES1212345678911234567890" }
|
3433
|
-
|
3434
3400
|
its(:local_check_digits) { is_expected.to eq("91") }
|
3435
3401
|
end
|
3436
3402
|
|
3437
3403
|
context "with an Italian IBAN" do
|
3438
3404
|
let(:iban_code) { "IT12A1234567890123456789012" }
|
3439
|
-
|
3440
3405
|
its(:local_check_digits) { is_expected.to eq("A") }
|
3441
3406
|
end
|
3442
3407
|
|
3443
3408
|
context "with an Estonian IBAN" do
|
3444
3409
|
let(:iban_code) { "EE382200221020145685" }
|
3445
|
-
|
3446
3410
|
its(:local_check_digits) { is_expected.to eq("5") }
|
3447
3411
|
end
|
3448
3412
|
|
3449
3413
|
context "with an Finnish IBAN" do
|
3450
3414
|
let(:iban_code) { "FI2112345600000785" }
|
3451
|
-
|
3452
3415
|
its(:local_check_digits) { is_expected.to eq("5") }
|
3453
3416
|
end
|
3454
3417
|
|
3455
3418
|
context "with an Portuguese IBAN" do
|
3456
3419
|
let(:iban_code) { "PT50000201231234567890154" }
|
3457
|
-
|
3458
3420
|
its(:local_check_digits) { is_expected.to eq("54") }
|
3459
3421
|
end
|
3460
3422
|
|
3461
3423
|
context "with a Norwegian IBAN" do
|
3462
3424
|
let(:iban_code) { "NO9386011117947" }
|
3463
|
-
|
3464
3425
|
its(:local_check_digits) { is_expected.to eq("7") }
|
3465
3426
|
end
|
3466
3427
|
|
3467
3428
|
context "with an Icelandic IBAN" do
|
3468
3429
|
let(:iban_code) { "IS250311260024684606972049" }
|
3469
|
-
|
3470
3430
|
its(:local_check_digits) { is_expected.to eq("4") }
|
3471
3431
|
end
|
3472
3432
|
|
3473
3433
|
context "with a Slovakian IBAN" do
|
3474
3434
|
let(:iban_code) { "SK3112000000198742637541" }
|
3475
|
-
|
3476
3435
|
its(:local_check_digits) { is_expected.to eq("9") }
|
3477
3436
|
end
|
3478
3437
|
|
3479
3438
|
context "with a Dutch IBAN" do
|
3480
3439
|
let(:iban_code) { "NL91ABNA0417164300" }
|
3481
|
-
|
3482
3440
|
its(:local_check_digits) { is_expected.to eq("0") }
|
3483
3441
|
end
|
3484
3442
|
end
|