aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEdwin Samodra <[email protected]>2021-09-11 21:00:27 +0700
committerEdwin Samodra <[email protected]>2021-09-11 21:00:27 +0700
commita5f25f7fa1027df4b2e522728a3279f7f76e85ff (patch)
tree2e1534dc5c59fff80ef21b2529c58ed851ad9b7c
parent17d56481e3afeabffe9c08c7d932f5e31749f594 (diff)
downloadfaker-a5f25f7fa1027df4b2e522728a3279f7f76e85ff.tar.xz
faker-a5f25f7fa1027df4b2e522728a3279f7f76e85ff.zip
rebuild bigInt generator pull request
-rw-r--r--lib/datatype.js14
-rw-r--r--test/datatype.unit.js23
2 files changed, 37 insertions, 0 deletions
diff --git a/lib/datatype.js b/lib/datatype.js
index 02ea3759..63ebd65c 100644
--- a/lib/datatype.js
+++ b/lib/datatype.js
@@ -220,6 +220,20 @@ function Datatype (faker, seed) {
};
+ /**
+ * returns a Big Integer with values generated by faker.datatype.bigInt
+ * @method faker.datatype.bigInt
+ * @param { number } value
+ */
+
+ this.bigInt = function bigInt(value) {
+ if(value === undefined){
+ value = Math.floor(Math.random() * 99999999999) + 10000000000;
+ }
+
+ return BigInt(value);
+ };
+
return this;
}
diff --git a/test/datatype.unit.js b/test/datatype.unit.js
index b206ca47..84a24fd5 100644
--- a/test/datatype.unit.js
+++ b/test/datatype.unit.js
@@ -286,4 +286,27 @@ describe("datatype.js", function () {
});
});
+ describe('bigInt', function () {
+ it('should generate a bigInt value', function () {
+ var generateBigInt = faker.datatype.bigInt();
+ assert.strictEqual(typeof generateBigInt, 'bigint');
+ });
+
+ it('Generate and compare two numbers of data type BigInt, with seeding', function () {
+ faker.seed(123);
+ var generateBigInt1 = faker.datatype.bigInt();
+ faker.seed(123);
+ var generateBigInt2 = faker.datatype.bigInt();
+ assert.strictEqual(generateBigInt1, generateBigInt2);
+ });
+
+ it('summing with the Number datatype should be an error', function(done) {
+ try {
+ faker.datatype.bigInt() + 10
+ } catch (error) {
+ done();
+ }
+ });
+ });
+
}); \ No newline at end of file