import { describe, it, expect } from 'vitest'; import { createFolderSchema, renameFolderSchema, moveFolderSchema, moveDocumentToFolderSchema, } from '@/lib/validators/document-folders'; describe('document-folder validators', () => { it('accepts a valid create payload', () => { expect(createFolderSchema.safeParse({ name: 'Deals', parentId: null }).success).toBe(true); expect( createFolderSchema.safeParse({ name: 'Q1', parentId: 'abc-123' }).success, ).toBe(true); }); it('rejects empty + over-long names', () => { expect(createFolderSchema.safeParse({ name: '', parentId: null }).success).toBe(false); expect( createFolderSchema.safeParse({ name: 'x'.repeat(201), parentId: null }).success, ).toBe(false); }); it('rejects whitespace-only names', () => { expect(createFolderSchema.safeParse({ name: ' ', parentId: null }).success).toBe(false); }); it('rename schema requires only name', () => { expect(renameFolderSchema.safeParse({ name: 'New' }).success).toBe(true); expect(renameFolderSchema.safeParse({ name: '' }).success).toBe(false); }); it('move schema accepts null parentId', () => { expect(moveFolderSchema.safeParse({ parentId: null }).success).toBe(true); expect(moveFolderSchema.safeParse({ parentId: 'abc' }).success).toBe(true); }); it('moveDocumentToFolderSchema accepts null folderId', () => { expect(moveDocumentToFolderSchema.safeParse({ folderId: null }).success).toBe(true); expect(moveDocumentToFolderSchema.safeParse({ folderId: 'abc' }).success).toBe(true); }); });