39 lines
1.0 KiB
TypeScript
39 lines
1.0 KiB
TypeScript
import { describe, expect, it } from "vitest"
|
|
|
|
import {
|
|
buildCreateCategorySchema,
|
|
buildUpdateCategorySchema,
|
|
} from "@/schemas/category.schema"
|
|
|
|
const schemaCopy = {
|
|
nameRequired: "El nombre es obligatorio y debe tener al menos 3 caracteres",
|
|
idRequired: "El ID es obligatorio",
|
|
}
|
|
|
|
describe("category schema localization", () => {
|
|
it("uses localized create validation messages", () => {
|
|
const result = buildCreateCategorySchema(schemaCopy).safeParse({ name: "" })
|
|
|
|
expect(result.success).toBe(false)
|
|
if (!result.success) {
|
|
expect(result.error.flatten().fieldErrors.name).toContain(
|
|
schemaCopy.nameRequired,
|
|
)
|
|
}
|
|
})
|
|
|
|
it("uses localized update identifier validation messages", () => {
|
|
const result = buildUpdateCategorySchema(schemaCopy).safeParse({
|
|
id: "",
|
|
name: "Hardware",
|
|
})
|
|
|
|
expect(result.success).toBe(false)
|
|
if (!result.success) {
|
|
expect(result.error.flatten().fieldErrors.id).toContain(
|
|
schemaCopy.idRequired,
|
|
)
|
|
}
|
|
})
|
|
})
|