aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJoão Fonseca <[email protected]>2016-10-17 22:28:35 +0100
committerJoão Fonseca <[email protected]>2016-10-17 22:28:35 +0100
commitd998170beaf9cbd397cab108a998d7fa78075266 (patch)
tree3b1abf3a405e0901125a7af7cae42f983d25690f
parent7e96b93869b422af5a63c115e04ff0206bf7b228 (diff)
downloadfaker-d998170beaf9cbd397cab108a998d7fa78075266.tar.xz
faker-d998170beaf9cbd397cab108a998d7fa78075266.zip
Add ABA routing number
-rw-r--r--lib/finance.js21
-rw-r--r--test/finance.unit.js11
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 () {