Skip to content

Commit

Permalink
docs: add missing throw descriptions in JSDocs (#2560)
Browse files Browse the repository at this point in the history
  • Loading branch information
xDivisionByZerox authored Dec 4, 2023
1 parent 505f659 commit 9459f2d
Show file tree
Hide file tree
Showing 4 changed files with 65 additions and 7 deletions.
6 changes: 5 additions & 1 deletion src/modules/datatype/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -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.
Expand Down Expand Up @@ -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
Expand Down
17 changes: 12 additions & 5 deletions src/modules/number/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -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).
*
Expand Down Expand Up @@ -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
Expand Down Expand Up @@ -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).
*
Expand Down Expand Up @@ -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).
*
Expand Down Expand Up @@ -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'
Expand Down Expand Up @@ -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
Expand Down
23 changes: 23 additions & 0 deletions test/modules/datatype.spec.ts
Original file line number Diff line number Diff line change
Expand Up @@ -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', () => {
Expand Down Expand Up @@ -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', () => {
Expand Down
26 changes: 25 additions & 1 deletion test/modules/number.spec.ts
Original file line number Diff line number Diff line change
Expand Up @@ -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');
Expand Down Expand Up @@ -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', () => {
Expand Down Expand Up @@ -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', () => {
Expand Down Expand Up @@ -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', () => {
Expand Down

0 comments on commit 9459f2d

Please sign in to comment.