Files
directus/packages/random/src/sequence.test.ts
Rijk van Zanten 243fa71b12 New functions for @directus/random (#18668)
* Add array randomizer

* Add sequence randomizer

* Add barebones readme

* Rename randomIntBetween -> randomInteger

* Finish couple new randomizer functions

* Add basic tsdoc

* Add changeset

* Downgrade types/node
2023-05-19 17:21:39 -04:00

27 lines
781 B
TypeScript

import { beforeEach, test, expect } from 'vitest';
import { randomInteger } from './integer.js';
import { randomSequence } from './sequence.js';
import { randomArray } from './array.js';
let sample: {
length: number;
characters: string;
};
beforeEach(() => {
sample = {
length: randomInteger(0, 15),
characters: randomArray(['abcdefg', 'hijklmnop', 'qrstuvwxyz', '0123456789']),
};
});
test('Returns random sequence of given length', () => {
const output = randomSequence(sample.length, sample.characters);
expect(output.length).toBe(sample.length);
});
test('Only returns characters from given set', () => {
const output = randomSequence(sample.length, sample.characters);
output.split('').every((char) => expect(sample.characters.includes(char)).toBe(true));
});