test(TaskListScreen): add integration tests for filtered and overdue task states
All checks were successful
Build and Release to F-Droid / build-and-deploy (push) Successful in 10m30s
All checks were successful
Build and Release to F-Droid / build-and-deploy (push) Successful in 10m30s
- Covers empty states, celebration state, and scheduled/overdue task rendering - Verifies proper checkbox behavior for future tasks - Tests AppBar for sort dropdown, edit/delete actions, and calendar strip - Adds necessary test helpers and overrides for room-specific tasks
This commit is contained in:
@@ -104,3 +104,43 @@ final calendarDayProvider =
|
||||
);
|
||||
});
|
||||
});
|
||||
|
||||
/// Room-scoped calendar day state: tasks for the selected date within a room.
|
||||
///
|
||||
/// Mirrors [calendarDayProvider] but filters by [roomId].
|
||||
/// Uses the shared [selectedDateProvider] so date selection is consistent
|
||||
/// across HomeScreen and room views.
|
||||
final roomCalendarDayProvider =
|
||||
StreamProvider.autoDispose.family<CalendarDayState, int>((ref, roomId) {
|
||||
final db = ref.watch(appDatabaseProvider);
|
||||
final selectedDate = ref.watch(selectedDateProvider);
|
||||
final sortOption = ref.watch(sortPreferenceProvider);
|
||||
|
||||
final now = DateTime.now();
|
||||
final today = DateTime(now.year, now.month, now.day);
|
||||
final isToday = selectedDate == today;
|
||||
|
||||
final dayTasksStream =
|
||||
db.calendarDao.watchTasksForDateInRoom(selectedDate, roomId);
|
||||
|
||||
return dayTasksStream.asyncMap((dayTasks) async {
|
||||
final List<TaskWithRoom> overdueTasks;
|
||||
|
||||
if (isToday) {
|
||||
overdueTasks = await db.calendarDao
|
||||
.watchOverdueTasksInRoom(selectedDate, roomId)
|
||||
.first;
|
||||
} else {
|
||||
overdueTasks = const [];
|
||||
}
|
||||
|
||||
final totalTaskCount = await db.calendarDao.getTaskCountInRoom(roomId);
|
||||
|
||||
return CalendarDayState(
|
||||
selectedDate: selectedDate,
|
||||
dayTasks: _sortTasks(dayTasks, sortOption),
|
||||
overdueTasks: overdueTasks,
|
||||
totalTaskCount: totalTaskCount,
|
||||
);
|
||||
});
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user