Spaces:
Sleeping
Sleeping
| import { | |
| fileUpdateRequestSchema, | |
| fileLinkRequestSchema, | |
| photoVariantSchema, | |
| } from './file.schema'; | |
| import { describe, it, expect } from 'vitest'; | |
| describe('fileUpdateRequestSchema', () => { | |
| it('accepts optional metadata, nullable ids, an empty body', () => { | |
| expect( | |
| fileUpdateRequestSchema.safeParse({ description: 'doc', place_id: 3 }) | |
| .success, | |
| ).toBe(true); | |
| expect( | |
| fileUpdateRequestSchema.safeParse({ place_id: null, reservation_id: '7' }) | |
| .success, | |
| ).toBe(true); | |
| expect(fileUpdateRequestSchema.safeParse({}).success).toBe(true); | |
| }); | |
| }); | |
| describe('fileLinkRequestSchema', () => { | |
| it('accepts any subset of reservation/assignment/place ids', () => { | |
| expect(fileLinkRequestSchema.safeParse({ reservation_id: 1 }).success).toBe( | |
| true, | |
| ); | |
| expect( | |
| fileLinkRequestSchema.safeParse({ assignment_id: '2', place_id: null }) | |
| .success, | |
| ).toBe(true); | |
| expect(fileLinkRequestSchema.safeParse({}).success).toBe(true); | |
| }); | |
| }); | |
| describe('photoVariantSchema', () => { | |
| it('only allows thumbnail or original', () => { | |
| expect(photoVariantSchema.safeParse('thumbnail').success).toBe(true); | |
| expect(photoVariantSchema.safeParse('original').success).toBe(true); | |
| expect(photoVariantSchema.safeParse('full').success).toBe(false); | |
| }); | |
| }); | |