Reference in New Issue
Block a user
Delete Branch "chore/prc-001-followups"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Resumen
Resuelve los 6 followups post-archive de PRC-001 (excepto #56 que queda para FAC-001).
TotalWords=0+ conteo por categoría es correctoWordCounterService.ContainsEmojiPricePerUnit >= 0(alineado conCK_Price_NonNegativede V023)ignoreDeprecations: "6.0"agregado (MSW handler ya existente, sin cambios necesarios)Cambios técnicos
Backend
src/api/SIGCM2.Domain/Pricing/WordCounter/WordCounterService.cs: nuevo método públicoContainsEmoji(string?)que reutilizaIsEmojiRunepara detección de emoji en cualquier string. Permite reuso desde validators.src/api/SIGCM2.Application/Pricing/ChargeableChars/Create/CreateChargeableCharConfigCommandValidator.cs:.Must(s => !WordCounterService.ContainsEmoji(s))con mensaje claro.GreaterThan(0m)→GreaterThanOrEqualTo(0m)con mensaje que documenta la semántica "0 = desactiva cobro (opt-in billing)".BD
database/migrations/V025__seed_chargeable_char_overrides_demo.sql: MERGE idempotente. Para cada uno de los 3 ProductTypes (Clasificado/Notables/Fúnebres), si existe activo, inserta overrides con precios ficticios. Si el tipo no existe, bloque correspondiente es no-op.V025_ROLLBACK.sql: elimina overrides demo preservando globales.database/README.md: V025 agregada al índice de migraciones.Frontend
src/web/tsconfig.json:"ignoreDeprecations": "6.0"para silenciar warning TS5101 (baseUrl deprecation en TS 6.x).Tests
tests/SIGCM2.Application.Tests/Pricing/ChargeableChars/CreateChargeableCharConfigCommandValidatorTests.cs:PricePerUnit_Zero_Passes_OptInBilling(antes_FailsValidation, ahora documenta la intención opt-in)Symbol_WithEmoji_FailsValidation—[Theory]con 5 emojis (😀 🚗 🔥 ❤️ ☀️)Symbol_WithoutEmoji_Passes—[Theory]con 8 plain symbolstests/SIGCM2.Api.Tests/Pricing/ChargeableChars/ChargeableCharConfigControllerTests.cs:Post_InvalidPrice_Returns400ValidationFailure: usa-1en lugar de0(ya que 0 es válido)Post_WithEmojiSymbol_Returns400(antes_Returns201_BecauseEmojiRejectionIsDeferred)Verify
dotnet test: 1659/1659 green (1310 Application + 349 Api)cd src/web && npx vitest run: 510/510 greencd src/web && npx tsc --noEmit: 0 errors, 0 warnings (TS5101 silenciado)Issues cerrados
Closes #52, #53, #54, #55, #57, #58.
Quedan abiertos:
[!important]del UDT doc + labelfollowup).