mirror of
https://github.com/immich-app/immich.git
synced 2026-05-18 03:10:24 +03:00
60 lines
1.6 KiB
TypeScript
60 lines
1.6 KiB
TypeScript
import { UserAdminCreateSchema, UserUpdateMeSchema } from 'src/dtos/user.dto';
|
|
|
|
describe('update user DTO', () => {
|
|
it('should allow emails without a tld', () => {
|
|
const someEmail = 'test@test';
|
|
const result = UserUpdateMeSchema.safeParse({
|
|
email: someEmail,
|
|
id: '3fe388e4-2078-44d7-b36c-39d9dee3a657',
|
|
});
|
|
expect(result.success).toBe(true);
|
|
expect(result.data?.email).toEqual(someEmail);
|
|
});
|
|
});
|
|
|
|
describe('create user DTO', () => {
|
|
it('validates the email', () => {
|
|
expect(UserAdminCreateSchema.safeParse({ password: 'password', name: 'name' }).success).toBe(false);
|
|
|
|
expect(
|
|
UserAdminCreateSchema.safeParse({ email: 'invalid email', password: 'password', name: 'name' }).success,
|
|
).toBe(false);
|
|
|
|
const result = UserAdminCreateSchema.safeParse({
|
|
email: 'valid@email.com',
|
|
password: 'password',
|
|
name: 'name',
|
|
});
|
|
expect(result.success).toBe(true);
|
|
});
|
|
|
|
it('validates invalid email type', () => {
|
|
expect(
|
|
UserAdminCreateSchema.safeParse({
|
|
email: [],
|
|
password: 'some password',
|
|
name: 'some name',
|
|
}).success,
|
|
).toBe(false);
|
|
|
|
expect(
|
|
UserAdminCreateSchema.safeParse({
|
|
email: {},
|
|
password: 'some password',
|
|
name: 'some name',
|
|
}).success,
|
|
).toBe(false);
|
|
});
|
|
|
|
it('should allow emails without a tld', () => {
|
|
const someEmail = 'test@test';
|
|
const result = UserAdminCreateSchema.safeParse({
|
|
email: someEmail,
|
|
password: 'some password',
|
|
name: 'some name',
|
|
});
|
|
expect(result.success).toBe(true);
|
|
expect(result.data?.email).toEqual(someEmail);
|
|
});
|
|
});
|