From 825658302a28f923736e6711ed122cbe085159c5 Mon Sep 17 00:00:00 2001 From: ked4ma Date: Fri, 15 Sep 2023 12:33:29 +0900 Subject: [PATCH 1/4] select first timetable tab on snapshot test --- .../confsched2023/testing/robot/TimetableScreenRobot.kt | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/core/testing/src/main/java/io/github/droidkaigi/confsched2023/testing/robot/TimetableScreenRobot.kt b/core/testing/src/main/java/io/github/droidkaigi/confsched2023/testing/robot/TimetableScreenRobot.kt index 1bea2ec3e..411af6d39 100644 --- a/core/testing/src/main/java/io/github/droidkaigi/confsched2023/testing/robot/TimetableScreenRobot.kt +++ b/core/testing/src/main/java/io/github/droidkaigi/confsched2023/testing/robot/TimetableScreenRobot.kt @@ -15,6 +15,7 @@ import com.github.takahirom.roborazzi.captureRoboImage import io.github.droidkaigi.confsched2023.data.sessions.FakeSessionsApiClient import io.github.droidkaigi.confsched2023.data.sessions.SessionsApiClient import io.github.droidkaigi.confsched2023.designsystem.theme.KaigiTheme +import io.github.droidkaigi.confsched2023.model.DroidKaigi2023Day import io.github.droidkaigi.confsched2023.sessions.TimetableScreen import io.github.droidkaigi.confsched2023.sessions.TimetableScreenTestTag import io.github.droidkaigi.confsched2023.sessions.component.SearchButtonTestTag @@ -58,6 +59,9 @@ class TimetableScreenRobot @Inject constructor( ) } } + // Timetable tab set initial tab with current date. + // To get the consistent test result, fix selected timetable tab to Day1 here. + clickTimetableTab(DroidKaigi2023Day.Day1.day) waitUntilIdle() } From 359886615ff23b760eaf48383fa708129ecf7581 Mon Sep 17 00:00:00 2001 From: ked4ma Date: Fri, 15 Sep 2023 12:49:52 +0900 Subject: [PATCH 2/4] change comment --- .../confsched2023/testing/robot/TimetableScreenRobot.kt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/core/testing/src/main/java/io/github/droidkaigi/confsched2023/testing/robot/TimetableScreenRobot.kt b/core/testing/src/main/java/io/github/droidkaigi/confsched2023/testing/robot/TimetableScreenRobot.kt index 411af6d39..b9117c27e 100644 --- a/core/testing/src/main/java/io/github/droidkaigi/confsched2023/testing/robot/TimetableScreenRobot.kt +++ b/core/testing/src/main/java/io/github/droidkaigi/confsched2023/testing/robot/TimetableScreenRobot.kt @@ -60,7 +60,7 @@ class TimetableScreenRobot @Inject constructor( } } // Timetable tab set initial tab with current date. - // To get the consistent test result, fix selected timetable tab to Day1 here. + // For the consistent test result, fix selected timetable tab to Day1 here. clickTimetableTab(DroidKaigi2023Day.Day1.day) waitUntilIdle() } From 091a4e4fbaff0852c291d84e270c01e95c92684a Mon Sep 17 00:00:00 2001 From: ked4ma Date: Fri, 15 Sep 2023 14:01:38 +0900 Subject: [PATCH 3/4] return day1 from initialSelectedDay if isTest --- .../droidkaigi/confsched2023/model/DroidKaigi2023Day.kt | 5 ++++- .../confsched2023/testing/robot/TimetableScreenRobot.kt | 3 --- .../confsched2023/sessions/section/TimetableSheet.kt | 4 +++- 3 files changed, 7 insertions(+), 5 deletions(-) diff --git a/core/model/src/commonMain/kotlin/io/github/droidkaigi/confsched2023/model/DroidKaigi2023Day.kt b/core/model/src/commonMain/kotlin/io/github/droidkaigi/confsched2023/model/DroidKaigi2023Day.kt index 8e5eb1566..ac3feab49 100644 --- a/core/model/src/commonMain/kotlin/io/github/droidkaigi/confsched2023/model/DroidKaigi2023Day.kt +++ b/core/model/src/commonMain/kotlin/io/github/droidkaigi/confsched2023/model/DroidKaigi2023Day.kt @@ -81,7 +81,10 @@ public enum class DroidKaigi2023Day( /** * @return appropriate initial day for now */ - fun initialSelectedDay(): DroidKaigi2023Day { + fun initialSelectedDay(isTest: Boolean = false): DroidKaigi2023Day { + // Timetable tab set initial tab with current date. + // To get the consistent test result, fix selected timetable tab to Day1 here. + if (isTest) return Day1 val reversedEntries = entries.sortedByDescending { it.day } var selectedDay = reversedEntries.last() for (entry in reversedEntries) { diff --git a/core/testing/src/main/java/io/github/droidkaigi/confsched2023/testing/robot/TimetableScreenRobot.kt b/core/testing/src/main/java/io/github/droidkaigi/confsched2023/testing/robot/TimetableScreenRobot.kt index b9117c27e..13d038ec3 100644 --- a/core/testing/src/main/java/io/github/droidkaigi/confsched2023/testing/robot/TimetableScreenRobot.kt +++ b/core/testing/src/main/java/io/github/droidkaigi/confsched2023/testing/robot/TimetableScreenRobot.kt @@ -59,9 +59,6 @@ class TimetableScreenRobot @Inject constructor( ) } } - // Timetable tab set initial tab with current date. - // For the consistent test result, fix selected timetable tab to Day1 here. - clickTimetableTab(DroidKaigi2023Day.Day1.day) waitUntilIdle() } diff --git a/feature/sessions/src/main/java/io/github/droidkaigi/confsched2023/sessions/section/TimetableSheet.kt b/feature/sessions/src/main/java/io/github/droidkaigi/confsched2023/sessions/section/TimetableSheet.kt index 3a4835a7f..38163823b 100644 --- a/feature/sessions/src/main/java/io/github/droidkaigi/confsched2023/sessions/section/TimetableSheet.kt +++ b/feature/sessions/src/main/java/io/github/droidkaigi/confsched2023/sessions/section/TimetableSheet.kt @@ -36,8 +36,10 @@ import io.github.droidkaigi.confsched2023.sessions.component.rememberTimetableTa import io.github.droidkaigi.confsched2023.sessions.section.TimetableSheetUiState.Empty import io.github.droidkaigi.confsched2023.sessions.section.TimetableSheetUiState.GridTimetable import io.github.droidkaigi.confsched2023.sessions.section.TimetableSheetUiState.ListTimetable +import io.github.droidkaigi.confsched2023.ui.isTest const val TimetableTabTestTag = "TimetableTab" + sealed interface TimetableSheetUiState { data object Empty : TimetableSheetUiState data class ListTimetable( @@ -58,7 +60,7 @@ fun TimetableSheet( contentPadding: PaddingValues, modifier: Modifier = Modifier, ) { - var selectedDay by rememberSaveable { mutableStateOf(DroidKaigi2023Day.initialSelectedDay()) } + var selectedDay by rememberSaveable { mutableStateOf(DroidKaigi2023Day.initialSelectedDay(isTest())) } val corner by animateIntAsState( if (timetableScreenScrollState.isScreenLayoutCalculating || timetableScreenScrollState.isSheetExpandable) 40 else 0, label = "Timetable corner state", From 06f26869e6a952581d46a7b2c2c155dcef7bed30 Mon Sep 17 00:00:00 2001 From: ked4ma Date: Fri, 15 Sep 2023 14:04:16 +0900 Subject: [PATCH 4/4] remove unused import --- .../confsched2023/testing/robot/TimetableScreenRobot.kt | 1 - 1 file changed, 1 deletion(-) diff --git a/core/testing/src/main/java/io/github/droidkaigi/confsched2023/testing/robot/TimetableScreenRobot.kt b/core/testing/src/main/java/io/github/droidkaigi/confsched2023/testing/robot/TimetableScreenRobot.kt index 13d038ec3..1bea2ec3e 100644 --- a/core/testing/src/main/java/io/github/droidkaigi/confsched2023/testing/robot/TimetableScreenRobot.kt +++ b/core/testing/src/main/java/io/github/droidkaigi/confsched2023/testing/robot/TimetableScreenRobot.kt @@ -15,7 +15,6 @@ import com.github.takahirom.roborazzi.captureRoboImage import io.github.droidkaigi.confsched2023.data.sessions.FakeSessionsApiClient import io.github.droidkaigi.confsched2023.data.sessions.SessionsApiClient import io.github.droidkaigi.confsched2023.designsystem.theme.KaigiTheme -import io.github.droidkaigi.confsched2023.model.DroidKaigi2023Day import io.github.droidkaigi.confsched2023.sessions.TimetableScreen import io.github.droidkaigi.confsched2023.sessions.TimetableScreenTestTag import io.github.droidkaigi.confsched2023.sessions.component.SearchButtonTestTag