fix(#1212): require bulk completion evidence

This commit is contained in:
M57 committed 2026-09-22 08:37:49 +03:00
1 parent 9f16ba2929
commit 98c417ae84
4 files changed
+109 -7

No files matched your search

@@ -510,7 +510,7 @@ class KanbanMutationTest {
testDispatcher.scheduler.advanceUntilIdle()
var reportedFailed: Set<String>? = null
vm.bulkMove(listOf("t_1", "t_2"), "done") { failed ->
vm.bulkMove(listOf("t_1", "t_2"), "done", summary = "Finished selected tasks") { failed ->
reportedFailed = failed
}
testDispatcher.scheduler.advanceUntilIdle()
@@ -565,18 +565,45 @@ class KanbanMutationTest {
vm.selectBoard(board)
testDispatcher.scheduler.advanceUntilIdle()
vm.bulkMove(listOf("t_1", "t_2"), "done")
vm.bulkMove(listOf("t_1", "t_2"), "done", summary = "Finished selected tasks")
testDispatcher.scheduler.advanceUntilIdle()
coVerify {
mockRepository.bulkTasks(
"dev",
match { it.ids == listOf("t_1", "t_2") && it.status == "done" },
match {
it.ids == listOf("t_1", "t_2") &&
it.status == "done" &&
it.summary == "Finished selected tasks" &&
it.result == "Finished selected tasks"
},
)
}
assertEquals("Moved 2 tasks to done", vm.uiState.value.toastMessage)
}
@Test
fun testBulkMoveToDoneRejectsEmptyCompletionEvidence() =
runTest(testDispatcher) {
val board = KanbanBoard(id = "dev", name = "Dev")
coEvery { mockRepository.getBoard("dev") } returns
NetworkResult.Success(KanbanBoardResponse(columns = listOf(KanbanColumn("done", emptyList()))))
val vm = createViewModel()
vm.selectBoard(board)
testDispatcher.scheduler.advanceUntilIdle()
var reportedFailed: Set<String>? = null
vm.bulkMove(listOf("t_1", "t_2"), "done", summary = " ") { failed ->
reportedFailed = failed
}
testDispatcher.scheduler.advanceUntilIdle()
coVerify(exactly = 0) { mockRepository.bulkTasks(any(), any()) }
assertEquals(setOf("t_1", "t_2"), reportedFailed)
assertEquals("Completion summary is required", vm.uiState.value.toastMessage)
}
@Test
fun testBulkArchiveTasksSuccess() =
runTest(testDispatcher) {