Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

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

Draft
wants to merge 2 commits into
base: main
Choose a base branch
from

Conversation

TextC0de
Copy link
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
Copy link

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
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant