refactor: rename remaining recipient references to person/people

This commit is contained in:
2026-06-16 13:34:15 +02:00
parent 29c7c19cd8
commit cf6820a7aa
33 changed files with 225 additions and 213 deletions
+1 -1
View File
@@ -13,7 +13,7 @@ const actionCopy = {
assignmentAlreadyReturned: "La asignación ya fue devuelta",
previousItemNotFound: "Artículo anterior no encontrado",
insufficientStock: "El artículo no tiene stock suficiente",
recipientRequired: "El destinatario es obligatorio",
personRequired: "La persona es obligatoria",
invalidStatus: "Estado inválido",
genericFailure: "Error al procesar el activo",
}
@@ -5,7 +5,7 @@ import { es } from "@/i18n/dictionaries/es"
const mocks = vi.hoisted(() => ({
getI18n: vi.fn(),
findAllRecipients: vi.fn(),
findAllPeople: vi.fn(),
findAllItemsWithStock: vi.fn(),
findAllAvailableAssets: vi.fn(),
findAllItems: vi.fn(),
@@ -25,7 +25,7 @@ vi.mock("@/i18n/server", () => ({
vi.mock("@/services/person.service", () => ({
PersonService: {
findAll: mocks.findAllRecipients,
findAll: mocks.findAllPeople,
},
}))
@@ -72,9 +72,9 @@ describe("assignment form pages localization", () => {
beforeEach(() => {
vi.clearAllMocks()
mocks.getI18n.mockResolvedValue({ dictionary: es, locale: "es" })
mocks.findAllRecipients.mockResolvedValue([
mocks.findAllPeople.mockResolvedValue([
{
id: "recipient-1",
id: "person-1",
firstName: "Ada",
lastName: "Lovelace",
},
@@ -122,10 +122,8 @@ describe("assignment form pages localization", () => {
const html = renderToStaticMarkup(await NewAssignmentPage())
expect(html).toContain("Nueva asignación")
expect(html).toContain("Destinatario")
expect(html).toContain(
'option value="">Selecciona un destinatario</option>',
)
expect(html).toContain("Persona")
expect(html).toContain('option value="">Selecciona una persona</option>')
expect(html).toContain("Artículo")
expect(html).toContain('option value="">Selecciona un artículo</option>')
expect(html).toContain("Cantidad")
@@ -142,7 +140,7 @@ describe("assignment form pages localization", () => {
mocks.findAssignmentById.mockResolvedValue({
id: "assignment-1",
recipientId: "recipient-1",
personId: "person-1",
itemId: "item-1",
assetId: "asset-1",
quantity: 1,
@@ -155,7 +153,7 @@ describe("assignment form pages localization", () => {
)
expect(html).toContain("Editar asignación")
expect(html).toContain("Destinatario")
expect(html).toContain("Persona")
expect(html).toContain("Artículo")
expect(html).toContain("Activo")
expect(html).toContain('option value="">Selecciona un activo</option>')
@@ -5,7 +5,7 @@ import { beforeEach, describe, expect, it, vi } from "vitest"
import { es } from "@/i18n/dictionaries/es"
const mocks = vi.hoisted(() => ({
findAllWithRecipientPaginated: vi.fn(),
findAllWithPersonPaginated: vi.fn(),
getI18n: vi.fn(),
refresh: vi.fn(),
returnAssignment: vi.fn(),
@@ -19,7 +19,7 @@ vi.mock("@/i18n/server", () => ({
vi.mock("@/services/assignment.service", () => ({
AssignmentService: {
findAllWithRecipientPaginated: mocks.findAllWithRecipientPaginated,
findAllWithPersonPaginated: mocks.findAllWithPersonPaginated,
},
}))
@@ -65,13 +65,13 @@ describe("assignment pages localization", () => {
"@/app/(dashboard)/assignments/page"
)
mocks.findAllWithRecipientPaginated.mockResolvedValue({
mocks.findAllWithPersonPaginated.mockResolvedValue({
data: [
{
id: "assignment-1",
quantity: 2,
recipient: {
id: "recipient-1",
person: {
id: "person-1",
firstName: "Ada",
lastName: "Lovelace",
},
@@ -93,7 +93,7 @@ describe("assignment pages localization", () => {
expect(html).toContain("Asignaciones")
expect(html).toContain("Agregar asignación")
expect(html).toContain("Destinatario")
expect(html).toContain("Persona")
expect(html).toContain("Artículo")
expect(html).toContain("Número de serie")
expect(html).toContain("Cantidad")
@@ -110,7 +110,7 @@ describe("assignment pages localization", () => {
"@/app/(dashboard)/assignments/page"
)
mocks.findAllWithRecipientPaginated.mockResolvedValue({
mocks.findAllWithPersonPaginated.mockResolvedValue({
data: [],
totalPages: 0,
})
@@ -68,7 +68,7 @@ describe("movement pages localization", () => {
createdAt: new Date("2026-06-13T00:00:00.000Z"),
item: { name: "Laptop" },
asset: { serialNumber: "SN-001" },
recipient: { firstName: "Ada", lastName: "Lovelace" },
person: { firstName: "Ada", lastName: "Lovelace" },
},
],
totalPages: 1,
@@ -83,7 +83,7 @@ describe("movement pages localization", () => {
expect(html).toContain("Artículo")
expect(html).toContain("Número de serie")
expect(html).toContain("Cantidad")
expect(html).toContain("Destinatario")
expect(html).toContain("Persona")
expect(html).toContain("Fecha")
expect(html).toContain("Asignación")
expect(html).toContain("Laptop")
+16 -16
View File
@@ -415,7 +415,7 @@ describe("i18n dictionaries", () => {
addLabel: "Add Assignment",
empty: "No assignments found.",
columns: {
recipient: "Recipient",
person: "Person",
item: "Item",
serialNumber: "Serial Number",
quantity: "Quantity",
@@ -434,8 +434,8 @@ describe("i18n dictionaries", () => {
notFound: "Assignment not found",
},
form: {
recipientLabel: "Recipient",
recipientPlaceholder: "Select a recipient",
personLabel: "Person",
personPlaceholder: "Select a person",
itemLabel: "Item",
itemPlaceholder: "Select an item",
assetLabel: "Asset",
@@ -465,7 +465,7 @@ describe("i18n dictionaries", () => {
genericFailure: "Error processing assignment",
},
schema: {
recipientRequired: "Recipient is required",
personRequired: "Person is required",
itemIdRequired: "Item is required",
quantityMinOne: "Quantity must be at least 1",
assetIdRequired: "Asset ID is required when item ID is provided",
@@ -479,7 +479,7 @@ describe("i18n dictionaries", () => {
addLabel: "Agregar asignación",
empty: "No se encontraron asignaciones.",
columns: {
recipient: "Destinatario",
person: "Persona",
item: "Artículo",
serialNumber: "Número de serie",
quantity: "Cantidad",
@@ -498,8 +498,8 @@ describe("i18n dictionaries", () => {
notFound: "Asignación no encontrada",
},
form: {
recipientLabel: "Destinatario",
recipientPlaceholder: "Selecciona un destinatario",
personLabel: "Persona",
personPlaceholder: "Selecciona una persona",
itemLabel: "Artículo",
itemPlaceholder: "Selecciona un artículo",
assetLabel: "Activo",
@@ -529,7 +529,7 @@ describe("i18n dictionaries", () => {
genericFailure: "Error al procesar la asignación",
},
schema: {
recipientRequired: "El destinatario es obligatorio",
personRequired: "La persona es obligatoria",
itemIdRequired: "El artículo es obligatorio",
quantityMinOne: "La cantidad debe ser al menos 1",
assetIdRequired:
@@ -572,8 +572,8 @@ describe("i18n dictionaries", () => {
deliveryNotePlaceholder: "Delivery note",
statusLabel: "Status",
statusPlaceholder: "Select a status",
recipientLabel: "Recipient",
recipientPlaceholder: "Select a recipient",
personLabel: "Person",
personPlaceholder: "Select a person",
createSubmit: "Create Asset",
updateSubmit: "Update Asset",
},
@@ -600,7 +600,7 @@ describe("i18n dictionaries", () => {
assignmentAlreadyReturned: "Assignment already returned",
previousItemNotFound: "Previous item not found for available asset",
insufficientStock: "Item does not have enough stock",
recipientRequired: "Recipient is required",
personRequired: "Person is required",
invalidStatus: "Invalid status",
genericFailure: "Error processing asset",
},
@@ -646,8 +646,8 @@ describe("i18n dictionaries", () => {
deliveryNotePlaceholder: "Remito",
statusLabel: "Estado",
statusPlaceholder: "Selecciona un estado",
recipientLabel: "Destinatario",
recipientPlaceholder: "Selecciona un destinatario",
personLabel: "Persona",
personPlaceholder: "Selecciona una persona",
createSubmit: "Crear activo",
updateSubmit: "Actualizar activo",
},
@@ -675,7 +675,7 @@ describe("i18n dictionaries", () => {
previousItemNotFound:
"Artículo anterior no encontrado para el activo disponible",
insufficientStock: "El artículo no tiene stock suficiente",
recipientRequired: "El destinatario es obligatorio",
personRequired: "La persona es obligatoria",
invalidStatus: "Estado inválido",
genericFailure: "Error al procesar el activo",
},
@@ -865,7 +865,7 @@ describe("i18n dictionaries", () => {
item: "Item",
serialNumber: "Serial Number",
quantity: "Quantity",
recipient: "Recipient",
person: "Person",
date: "Date",
},
},
@@ -899,7 +899,7 @@ describe("i18n dictionaries", () => {
item: "Artículo",
serialNumber: "Número de serie",
quantity: "Cantidad",
recipient: "Destinatario",
person: "Persona",
date: "Fecha",
},
},
+1 -1
View File
@@ -54,7 +54,7 @@ describe("asset schema localization", () => {
itemId: "item-1",
serialNumber: "SERIAL-1",
status: "ASSIGNED",
recipientId: "recipient-1",
personId: "person-1",
})
expect(createResult.success).toBe(true)
+9 -9
View File
@@ -6,7 +6,7 @@ import {
} from "@/schemas/assignment.schema"
const schemaCopy = {
recipientRequired: "El destinatario es obligatorio",
personRequired: "La persona es obligatoria",
itemIdRequired: "El artículo es obligatorio",
quantityMinOne: "La cantidad debe ser al menos 1",
assetIdRequired: "El activo es obligatorio cuando se especifica el artículo",
@@ -16,7 +16,7 @@ const schemaCopy = {
describe("assignment schema localization", () => {
it("uses localized create validation messages for missing required fields", () => {
const result = buildCreateAssignmentSchema(schemaCopy).safeParse({
recipientId: "",
personId: "",
quantity: 0,
})
@@ -24,7 +24,7 @@ describe("assignment schema localization", () => {
if (!result.success) {
const errors = result.error.flatten().fieldErrors
expect(errors.recipientId).toContain(schemaCopy.recipientRequired)
expect(errors.personId).toContain(schemaCopy.personRequired)
expect(errors.quantity).toContain(schemaCopy.quantityMinOne)
}
})
@@ -33,7 +33,7 @@ describe("assignment schema localization", () => {
const result = buildUpdateAssignmentSchema(schemaCopy).safeParse({
id: "",
itemId: "item-1",
recipientId: "recipient-1",
personId: "person-1",
quantity: 1,
assetId: "",
})
@@ -49,20 +49,20 @@ describe("assignment schema localization", () => {
it("preserves valid create and update payloads without errors", () => {
const createResult = buildCreateAssignmentSchema(schemaCopy).safeParse({
recipientId: "recipient-1",
personId: "person-1",
itemId: "item-1",
quantity: 2,
})
expect(createResult.success).toBe(true)
if (createResult.success) {
expect(createResult.data.recipientId).toBe("recipient-1")
expect(createResult.data.personId).toBe("person-1")
expect(createResult.data.quantity).toBe(2)
}
const updateResult = buildUpdateAssignmentSchema(schemaCopy).safeParse({
id: "assignment-1",
recipientId: "recipient-1",
personId: "person-1",
itemId: "item-1",
assetId: "asset-1",
quantity: 1,
@@ -76,7 +76,7 @@ describe("assignment schema localization", () => {
it("keeps optional assignment fields optional in create", () => {
const result = buildCreateAssignmentSchema(schemaCopy).safeParse({
recipientId: "recipient-1",
personId: "person-1",
quantity: 1,
})
@@ -86,7 +86,7 @@ describe("assignment schema localization", () => {
it("allows update without itemId when no assetId is required", () => {
const result = buildUpdateAssignmentSchema(schemaCopy).safeParse({
id: "assignment-1",
recipientId: "recipient-1",
personId: "person-1",
quantity: 1,
})
+2 -2
View File
@@ -21,7 +21,7 @@ describe("core schemas", () => {
expect(
createAssignmentSchema.safeParse({
itemId: "item-id",
recipientId: "recipient-id",
personId: "person-id",
quantity: "2",
}),
).toMatchObject({ success: true, data: { quantity: 2 } })
@@ -47,7 +47,7 @@ describe("core schemas", () => {
expect(
createAssignmentSchema.safeParse({
itemId: "item-id",
recipientId: "recipient-id",
personId: "person-id",
quantity: 0,
}).success,
).toBe(false)