Skip to content

Commit c807aff

Browse files
committed
add more tests
1 parent 01d9d7e commit c807aff

File tree

5 files changed

+978
-6
lines changed

5 files changed

+978
-6
lines changed

buildSrc/src/main/kotlin/com/example/util/simpletimetracker/Deps.kt

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -112,6 +112,8 @@ object Deps {
112112
"junit:junit:${Versions.junit}"
113113
const val mockito =
114114
"org.mockito:mockito-core:${Versions.mockito}"
115+
const val mockitoKotlin =
116+
"org.mockito.kotlin:mockito-kotlin:${Versions.mockitoKotlin}"
115117
const val coroutines =
116118
"org.jetbrains.kotlinx:kotlinx-coroutines-test:${Versions.coroutinesTest}"
117119
}

buildSrc/src/main/kotlin/com/example/util/simpletimetracker/Versions.kt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -46,5 +46,6 @@ object Versions {
4646
const val junitUi = "1.1.4"
4747
const val espresso = "3.5.0"
4848
const val mockito = "5.14.2"
49+
const val mockitoKotlin = "5.4.0"
4950
const val coroutinesTest = "1.7.1"
5051
}

domain/build.gradle.kts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,5 +17,5 @@ dependencies {
1717
api(Deps.kotlin)
1818

1919
testImplementation(Deps.Test.junit)
20-
testImplementation(Deps.Test.mockito)
20+
testImplementation(Deps.Test.mockitoKotlin)
2121
}

domain/src/main/java/com/example/util/simpletimetracker/domain/interactor/AddRunningRecordMediator.kt

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@ import com.example.util.simpletimetracker.domain.model.RecordDataSelectionDialog
55
import com.example.util.simpletimetracker.domain.model.RecordType
66
import com.example.util.simpletimetracker.domain.model.ResultContainer
77
import com.example.util.simpletimetracker.domain.model.RunningRecord
8+
import com.example.util.simpletimetracker.domain.provider.CurrentTimestampProvider
89
import java.util.concurrent.TimeUnit
910
import javax.inject.Inject
1011

@@ -22,6 +23,7 @@ class AddRunningRecordMediator @Inject constructor(
2223
private val pomodoroStartInteractor: PomodoroStartInteractor,
2324
private val complexRuleProcessActionInteractor: ComplexRuleProcessActionInteractor,
2425
private val updateExternalViewsInteractor: UpdateExternalViewsInteractor,
26+
private val currentTimestampProvider: CurrentTimestampProvider,
2527
) {
2628

2729
/**
@@ -54,9 +56,6 @@ class AddRunningRecordMediator @Inject constructor(
5456
}
5557
}
5658

57-
// TODO test retroactive mode
58-
// TODO test several prev records at the same time, merge accordingly.
59-
// TODO test retroactive multitask
6059
suspend fun startTimer(
6160
typeId: Long,
6261
tagIds: List<Long>,
@@ -65,14 +64,17 @@ class AddRunningRecordMediator @Inject constructor(
6564
updateNotificationSwitch: Boolean = true,
6665
checkDefaultDuration: Boolean = true,
6766
) {
68-
val currentTime = System.currentTimeMillis()
67+
val currentTime = currentTimestampProvider.get()
6968
val actualTimeStarted = when (timeStarted) {
7069
is StartTime.Current -> timeStarted.currentTimeStampMs
7170
is StartTime.TakeCurrent -> currentTime
7271
is StartTime.Timestamp -> timeStarted.timestampMs
7372
}
7473
val retroactiveTrackingMode = prefsInteractor.getRetroactiveTrackingMode()
75-
val actualPrevRecords = if (retroactiveTrackingMode) {
74+
val actualPrevRecords = if (
75+
retroactiveTrackingMode ||
76+
complexRuleProcessActionInteractor.hasRules()
77+
) {
7678
recordInteractor.getAllPrev(actualTimeStarted)
7779
} else {
7880
emptyList()

0 commit comments

Comments
 (0)