refactor: remove username from User model, login by email only
This commit is contained in:
@@ -83,7 +83,6 @@ describe("core schemas", () => {
|
||||
expect(
|
||||
updateUserSchema.safeParse({
|
||||
id: "user-id",
|
||||
username: "user",
|
||||
name: "User",
|
||||
email: "user@example.test",
|
||||
role: "ADMIN",
|
||||
@@ -94,7 +93,6 @@ describe("core schemas", () => {
|
||||
expect(
|
||||
updateUserSchema.safeParse({
|
||||
id: "",
|
||||
username: "user",
|
||||
name: "User",
|
||||
email: "user@example.test",
|
||||
role: "ADMIN",
|
||||
@@ -110,13 +108,13 @@ describe("core schemas", () => {
|
||||
)
|
||||
|
||||
expect(
|
||||
signInSchema.safeParse({ username: "admin", password: "abc" }).success,
|
||||
signInSchema.safeParse({ email: "admin@test.com", password: "abc" }).success,
|
||||
).toBe(true)
|
||||
expect(
|
||||
signInSchema.safeParse({ username: "", password: "abc" }).success,
|
||||
signInSchema.safeParse({ email: "", password: "abc" }).success,
|
||||
).toBe(false)
|
||||
expect(
|
||||
signInSchema.safeParse({ username: "admin", password: "ab" }).success,
|
||||
signInSchema.safeParse({ email: "admin@test.com", password: "ab" }).success,
|
||||
).toBe(false)
|
||||
})
|
||||
|
||||
@@ -152,7 +150,6 @@ describe("core schemas", () => {
|
||||
it("validates user password, email, and role", () => {
|
||||
expect(
|
||||
createUserSchema.safeParse({
|
||||
username: "user",
|
||||
name: "User",
|
||||
email: "user@example.test",
|
||||
password: "password1",
|
||||
@@ -163,7 +160,6 @@ describe("core schemas", () => {
|
||||
|
||||
expect(
|
||||
createUserSchema.safeParse({
|
||||
username: "user",
|
||||
name: "User",
|
||||
email: "bad-email",
|
||||
password: "password1",
|
||||
@@ -174,7 +170,6 @@ describe("core schemas", () => {
|
||||
|
||||
expect(
|
||||
createUserSchema.safeParse({
|
||||
username: "user",
|
||||
name: "User",
|
||||
email: "user@example.test",
|
||||
password: "short",
|
||||
@@ -185,7 +180,6 @@ describe("core schemas", () => {
|
||||
|
||||
expect(
|
||||
createUserSchema.safeParse({
|
||||
username: "user",
|
||||
name: "User",
|
||||
email: "user@example.test",
|
||||
password: "password1",
|
||||
|
||||
@@ -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)
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user