fix: prevent accidental subtask completion
This commit is contained in:
@@ -607,12 +607,24 @@ describe('task and habit row decoration', () => {
|
||||
expect(app).toContain('class="task-check"')
|
||||
expect(app.match(/class="task-check"/g)?.length).toBe(2)
|
||||
expect(app).toContain('class="task-check-mark"')
|
||||
expect(app).toContain('class="subtask-detail" @click="toggle(subtask)"')
|
||||
const subtaskRow = app.slice(app.indexOf('<div v-for="subtask in selectedTaskSubtasks"'), app.indexOf('</div><span v-if="!selectedTaskSubtasks.length"'))
|
||||
expect(subtaskRow).toContain('class="subtask-detail"')
|
||||
expect(subtaskRow).not.toMatch(/class="subtask-detail"[^>]*@click=/)
|
||||
expect(subtaskRow).toContain('class="check subtask-check"')
|
||||
expect(subtaskRow).toContain('@click="toggle(subtask)"')
|
||||
expect(css).toContain('.subtask-detail .subtask-check{width:44px;height:44px;flex:0 0 44px;')
|
||||
expect(css).toContain('.task-check{')
|
||||
expect(css).toContain('.task-check-mark{')
|
||||
expect(css).toContain('.task-check:focus-visible{')
|
||||
})
|
||||
|
||||
it('updates a nested subtask locally after its completion changes', () => {
|
||||
const updateBlock = app.slice(app.indexOf('function applyTaskUpdate'), app.indexOf('async function patchTask'))
|
||||
expect(updateBlock).toContain('subtasks: item.subtasks?.map')
|
||||
expect(updateBlock).toContain('subtask.id === task.id ? { ...subtask, ...updated } : subtask')
|
||||
expect(updateBlock).toContain('selectedTask.value.subtasks = selectedTask.value.subtasks.map')
|
||||
})
|
||||
|
||||
it('reconciles concurrent completion mutations without suppressing their feedback', () => {
|
||||
const toggleBlock = app.slice(app.indexOf('async function toggle(task: Task)'), app.indexOf('function isInteractiveTarget'))
|
||||
expect(toggleBlock).toContain('const completing = !task.completed')
|
||||
|
||||
Reference in New Issue
Block a user