diff options
| author | João Fonseca <[email protected]> | 2016-10-17 22:28:35 +0100 |
|---|---|---|
| committer | João Fonseca <[email protected]> | 2016-10-17 22:28:35 +0100 |
| commit | d998170beaf9cbd397cab108a998d7fa78075266 (patch) | |
| tree | 3b1abf3a405e0901125a7af7cae42f983d25690f | |
| parent | 7e96b93869b422af5a63c115e04ff0206bf7b228 (diff) | |
| download | faker-d998170beaf9cbd397cab108a998d7fa78075266.tar.xz faker-d998170beaf9cbd397cab108a998d7fa78075266.zip | |
Add ABA routing number
| -rw-r--r-- | lib/finance.js | 21 | ||||
| -rw-r--r-- | test/finance.unit.js | 11 |
2 files changed, 32 insertions, 0 deletions
diff --git a/lib/finance.js b/lib/finance.js index 7c2053ab..ada1517f 100644 --- a/lib/finance.js +++ b/lib/finance.js @@ -36,6 +36,27 @@ var Finance = function (faker) { } /** + * routingNumber + * + * @method faker.finance.routingNumber + */ + self.routingNumber = function () { + + var routingNumber = Helpers.replaceSymbolWithNumber('########'); + + // Modules 10 straight summation. + var sum = 0; + + for (var i = 0; i < routingNumber.length; i += 3) { + sum += Number(routingNumber[i]) * 3; + sum += Number(routingNumber[i + 1]) * 7; + sum += Number(routingNumber[i + 2]) || 0; + } + + return routingNumber + (Math.ceil(sum / 10) * 10 - sum); + } + + /** * mask * * @method faker.finance.mask diff --git a/test/finance.unit.js b/test/finance.unit.js index 6bbb51c6..51041e37 100644 --- a/test/finance.unit.js +++ b/test/finance.unit.js @@ -57,6 +57,17 @@ describe('finance.js', function () { }); + describe('routingNumber()', function () { + + it("should return a routing number", function () { + + var actual = faker.finance.routingNumber(); + + assert.ok(actual); + + }); + + }); describe('mask( length, parens, elipsis )', function () { it("should set a default length", function () { |
