Skip to content

[DRAFT] Refactorización de estados de UserTicket a enums y mejora de documentación#275

Draft
TextC0de wants to merge 2 commits into
mainfrom
textcode/user-ticket-enums-docs
Draft

[DRAFT] Refactorización de estados de UserTicket a enums y mejora de documentación#275
TextC0de wants to merge 2 commits into
mainfrom
textcode/user-ticket-enums-docs

Conversation

@TextC0de

Copy link
Copy Markdown
Collaborator

Este PR propone re-factorizar cómo manejamos los estados de los tickets de usuario (UserTicket).
Los principales cambios y ventajas que veo con este cambio son los siguientes:

  1. Introducción de enums: Se han creado UserTicketApprovalStatus y UserTicketRedemptionStatus reemplazando las cadenas de texto literales.

  2. Facilidad de navegación en el código:

    • Ahora es posible encontrar fácilmente todos los usos de cada estado utilizando CMD + click (o su equivalente) en el estado correspondiente, lo que mejora la capacidad de rastrear y entender el flujo de los estados.
  3. Documentación inline mejorada:

    • Los enums permiten añadir documentación directamente a cada estado, algo que no era posible con los strings constantes anteriores.
    • Esto facilita entender el propósito y uso de cada estado directamente en el código.
  4. Mantenimiento de la seguridad de tipos:

    • Aunque TypeScript ya proporcionaba seguridad de tipos y autocompletado con los strings constantes, los enums mantienen estas ventajas mientras añaden las mencionadas anteriormente.
  5. Actualización del código y pruebas:

    • Se ha actualizado el código en toda la base para utilizar estos nuevos enums.

Puntos para discusión:

Como verán definí una documentación inicial para cada estado pero no tengo claro cual era la idea con algunos estados como "rejected" o "gift_accepted", por lo que necesitaría de su ayuda para definir esa documentación.

- Replace string literals with UserTicketApprovalStatus and -UserTicketRedemptionStatus enums
- Update related code and tests to use new enum types
- Improve maintainability across user ticket handling
@github-actions

Copy link
Copy Markdown

Coverage Report

Status Category Percentage Covered / Total
🔵 Lines 79.99% 13780 / 17227
🔵 Statements 79.99% 13780 / 17227
🔵 Functions 75.14% 381 / 507
🔵 Branches 80.79% 1001 / 1239
File Coverage
File Stmts % Branch % Funcs % Lines Uncovered Lines
Changed Files
src/datasources/db/userTickets.ts 100% 100% 100% 100%
src/generated/types.ts 100% 100% 100% 100%
src/schema/events/eventsFetcher.ts 95.72% 93.33% 100% 95.72% 140-147
src/schema/events/types.ts 90.39% 86% 79.31% 90.39% 136-141, 146-152, 200-206, 288-290, 333-342, 361-362, 399-402
src/schema/invitations/mutations.ts 81.77% 79.16% 100% 81.77% 47-48, 97-102, 123-128, 145, 166-185
src/schema/purchaseOrder/actions.tsx 9.72% 100% 14.28% 9.72% 31-52, 55-143, 146-239, 242-310, 313-562, 565-653
src/schema/ticket/types.ts 84.61% 86.36% 92.85% 84.61% 82-105
src/schema/user/types.ts 76.62% 88.88% 73.33% 76.62% 64-65, 74-77, 83-99, 105-108, 120-146
src/schema/userTickets/helpers.ts 88.88% 79.48% 100% 88.88% 44-49, 54-59, 62-67, 85-90, 135-136, 163-164, 215-216, 250-251
src/schema/userTickets/mutations.ts 84.9% 67.36% 94.73% 84.9% 101-102, 148-149, 171-172, 213-214, 225-226, 237-238, 286-287, 298-303, 315-320, 323-328, 377-382, 397-402, 447, 454-455, 465-466, 489-492, 504-505, 511-539, 550, 573-574, 595-596, 642-647, 650-655
src/schema/userTickets/queries.ts 65.97% 100% 57.14% 65.97% 45-59, 77-105, 150-187
src/schema/userTickets/types.ts 90.62% 62.5% 80% 90.62% 49-50, 67-68, 80-81, 120-121, 127-128, 138-139, 145-146, 156-157, 163-164
src/schema/userTickets/userTicketFetcher.ts 100% 100% 100% 100%
src/tests/fixtures/index.ts 98.3% 82.38% 94.73% 98.3% 185-186, 203-204, 616, 790-794, 797, 801, 822-823
Generated in workflow #1173
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

1 participant