Skip to content

Commit 392c818

Browse files
Add test for referenceValue schema (#766)
1 parent dba330b commit 392c818

File tree

2 files changed

+21
-1
lines changed

2 files changed

+21
-1
lines changed

src/schemas/referenceValue.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ import {z} from 'zod'
22
import {schemaErrorMessage} from '../utilities/schemaErrorMessage'
33

44
export const referenceValue = z.string().refine(
5-
ref => /^{\w+\.(\w+\.|@\.)*(\w+|@)}$/.test(ref),
5+
ref => /^{\w+(\.\w+)*(\.\w+|\.@)}$/.test(ref),
66
ref => ({
77
message: schemaErrorMessage(
88
`Invalid reference: "${ref}"`,
+20
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
import {referenceValue} from './referenceValue'
2+
3+
describe('Schema: referenceValue', () => {
4+
it('returns success on valid reference', () => {
5+
expect(referenceValue.safeParse('{color.token}').success).toStrictEqual(true)
6+
expect(referenceValue.safeParse('{color.token.900}').success).toStrictEqual(true)
7+
expect(referenceValue.safeParse('{color.@}').success).toStrictEqual(true)
8+
})
9+
10+
it('fails on invalid reference', () => {
11+
expect(referenceValue.safeParse('color.token').success).toStrictEqual(false)
12+
expect(referenceValue.safeParse('{color}').success).toStrictEqual(false)
13+
expect(referenceValue.safeParse('{[email protected]}').success).toStrictEqual(false)
14+
expect(referenceValue.safeParse('{}').success).toStrictEqual(false)
15+
expect(referenceValue.safeParse('').success).toStrictEqual(false)
16+
expect(referenceValue.safeParse(100).success).toStrictEqual(false)
17+
expect(referenceValue.safeParse(false).success).toStrictEqual(false)
18+
expect(referenceValue.safeParse(undefined).success).toStrictEqual(false)
19+
})
20+
})

0 commit comments

Comments
 (0)