ibandit 0.11.14 → 0.11.15
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGELOG.md +4 -0
- data/lib/ibandit/iban.rb +8 -0
- data/lib/ibandit/version.rb +1 -1
- data/spec/ibandit/iban_spec.rb +102 -0
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: a159dff483326ad700b9d6c2348be9a36b6eb9fd
|
4
|
+
data.tar.gz: a3ebcafd962ddad867a8d8103840dd2e6514e1bf
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: ca3965ca8a619cf55fe945a3209d59f7c3f2381b6e3512539c21f31e8676470f2952fc1ad8a594e453518bc7498a28de6dc5b2641bb2e76c03382f4a7344b030
|
7
|
+
data.tar.gz: f12360f3a4cc08548b40263e16d2962f97a90d23d4a0ca4bbd3533d2c902fcb5aa267032f52dabb821ca484e5142982dcc8cf5c885fe6164a9aa06e876148653
|
data/CHANGELOG.md
CHANGED
data/lib/ibandit/iban.rb
CHANGED
@@ -282,6 +282,7 @@ module Ibandit
|
|
282
282
|
when "DE" then supports_iban_determination?
|
283
283
|
when "SE" then valid_swedish_details?
|
284
284
|
when "AU" then valid_australian_details?
|
285
|
+
when "NZ" then valid_nz_details?
|
285
286
|
else true
|
286
287
|
end
|
287
288
|
end
|
@@ -354,6 +355,13 @@ module Ibandit
|
|
354
355
|
true
|
355
356
|
end
|
356
357
|
|
358
|
+
def valid_nz_details?
|
359
|
+
return true unless country_code == "NZ"
|
360
|
+
return true unless Ibandit.modulus_checker
|
361
|
+
|
362
|
+
valid_modulus_check_branch_code?
|
363
|
+
end
|
364
|
+
|
357
365
|
def valid_australian_details?
|
358
366
|
return true unless country_code == "AU"
|
359
367
|
|
data/lib/ibandit/version.rb
CHANGED
data/spec/ibandit/iban_spec.rb
CHANGED
@@ -1952,6 +1952,108 @@ describe Ibandit::IBAN do
|
|
1952
1952
|
end
|
1953
1953
|
end
|
1954
1954
|
|
1955
|
+
describe "valid_nz_details" do
|
1956
|
+
subject { iban.valid_nz_details? }
|
1957
|
+
|
1958
|
+
context "with non-NewZealand details" do
|
1959
|
+
let(:arg) do
|
1960
|
+
{
|
1961
|
+
country_code: "GB",
|
1962
|
+
bank_code: "1234",
|
1963
|
+
branch_code: "200000",
|
1964
|
+
account_number: "55779911",
|
1965
|
+
}
|
1966
|
+
end
|
1967
|
+
|
1968
|
+
it { is_expected.to be(true) }
|
1969
|
+
end
|
1970
|
+
|
1971
|
+
context "with NewZealand details" do
|
1972
|
+
let(:arg) do
|
1973
|
+
{
|
1974
|
+
country_code: "NZ",
|
1975
|
+
bank_code: "01",
|
1976
|
+
branch_code: "0004",
|
1977
|
+
account_number: "123456789",
|
1978
|
+
}
|
1979
|
+
end
|
1980
|
+
|
1981
|
+
context "without a modulus checker defined" do
|
1982
|
+
it { is_expected.to be(true) }
|
1983
|
+
end
|
1984
|
+
|
1985
|
+
context "with a modulus checker defined" do
|
1986
|
+
before do
|
1987
|
+
Ibandit.modulus_checker = double(
|
1988
|
+
valid_branch_code?: valid_branch_code,
|
1989
|
+
)
|
1990
|
+
iban.valid_nz_details?
|
1991
|
+
end
|
1992
|
+
after { Ibandit.modulus_checker = nil }
|
1993
|
+
|
1994
|
+
let(:valid_branch_code) { true }
|
1995
|
+
|
1996
|
+
it "calls valid_branch_code? with an IBAN object" do
|
1997
|
+
expect(Ibandit.modulus_checker).
|
1998
|
+
to receive(:valid_branch_code?).
|
1999
|
+
with(instance_of(Ibandit::IBAN))
|
2000
|
+
|
2001
|
+
iban.valid_nz_details?
|
2002
|
+
end
|
2003
|
+
|
2004
|
+
it { is_expected.to be(true) }
|
2005
|
+
|
2006
|
+
context "with an invalid branch code" do
|
2007
|
+
let(:valid_branch_code) { false }
|
2008
|
+
|
2009
|
+
it { is_expected.to be(false) }
|
2010
|
+
|
2011
|
+
context "locale en", locale: :en do
|
2012
|
+
specify do
|
2013
|
+
expect(iban.errors).to include(branch_code: "is invalid")
|
2014
|
+
end
|
2015
|
+
end
|
2016
|
+
|
2017
|
+
context "locale fr", locale: :fr do
|
2018
|
+
specify do
|
2019
|
+
expect(iban.errors).to include(branch_code: "est invalide")
|
2020
|
+
end
|
2021
|
+
end
|
2022
|
+
|
2023
|
+
context "locale de", locale: :de do
|
2024
|
+
specify do
|
2025
|
+
expect(iban.errors).to include(branch_code: "ist nicht gültig")
|
2026
|
+
end
|
2027
|
+
end
|
2028
|
+
|
2029
|
+
context "locale pt", locale: :pt do
|
2030
|
+
specify do
|
2031
|
+
expect(iban.errors).to include(branch_code: "é inválido")
|
2032
|
+
end
|
2033
|
+
end
|
2034
|
+
|
2035
|
+
context "locale es", locale: :es do
|
2036
|
+
specify do
|
2037
|
+
expect(iban.errors).to include(branch_code: "es inválido")
|
2038
|
+
end
|
2039
|
+
end
|
2040
|
+
|
2041
|
+
context "locale it", locale: :it do
|
2042
|
+
specify do
|
2043
|
+
expect(iban.errors).to include(branch_code: "non è valido")
|
2044
|
+
end
|
2045
|
+
end
|
2046
|
+
|
2047
|
+
context "locale nl", locale: :nl do
|
2048
|
+
specify do
|
2049
|
+
expect(iban.errors).to include(branch_code: "is ongeldig")
|
2050
|
+
end
|
2051
|
+
end
|
2052
|
+
end
|
2053
|
+
end
|
2054
|
+
end
|
2055
|
+
end
|
2056
|
+
|
1955
2057
|
describe "#valid?" do
|
1956
2058
|
describe "validations called" do
|
1957
2059
|
after { iban.valid? }
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: ibandit
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.11.
|
4
|
+
version: 0.11.15
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- GoCardless
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2018-
|
11
|
+
date: 2018-08-30 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: nokogiri
|