diff options
| author | Bruno Leite <[email protected]> | 2024-10-10 13:08:57 -0300 |
|---|---|---|
| committer | GitHub <[email protected]> | 2024-10-10 18:08:57 +0200 |
| commit | 5b1c8588f8a57be712e64434f7b17a8407a4f465 (patch) | |
| tree | 0e59657cb03f9827b7165bbfc3053ec4867a1016 /test/modules | |
| parent | 2f93d9da383638b6d232ff8b3cae827ea4c80150 (diff) | |
| download | faker-5b1c8588f8a57be712e64434f7b17a8407a4f465.tar.xz faker-5b1c8588f8a57be712e64434f7b17a8407a4f465.zip | |
feat(string): adds support for generating ULID (#2524)
Diffstat (limited to 'test/modules')
| -rw-r--r-- | test/modules/__snapshots__/string.spec.ts.snap | 18 | ||||
| -rw-r--r-- | test/modules/string.spec.ts | 27 |
2 files changed, 45 insertions, 0 deletions
diff --git a/test/modules/__snapshots__/string.spec.ts.snap b/test/modules/__snapshots__/string.spec.ts.snap index 31e4c28d..099c2196 100644 --- a/test/modules/__snapshots__/string.spec.ts.snap +++ b/test/modules/__snapshots__/string.spec.ts.snap @@ -164,6 +164,12 @@ exports[`string > 42 > symbol > with length parameter 5`] = `">%*,/"`; exports[`string > 42 > symbol > with length range 1`] = `"}\\>%%"\`>[!~_'&"`; +exports[`string > 42 > ulid > with Date refDate 1`] = `"01EZ2S259ZBYQK441VKP0ZT655"`; + +exports[`string > 42 > ulid > with number refDate 1`] = `"01EZ2S259ZBYQK441VKP0ZT655"`; + +exports[`string > 42 > ulid > with string refDate 1`] = `"01EZ2S259ZBYQK441VKP0ZT655"`; + exports[`string > 42 > uuid 1`] = `"5fb9220d-9b0f-4d32-a248-6492457c3890"`; exports[`string > 42 > uuid 2`] = `"21ffc41a-7170-4e4a-9488-2fcfe9e13056"`; @@ -338,6 +344,12 @@ exports[`string > 1211 > symbol > with length parameter 5`] = `"~]-|<"`; exports[`string > 1211 > symbol > with length range 1`] = `"{(~@@],[_]?_.\`\`'=',~"`; +exports[`string > 1211 > ulid > with Date refDate 1`] = `"01EZ2S259ZXW7ZNNRBPTRMTDVV"`; + +exports[`string > 1211 > ulid > with number refDate 1`] = `"01EZ2S259ZXW7ZNNRBPTRMTDVV"`; + +exports[`string > 1211 > ulid > with string refDate 1`] = `"01EZ2S259ZXW7ZNNRBPTRMTDVV"`; + exports[`string > 1211 > uuid 1`] = `"ee3faac5-bdca-4d6d-9d39-35fc6e8f34b8"`; exports[`string > 1211 > uuid 2`] = `"d64428b2-b736-43d9-970b-2b4c8739d1d7"`; @@ -512,6 +524,12 @@ exports[`string > 1337 > symbol > with length parameter 5`] = `"]'*@:"`; exports[`string > 1337 > symbol > with length range 1`] = `"&)/+;)~\\$-?%"`; +exports[`string > 1337 > ulid > with Date refDate 1`] = `"01EZ2S259Z858EAG8ZQ3CM4ZES"`; + +exports[`string > 1337 > ulid > with number refDate 1`] = `"01EZ2S259Z858EAG8ZQ3CM4ZES"`; + +exports[`string > 1337 > ulid > with string refDate 1`] = `"01EZ2S259Z858EAG8ZQ3CM4ZES"`; + exports[`string > 1337 > uuid 1`] = `"4247584f-b16a-42f7-8cc5-69c34a72638d"`; exports[`string > 1337 > uuid 2`] = `"f6880bf2-25b0-450c-a5b7-fd99f401ff75"`; diff --git a/test/modules/string.spec.ts b/test/modules/string.spec.ts index 22fa8aeb..7b3be347 100644 --- a/test/modules/string.spec.ts +++ b/test/modules/string.spec.ts @@ -113,6 +113,16 @@ describe('string', () => { t.itRepeated('uuid', 5); + t.describe('ulid', (t) => { + const ulidRefDate = '2021-02-21T17:09:15.711Z'; + + t.it('with string refDate', { refDate: ulidRefDate }) + .it('with Date refDate', { refDate: new Date(ulidRefDate) }) + .it('with number refDate', { + refDate: new Date(ulidRefDate).getTime(), + }); + }); + t.describe('nanoid', (t) => { t.itRepeated('noArgs', 5) .it('with length parameter', 30) @@ -750,6 +760,23 @@ describe('string', () => { }); }); + describe(`ulid`, () => { + it.each(['invalid', Number.NaN, new Date(Number.NaN)] as const)( + 'should reject invalid refDates %s', + (refDate) => { + expect(() => faker.string.ulid({ refDate })).toThrow( + new FakerError(`Invalid refDate date: ${refDate.toString()}`) + ); + } + ); + + it('generates a valid ULID', () => { + const ulid = faker.string.ulid(); + const regex = /^[0-7][0-9A-HJKMNP-TV-Z]{25}$/; + expect(ulid).toMatch(regex); + }); + }); + describe(`nanoid`, () => { it('generates a valid Nano ID', () => { const id = faker.string.nanoid(); |
