feat: refine today progress overview
ci / gitleaks (push) Successful in 7s
ci / docker (push) Successful in 6m18s

This commit is contained in:
2026-09-08 14:22:01 +08:00
parent 0f8955e890
commit 32c0400d27
3 changed files with 75 additions and 17 deletions
+18 -4
View File
@@ -157,10 +157,20 @@ describe('task and habit row decoration', () => {
it('keeps Today as a low-noise dashboard with direct empty-state actions', () => {
expect(app).toContain('class="today-board"')
expect(app).toContain('todayOpenTasks')
expect(app).toContain('todayCompletedTasks')
expect(app).toContain('todayHabitProgress')
expect(app).toContain('习惯打卡')
expect(app).toContain('class="today-track today-task-track"')
expect(app).toContain('class="today-track today-habit-track"')
expect(app).toContain(':style="{ width: todayTaskProgressPercent }"')
expect(app).toContain(':style="{ width: todayHabitProgressPercent }"')
expect(app).toContain('async function loadTodayTaskSummary()')
expect(app).toContain('const token = ++todaySummaryLoadToken')
expect(app).toContain("params.set('completed', String(completed))")
expect(app).toContain('await Promise.all([summaryTotal(false), summaryTotal(true)])')
expect(app).toContain("if (activeView.value === 'today') await loadTodayTaskSummary()")
expect(app).toContain('任务 {{ todayTaskCompleted }} / {{ todayTaskTotal }}')
expect(app).toContain('习惯 {{ todayHabitProgress }}')
expect(app).toContain("scrollTodaySection('today-tasks')")
expect(app).toContain("scrollTodaySection('today-habits')")
expect(app).not.toContain('<div class="today-stat"')
expect(app).toContain('@summary="updateTodayHabitSummary"')
expect(mvpPanel).toContain("summary: [value: { total: number; completed: number }]")
expect(mvpPanel).toContain('const todayHabitSummary = computed')
@@ -171,6 +181,10 @@ describe('task and habit row decoration', () => {
expect(mvpPanel).toContain('class="empty-panel today-empty-panel"')
expect(mvpPanel).toContain('添加习惯')
expect(css).toContain('.today-board{')
expect(css).toContain('.today-track{')
expect(css).toContain('.today-track-fill{')
expect(css).toContain('.today-habit-track .today-track-fill{')
expect(css).not.toContain('.today-stat{')
expect(css).toContain('.today-summary-grid{')
expect(css).toContain('.empty-action{')
})