From a5f25f7fa1027df4b2e522728a3279f7f76e85ff Mon Sep 17 00:00:00 2001 From: Edwin Samodra Date: Sat, 11 Sep 2021 21:00:27 +0700 Subject: rebuild bigInt generator pull request --- lib/datatype.js | 14 ++++++++++++++ test/datatype.unit.js | 23 +++++++++++++++++++++++ 2 files changed, 37 insertions(+) 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 -- cgit v1.2.3