Skip to content

Commit 7fd63fe

Browse files
author
Gerrit Garbereder
committed
Improve test coverage for usecases
1 parent 5dd4064 commit 7fd63fe

File tree

4 files changed

+47
-4
lines changed

4 files changed

+47
-4
lines changed
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
package com.garbereder.tasktracker.usecases.tasks
2+
3+
import com.garbereder.tasktracker.entities.Task
4+
import com.garbereder.tasktracker.entities.TaskCollection
5+
import com.garbereder.tasktracker.usecases.UseCases
6+
import io.mockative.Mock
7+
import io.mockative.classOf
8+
import io.mockative.given
9+
import io.mockative.mock
10+
import io.mockative.once
11+
import io.mockative.thenDoNothing
12+
import io.mockative.verify
13+
import kotlin.test.Test
14+
15+
class AddTaskDurationTests {
16+
@Mock
17+
val collection = mock(classOf<TaskCollection>())
18+
19+
@Test
20+
fun addDuration() {
21+
val task = Task("TaskName", 0)
22+
val task2 = Task("TaskName", 5)
23+
given(collection).invocation { replace(task2) }
24+
.thenDoNothing()
25+
26+
UseCases.createUseCasesFromReaders(object : TaskCollectionReader {
27+
override fun read(): TaskCollection = collection
28+
}).createAddTaskDuration(task, 5).invoke()
29+
30+
verify(collection).invocation { replace(task2) }
31+
.wasInvoked(exactly = once)
32+
}
33+
}

Task-Tracker-Usecases/src/commonTest/kotlin/com/garbereder/tasktracker/usecases/tasks/AddTaskTests.kt

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@ package com.garbereder.tasktracker.usecases.tasks
22

33
import com.garbereder.tasktracker.entities.Task
44
import com.garbereder.tasktracker.entities.TaskCollection
5+
import com.garbereder.tasktracker.usecases.UseCases
56
import io.mockative.Mock
67
import io.mockative.classOf
78
import io.mockative.given
@@ -17,11 +18,13 @@ class AddTaskTests {
1718

1819
@Test
1920
fun addOneEntry() {
20-
val task = Task("TaskName", 0L)
21+
val task = Task("TaskName", 0)
2122
given(collection).invocation { add(task) }
2223
.thenDoNothing()
2324

24-
AddTask(collection, "TaskName").invoke()
25+
UseCases.createUseCasesFromReaders(object : TaskCollectionReader {
26+
override fun read(): TaskCollection = collection
27+
}).createAddTask("TaskName").invoke()
2528

2629
verify(collection).invocation { add(task) }
2730
.wasInvoked(exactly = once)

Task-Tracker-Usecases/src/commonTest/kotlin/com/garbereder/tasktracker/usecases/tasks/ListTasksTests.kt

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@ package com.garbereder.tasktracker.usecases.tasks
22

33
import com.garbereder.tasktracker.entities.Task
44
import com.garbereder.tasktracker.entities.TaskCollection
5+
import com.garbereder.tasktracker.usecases.UseCases
56
import io.mockative.Mock
67
import io.mockative.classOf
78
import io.mockative.given
@@ -26,7 +27,9 @@ class ListTasksTests {
2627
given(collection).invocation { iterator() }
2728
.then { tasks.iterator() }
2829

29-
val it = ListTasks(collection).invoke()
30+
val it = UseCases.createUseCasesFromReaders(object : TaskCollectionReader {
31+
override fun read(): TaskCollection = collection
32+
}).createListTasks().invoke()
3033

3134
verify(collection).invocation { iterator() }
3235
.wasInvoked(exactly = once)

Task-Tracker-Usecases/src/commonTest/kotlin/com/garbereder/tasktracker/usecases/tasks/RemoveTaskTest.kt

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@ package com.garbereder.tasktracker.usecases.tasks
22

33
import com.garbereder.tasktracker.entities.Task
44
import com.garbereder.tasktracker.entities.TaskCollection
5+
import com.garbereder.tasktracker.usecases.UseCases
56
import io.mockative.Mock
67
import io.mockative.classOf
78
import io.mockative.given
@@ -20,7 +21,10 @@ class RemoveTaskTest {
2021
val task = Task("TaskName", 0L)
2122
given(collection).invocation { remove(task) }
2223
.thenDoNothing()
23-
RemoveTask(collection, task).invoke()
24+
25+
UseCases.createUseCasesFromReaders(object : TaskCollectionReader {
26+
override fun read(): TaskCollection = collection
27+
}).createRemoveTask(task).invoke()
2428

2529
verify(collection).invocation { remove(task) }
2630
.wasInvoked(exactly = once)

0 commit comments

Comments
 (0)