feat(core-reminders): ReminderOverride.minutesOrEmpty

This commit is contained in:
makiolaj committed 2026-10-15 16:50:51 +02:00
1 parent d4970ba2bc
commit 1cc7f8f71d
3 files changed
+12

No files matched your search

@@ -19,6 +19,9 @@ sealed interface ReminderOverride {
data class Minutes(val minutes: List<Int>) : ReminderOverride
}
/** The lead times of a [ReminderOverride.Minutes]; empty for [ReminderOverride.Inherit] and [ReminderOverride.None]. */
fun ReminderOverride.minutesOrEmpty(): List<Int> = (this as? ReminderOverride.Minutes)?.minutes.orEmpty()
/** Distinct, ascending lead times — the canonical form stored and resolved. */
fun List<Int>.normalizeReminders(): List<Int> = distinct().sorted()
@@ -64,4 +64,11 @@ class ReminderModelTest {
assertThat(reminderOverrideForMinutes(emptyList(), allowInherit = false))
.isEqualTo(ReminderOverride.None)
}
@Test
fun `minutesOrEmpty reads the lead times and is empty otherwise`() {
assertThat(ReminderOverride.Minutes(listOf(10, 60)).minutesOrEmpty()).containsExactly(10, 60).inOrder()
assertThat(ReminderOverride.Inherit.minutesOrEmpty()).isEmpty()
assertThat(ReminderOverride.None.minutesOrEmpty()).isEmpty()
}
}