refactor: remove username from User model, login by email only

This commit is contained in:
2026-06-16 16:18:42 +02:00
parent caf19575c6
commit 68c2983d36
30 changed files with 42 additions and 198 deletions
-11
View File
@@ -12,7 +12,6 @@ import {
} from "@/schemas/user.schema"
const esCopy: UserSchemaCopy = {
usernameRequired: "El usuario es obligatorio",
nameRequired: "El nombre es obligatorio",
emailInvalid: "Correo electrónico no válido",
passwordMinLength: "La contraseña debe tener al menos 8 caracteres",
@@ -20,7 +19,6 @@ const esCopy: UserSchemaCopy = {
}
const validCreateData = {
username: "admin",
name: "Admin User",
email: "admin@example.test",
password: "password1",
@@ -30,7 +28,6 @@ const validCreateData = {
const validUpdateData = {
id: "user-id",
username: "admin",
name: "Admin User",
email: "admin@example.test",
role: "ADMIN" as const,
@@ -40,7 +37,6 @@ const validUpdateData = {
describe("user schema localization", () => {
it("buildCreateUserSchema with default copy produces same validation as createUserSchema", () => {
const result = buildCreateUserSchema(defaultUserSchemaCopy).safeParse({
username: "",
name: "",
email: "bad",
password: "short",
@@ -51,7 +47,6 @@ describe("user schema localization", () => {
expect(result.success).toBe(false)
if (!result.success) {
const errors = result.error.flatten().fieldErrors
expect(errors.username).toContain("Username is required")
expect(errors.name).toContain("Name is required")
expect(errors.email).toContain("Invalid email")
expect(errors.password).toContain(
@@ -64,7 +59,6 @@ describe("user schema localization", () => {
it("buildCreateUserSchema with Spanish copy produces Spanish error messages", () => {
const result = buildCreateUserSchema(esCopy).safeParse({
username: "",
name: "",
email: "bad",
password: "short",
@@ -75,7 +69,6 @@ describe("user schema localization", () => {
expect(result.success).toBe(false)
if (!result.success) {
const errors = result.error.flatten().fieldErrors
expect(errors.username).toContain(esCopy.usernameRequired)
expect(errors.name).toContain(esCopy.nameRequired)
expect(errors.email).toContain(esCopy.emailInvalid)
expect(errors.password).toContain(esCopy.passwordMinLength)
@@ -85,7 +78,6 @@ describe("user schema localization", () => {
it("buildUpdateUserSchema with default copy produces same validation as updateUserSchema", () => {
const result = buildUpdateUserSchema(defaultUserSchemaCopy).safeParse({
id: "",
username: "",
name: "",
email: "bad",
role: "INVALID",
@@ -96,7 +88,6 @@ describe("user schema localization", () => {
if (!result.success) {
const errors = result.error.flatten().fieldErrors
expect(errors.id).toContain("User id is required")
expect(errors.username).toContain("Username is required")
expect(errors.name).toContain("Name is required")
expect(errors.email).toContain("Invalid email")
}
@@ -105,7 +96,6 @@ describe("user schema localization", () => {
it("buildUpdateUserSchema with Spanish copy produces Spanish error messages", () => {
const result = buildUpdateUserSchema(esCopy).safeParse({
id: "",
username: "",
name: "",
email: "bad",
role: "INVALID",
@@ -116,7 +106,6 @@ describe("user schema localization", () => {
if (!result.success) {
const errors = result.error.flatten().fieldErrors
expect(errors.id).toContain(esCopy.userIdRequired)
expect(errors.username).toContain(esCopy.usernameRequired)
expect(errors.name).toContain(esCopy.nameRequired)
expect(errors.email).toContain(esCopy.emailInvalid)
}