diff --git a/README.md b/README.md index d7ce723..32bcdc2 100755 --- a/README.md +++ b/README.md @@ -204,6 +204,7 @@ faker.team.state() // => "Alabama" faker.bank.name() //=> "ABN AMRO CORPORATE FINANCE LIMITED" faker.bank.swiftBic() //=> "AAFMGB21" faker.bank.iban() // => "NL45BUNQ2209931378" +faker.bank.bban() //=> ABNA0136468471 ``` ## Installation diff --git a/Source/Generators/Bank.swift b/Source/Generators/Bank.swift index 9b37fd4..0adcd0f 100644 --- a/Source/Generators/Bank.swift +++ b/Source/Generators/Bank.swift @@ -15,4 +15,11 @@ public final class Bank: Generator { return bankCountryCode + bankCountryString + ibanLetterCode + iban } + + public func bban() -> String { + let ibanLetterCode: String = letterify(generate("bank.ibanDetails.ibanLetterCode")) + let iban: String = numerify(generate("bank.ibanDetails.ibanDigits")) + + return ibanLetterCode + iban + } } diff --git a/Tests/Fakery/Generators/BankSpec.swift b/Tests/Fakery/Generators/BankSpec.swift index f111e75..a9470f9 100644 --- a/Tests/Fakery/Generators/BankSpec.swift +++ b/Tests/Fakery/Generators/BankSpec.swift @@ -25,7 +25,14 @@ final class BankSpec: QuickSpec { expect(swiftBic).to(equal("AAFMGB21")) } } - + + describe("#bban") { + it("returns a valid BBAN") { + let bban = bank.bban() + expect(bban).to(match("[A-Z]{4}\\d{10}")) + } + } + describe("#iban") { it("returns a valid IBAN") { let iban = bank.iban()