[PRC-001] Alinear FluentValidation PricePerUnit con opt-in billing (permitir 0) #57

Closed
opened 2026-04-21 15:59:02 +00:00 by dmolinari · 1 comment
Owner

W4 del verify-report-v2: el DB check constraint pasó de > 0 a >= 0 (CK_Price_NonNegative) para permitir seed global en 0. Verificar que el validator de FluentValidation en CreateChargeableCharConfigCommandValidator permita PricePerUnit >= 0 (o documentar explícitamente la diferencia: DB permite 0, API rechaza 0 si el negocio lo quiere así).

W4 del verify-report-v2: el DB check constraint pasó de `> 0` a `>= 0` (CK_Price_NonNegative) para permitir seed global en 0. Verificar que el validator de FluentValidation en `CreateChargeableCharConfigCommandValidator` permita `PricePerUnit >= 0` (o documentar explícitamente la diferencia: DB permite 0, API rechaza 0 si el negocio lo quiere así).
Author
Owner

Resuelto por PR #60 (commit 3e7c4bf).

Validator ahora permite PricePerUnit >= 0, consistente con CK_ChargeableCharConfig_Price_NonNegative de V023.

Cambio: CreateChargeableCharConfigCommandValidator.PricePerUnit: GreaterThan(0m)GreaterThanOrEqualTo(0m). Mensaje actualizado: "PricePerUnit debe ser >= 0. Usá 0 para desactivar el cobro de este símbolo (opt-in billing)."

Tests: PricePerUnit_Zero_Passes_OptInBilling (antes era _FailsValidation), negativos siguen rechazados. E2E Post_InvalidPrice_Returns400ValidationFailure ahora usa -1 en lugar de 0.

Resuelto por PR #60 (commit `3e7c4bf`). Validator ahora permite `PricePerUnit >= 0`, consistente con `CK_ChargeableCharConfig_Price_NonNegative` de V023. **Cambio**: `CreateChargeableCharConfigCommandValidator.PricePerUnit`: `GreaterThan(0m)` → `GreaterThanOrEqualTo(0m)`. Mensaje actualizado: "PricePerUnit debe ser >= 0. Usá 0 para desactivar el cobro de este símbolo (opt-in billing)." **Tests**: `PricePerUnit_Zero_Passes_OptInBilling` (antes era `_FailsValidation`), negativos siguen rechazados. E2E `Post_InvalidPrice_Returns400ValidationFailure` ahora usa `-1` en lugar de `0`.
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: dmolinari/SIG-CM2.0#57