aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDivisionByZero <[email protected]>2023-12-04 08:21:09 +0100
committerGitHub <[email protected]>2023-12-04 08:21:09 +0100
commit9459f2dd0066500d7e6994d6d96d0952a795d509 (patch)
tree7cc1cdd5e3868ee827783055981aeebdc512122b
parent505f659e4359a39b6e7949209071ba663b751151 (diff)
downloadfaker-9459f2dd0066500d7e6994d6d96d0952a795d509.tar.xz
faker-9459f2dd0066500d7e6994d6d96d0952a795d509.zip
docs: add missing throw descriptions in JSDocs (#2560)
-rw-r--r--src/modules/datatype/index.ts6
-rw-r--r--src/modules/number/index.ts17
-rw-r--r--test/modules/datatype.spec.ts23
-rw-r--r--test/modules/number.spec.ts26
4 files changed, 65 insertions, 7 deletions
diff --git a/src/modules/datatype/index.ts b/src/modules/datatype/index.ts
index f46cfc0b..b8830610 100644
--- a/src/modules/datatype/index.ts
+++ b/src/modules/datatype/index.ts
@@ -20,7 +20,8 @@ export class DatatypeModule extends SimpleModuleBase {
* @param options.max Upper bound for generated number. Defaults to `min + 99999`.
* @param options.precision Precision of the generated number. Defaults to `1`.
*
- * @throws When options define `max < min`.
+ * @throws When `min` is greater than `max`.
+ * @throws When `precision` is negative.
*
* @see faker.number.int(): For generating a random integer.
* @see faker.number.float(): For generating a random floating-point number.
@@ -85,6 +86,9 @@ export class DatatypeModule extends SimpleModuleBase {
* @param options.max Upper bound for generated number. Defaults to `min + 99999`.
* @param options.precision Precision of the generated number. Defaults to `0.01`.
*
+ * @throws When `min` is greater than `max`.
+ * @throws When `precision` is negative.
+ *
* @see faker.number.float(): For the replacement method.
*
* @example
diff --git a/src/modules/number/index.ts b/src/modules/number/index.ts
index a20a0040..91d98777 100644
--- a/src/modules/number/index.ts
+++ b/src/modules/number/index.ts
@@ -24,7 +24,8 @@ export class NumberModule extends SimpleModuleBase {
* @param options.min Lower bound for generated number. Defaults to `0`.
* @param options.max Upper bound for generated number. Defaults to `Number.MAX_SAFE_INTEGER`.
*
- * @throws When options define `max < min`.
+ * @throws When `min` is greater than `max`.
+ * @throws When there are no integers between `min` and `max`.
*
* @see faker.string.numeric(): For generating a `string` of digits with a given length (range).
*
@@ -93,6 +94,9 @@ export class NumberModule extends SimpleModuleBase {
* @param options.precision Precision of the generated number, for example `0.01` will round to 2 decimal points.
* If precision is passed, the upper bound is inclusive.
*
+ * @throws When `min` is greater than `max`.
+ * @throws When `precision` is negative.
+ *
* @example
* faker.number.float() // 0.5688541042618454
* faker.number.float(3) // 2.367973240558058
@@ -168,7 +172,8 @@ export class NumberModule extends SimpleModuleBase {
* @param options.min Lower bound for generated number. Defaults to `0`.
* @param options.max Upper bound for generated number. Defaults to `1`.
*
- * @throws When options define `max < min`.
+ * @throws When `min` is greater than `max`.
+ * @throws When there are no integers between `min` and `max`.
*
* @see faker.string.binary(): For generating a `binary string` with a given length (range).
*
@@ -217,7 +222,8 @@ export class NumberModule extends SimpleModuleBase {
* @param options.min Lower bound for generated number. Defaults to `0`.
* @param options.max Upper bound for generated number. Defaults to `7`.
*
- * @throws When options define `max < min`.
+ * @throws When `min` is greater than `max`.
+ * @throws When there are no integers between `min` and `max`.
*
* @see faker.string.octal(): For generating an `octal string` with a given length (range).
*
@@ -266,7 +272,8 @@ export class NumberModule extends SimpleModuleBase {
* @param options.min Lower bound for generated number. Defaults to `0`.
* @param options.max Upper bound for generated number. Defaults to `15`.
*
- * @throws When options define `max < min`.
+ * @throws When `min` is greater than `max`.
+ * @throws When there are no integers between `min` and `max`.
*
* @example
* faker.number.hex() // 'b'
@@ -313,7 +320,7 @@ export class NumberModule extends SimpleModuleBase {
* @param options.min Lower bound for generated bigint. Defaults to `0n`.
* @param options.max Upper bound for generated bigint. Defaults to `min + 999999999999999n`.
*
- * @throws When options define `max < min`.
+ * @throws When `min` is greater than `max`.
*
* @example
* faker.number.bigInt() // 55422n
diff --git a/test/modules/datatype.spec.ts b/test/modules/datatype.spec.ts
index b4d154f4..3d65797d 100644
--- a/test/modules/datatype.spec.ts
+++ b/test/modules/datatype.spec.ts
@@ -232,6 +232,12 @@ describe('datatype', () => {
new FakerError(`Max ${max} should be greater than min ${min}.`)
);
});
+
+ it('should throw when precision is negative', () => {
+ expect(() => {
+ faker.datatype.number({ precision: -0.01 });
+ }).toThrow(new FakerError('Precision should be greater than 0.'));
+ });
});
describe('float', () => {
@@ -306,6 +312,23 @@ describe('datatype', () => {
expect(opts.min).toBe(min);
expect(opts.max).toBe(max);
});
+
+ it('should throw when min > max', () => {
+ const min = 10;
+ const max = 9;
+
+ expect(() => {
+ faker.datatype.number({ min, max });
+ }).toThrow(
+ new FakerError(`Max ${max} should be greater than min ${min}.`)
+ );
+ });
+
+ it('should throw when precision is negative', () => {
+ expect(() => {
+ faker.datatype.float({ precision: -0.01 });
+ }).toThrow(new FakerError('Precision should be greater than 0.'));
+ });
});
describe('datetime', () => {
diff --git a/test/modules/number.spec.ts b/test/modules/number.spec.ts
index 699200b2..97061d56 100644
--- a/test/modules/number.spec.ts
+++ b/test/modules/number.spec.ts
@@ -305,7 +305,7 @@ describe('number', () => {
return [...str].every((char) => char === '0' || char === '1');
}
- it('enerates single binary character when no additional argument was provided', () => {
+ it('generates single binary character when no additional argument was provided', () => {
const binary = faker.number.binary();
expect(binary).toBeTypeOf('string');
@@ -345,6 +345,14 @@ describe('number', () => {
new FakerError(`Max ${max} should be greater than min ${min}.`)
);
});
+
+ it('should throw when there is no integer between min and max', () => {
+ expect(() => {
+ faker.number.binary({ min: 2.1, max: 2.9 });
+ }).toThrow(
+ new FakerError(`No integer value between 2.1 and 2.9 found.`)
+ );
+ });
});
describe('octal', () => {
@@ -388,6 +396,14 @@ describe('number', () => {
new FakerError(`Max ${max} should be greater than min ${min}.`)
);
});
+
+ it('should throw when there is no integer between min and max', () => {
+ expect(() => {
+ faker.number.octal({ min: 2.1, max: 2.9 });
+ }).toThrow(
+ new FakerError(`No integer value between 2.1 and 2.9 found.`)
+ );
+ });
});
describe('hex', () => {
@@ -428,6 +444,14 @@ describe('number', () => {
new FakerError(`Max ${max} should be greater than min ${min}.`)
);
});
+
+ it('should throw when there is no integer between min and max', () => {
+ expect(() => {
+ faker.number.hex({ min: 2.1, max: 2.9 });
+ }).toThrow(
+ new FakerError(`No integer value between 2.1 and 2.9 found.`)
+ );
+ });
});
describe('bigInt', () => {