Skip to content

fix: schedule subject mapper - #14

Merged
code3743 merged 2 commits into
mainfrom
fix/schedule-subject-mapper
Sep 17, 2026
Merged

code3743 merged 2 commits into
mainfrom
fix/schedule-subject-mapper

Conversation

@code3743

Copy link
Copy Markdown
Owner

Descripción

  • Problema resuelto: ScheduleViewModel.build() tenía embebida una regla de negocio (filtrar materias canceladas o sin grupo asignado y mapearlas a ScheduleSubject) directamente en el ViewModel, en vez de vivir en una capa testeable y reutilizable.
  • Funcionalidad nueva: NewsView ahora soporta pull-to-refresh (RefreshIndicator), y el AppScaffold/lista vacía de noticias se ajustaron para que el scroll siempre sea posible (necesario para que el refresh funcione incluso con lista vacía).

Tipo de cambio

  • Bugfix (solución a un problema)
  • Nueva característica (se añade una funcionalidad)
  • Refactorización (cambio en el código que no afecta la funcionalidad)
  • Documentación (cambios en la documentación)
  • Otro (especificar):

¿Cómo se ha probado esto?

  • Pruebas unitarias
  • Pruebas de integración
  • Pruebas manuales

Checklist

  • He revisado mi código.
  • He escrito pruebas que verifican mis cambios.
  • He incluido documentación actualizada para los cambios.
  • Todos los tests existentes siguen pasando.
  • Este cambio requiere una actualización en la documentación.
    • Sí
    • No

Screenshots (si aplica)

Comentarios adicionales

The isCanceled/group.isNotEmpty filter and Subject->ScheduleSubject
mapping was business logic inlined in the viewmodel's build(). Pulled
it into presentation/utils/schedule_subject_mapper.dart, following the
same pattern as schedule_day_agenda.dart, so the viewmodel is back to
pure orchestration.
@code3743 code3743 self-assigned this Sep 17, 2026
@code3743
code3743 merged commit 154e7ea into main Sep 17, 2026
2 checks passed
@code3743
code3743 deleted the fix/schedule-subject-mapper branch September 17, 2026 17:05
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