Spaces:
Sleeping
Sleeping
File size: 1,919 Bytes
cb43fbd | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 | import {
vacayAddHolidayCalendarRequestSchema,
vacayInviteRequestSchema,
vacayToggleEntryRequestSchema,
vacayAddYearRequestSchema,
} from './vacay.schema';
import { describe, it, expect } from 'vitest';
describe('vacayAddHolidayCalendarRequestSchema', () => {
it('requires a region; label/color/sort_order optional', () => {
expect(
vacayAddHolidayCalendarRequestSchema.safeParse({ region: 'DE-BY' })
.success,
).toBe(true);
expect(
vacayAddHolidayCalendarRequestSchema.safeParse({
region: 'DE-BY',
label: null,
}).success,
).toBe(true);
expect(vacayAddHolidayCalendarRequestSchema.safeParse({}).success).toBe(
false,
);
});
});
describe('vacayInviteRequestSchema', () => {
it('accepts a numeric or string user_id', () => {
expect(vacayInviteRequestSchema.safeParse({ user_id: 2 }).success).toBe(
true,
);
expect(vacayInviteRequestSchema.safeParse({ user_id: '2' }).success).toBe(
true,
);
expect(vacayInviteRequestSchema.safeParse({}).success).toBe(false);
});
});
describe('vacayToggleEntryRequestSchema', () => {
it('requires a date; target_user_id optional', () => {
expect(
vacayToggleEntryRequestSchema.safeParse({ date: '2026-07-01' }).success,
).toBe(true);
expect(
vacayToggleEntryRequestSchema.safeParse({
date: '2026-07-01',
target_user_id: 3,
}).success,
).toBe(true);
expect(vacayToggleEntryRequestSchema.safeParse({}).success).toBe(false);
});
});
describe('vacayAddYearRequestSchema', () => {
it('accepts a numeric or string year', () => {
expect(vacayAddYearRequestSchema.safeParse({ year: 2027 }).success).toBe(
true,
);
expect(vacayAddYearRequestSchema.safeParse({ year: '2027' }).success).toBe(
true,
);
expect(vacayAddYearRequestSchema.safeParse({}).success).toBe(false);
});
});
|