feat: add groupEventsByDate helper for schedule date headers

This commit is contained in:
2026-08-06 17:03:24 +02:00
parent b7af237002
commit cf24f9c0e3
2 changed files with 52 additions and 1 deletions
@@ -20,6 +20,7 @@ package ch.parano.myicek.filter
import ch.parano.myicek.models.Event
import kotlin.test.Test
import kotlin.test.assertEquals
import kotlin.test.assertTrue
class EventFilterTest {
@@ -28,6 +29,7 @@ class EventFilterTest {
agegroup: String = "U13 (Elite)",
name: String = "U13 Elite - HC Ajoie",
eventType: String = "Jeu",
start: String = "2024-11-10T14:00:00",
) = Event(
idEvent = id,
agegroup = agegroup,
@@ -35,7 +37,7 @@ class EventFilterTest {
title = "Title",
opponent = "Opp",
place = "Place",
start = "2024-11-10T14:00:00",
start = start,
end = "2024-11-10T16:15:00",
color = "#e4222e",
eventType = eventType,
@@ -171,4 +173,47 @@ class EventFilterTest {
assertEquals("U13 Elite", result[0])
assertEquals("U13 Top", result[1])
}
@Test
fun testGroupEventsByDateSingleDay() {
val events = listOf(
event(id = "1", start = "2024-11-10T14:00:00"),
event(id = "2", start = "2024-11-10T16:00:00"),
)
val grouped = groupEventsByDate(events)
assertEquals(1, grouped.size)
assertEquals("2024-11-10", grouped[0].first)
assertEquals(2, grouped[0].second.size)
}
@Test
fun testGroupEventsByDateMultipleDays() {
val events = listOf(
event(id = "1", start = "2024-11-11T10:00:00"),
event(id = "2", start = "2024-11-10T14:00:00"),
event(id = "3", start = "2024-11-10T16:00:00"),
)
val grouped = groupEventsByDate(events)
assertEquals(2, grouped.size)
assertEquals("2024-11-10", grouped[0].first)
assertEquals(2, grouped[0].second.size)
assertEquals("2024-11-11", grouped[1].first)
assertEquals(1, grouped[1].second.size)
}
@Test
fun testGroupEventsByDateWithSpaceSeparator() {
val events = listOf(
event(id = "1", start = "2024-11-10 14:00:00"),
)
val grouped = groupEventsByDate(events)
assertEquals(1, grouped.size)
assertEquals("2024-11-10", grouped[0].first)
}
@Test
fun testGroupEventsByDateEmpty() {
val grouped = groupEventsByDate(emptyList())
assertTrue(grouped.isEmpty())
}
}