Files
stock-manager/tests/unit/actions/person.messages.test.ts
T

45 lines
1.3 KiB
TypeScript

import { describe, expect, it } from "vitest"
import { localizePersonFieldErrors } from "@/actions/person.messages"
const actionCopy = {
createSuccess: "Persona creada correctamente",
createFailure: "Error al crear la persona",
updateSuccess: "Persona actualizada correctamente",
updateFailure: "Error al actualizar la persona",
duplicateEmail: "El correo electrónico ya existe",
notFound: "Persona no encontrada",
}
describe("person action message localization", () => {
it("localizes known person field errors (email only, no username)", () => {
expect(
localizePersonFieldErrors(
{
email: ["Email already exists"],
},
actionCopy,
),
).toEqual({
email: [actionCopy.duplicateEmail],
})
})
it("keeps unknown messages unchanged", () => {
expect(
localizePersonFieldErrors(
{ firstName: ["Unexpected person issue"] },
actionCopy,
),
).toEqual({ firstName: ["Unexpected person issue"] })
})
it("returns undefined when errors are undefined", () => {
expect(localizePersonFieldErrors(undefined, actionCopy)).toBeUndefined()
})
it("returns undefined when errors are empty", () => {
expect(localizePersonFieldErrors({}, actionCopy)).toEqual({})
})
})