Skip to content

Commit 160209b

Browse files
committed
add more settings tests
1 parent 50f754d commit 160209b

File tree

1 file changed

+100
-2
lines changed

1 file changed

+100
-2
lines changed

app/src/androidTest/java/com/example/util/simpletimetracker/SettingsTest.kt

Lines changed: 100 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,11 @@
11
package com.example.util.simpletimetracker
22

33
import android.widget.DatePicker
4+
import androidx.test.espresso.Espresso.onData
45
import androidx.test.espresso.Espresso.onView
56
import androidx.test.espresso.Espresso.pressBack
67
import androidx.test.espresso.action.ViewActions.click
8+
import androidx.test.espresso.action.ViewActions.scrollTo
79
import androidx.test.espresso.assertion.ViewAssertions.matches
810
import androidx.test.espresso.contrib.PickerActions.setDate
911
import androidx.test.espresso.contrib.PickerActions.setTime
@@ -42,13 +44,15 @@ import com.example.util.simpletimetracker.utils.tryAction
4244
import com.example.util.simpletimetracker.utils.unconstrainedClickOnView
4345
import com.example.util.simpletimetracker.utils.withPluralText
4446
import dagger.hilt.android.testing.HiltAndroidTest
45-
import java.util.Calendar
46-
import java.util.concurrent.TimeUnit
4747
import kotlinx.coroutines.runBlocking
4848
import org.hamcrest.CoreMatchers.allOf
4949
import org.hamcrest.CoreMatchers.equalTo
50+
import org.hamcrest.CoreMatchers.instanceOf
51+
import org.hamcrest.CoreMatchers.`is`
5052
import org.junit.Test
5153
import org.junit.runner.RunWith
54+
import java.util.Calendar
55+
import java.util.concurrent.TimeUnit
5256
import com.example.util.simpletimetracker.core.R as coreR
5357
import com.example.util.simpletimetracker.feature_base_adapter.R as baseR
5458
import com.example.util.simpletimetracker.feature_change_record_type.R as changeRecordTypeR
@@ -608,6 +612,100 @@ class SettingsTest : BaseUiTest() {
608612
NavUtils.openSettingsScreen()
609613
}
610614

615+
@Test
616+
fun changeLanguage() {
617+
NavUtils.openSettingsScreen()
618+
onView(withId(settingsR.id.spinnerSettingsLanguage)).perform(nestedScrollTo())
619+
checkViewIsDisplayed(
620+
allOf(
621+
withId(settingsR.id.tvSettingsLanguageValue),
622+
withText(coreR.string.settings_dark_mode_system),
623+
),
624+
)
625+
clickOnSpinnerWithId(settingsR.id.spinnerSettingsLanguage)
626+
listOf(
627+
coreR.string.settings_english_language,
628+
coreR.string.settings_arabic_language,
629+
coreR.string.settings_catalan_language,
630+
coreR.string.settings_german_language,
631+
coreR.string.settings_spanish_language,
632+
coreR.string.settings_farsi_language,
633+
coreR.string.settings_french_language,
634+
coreR.string.settings_hindi_language,
635+
coreR.string.settings_indonesian_language,
636+
coreR.string.settings_italian_language,
637+
coreR.string.settings_japanese_language,
638+
coreR.string.settings_korean_language,
639+
coreR.string.settings_dutch_language,
640+
coreR.string.settings_portuguese_language,
641+
coreR.string.settings_russian_language,
642+
coreR.string.settings_swedish_language,
643+
coreR.string.settings_turkish_language,
644+
coreR.string.settings_ukrainian_language,
645+
coreR.string.settings_chinese_simplified_language,
646+
coreR.string.settings_chinese_traditional_language,
647+
).forEach {
648+
onData(allOf(`is`(instanceOf(String::class.java)), `is`(getString(it)))).perform(scrollTo())
649+
checkViewIsDisplayed(withText(it))
650+
}
651+
}
652+
653+
@Test
654+
fun navigation() {
655+
NavUtils.openSettingsScreen()
656+
657+
NavUtils.openCategoriesScreen()
658+
checkViewIsDisplayed(withText(coreR.string.categories_record_type_hint))
659+
pressBack()
660+
661+
NavUtils.openArchiveScreen()
662+
checkViewIsDisplayed(withText(coreR.string.archive_empty))
663+
pressBack()
664+
665+
NavUtils.openDataEditScreen()
666+
checkViewIsDisplayed(withText(coreR.string.data_edit_select_records))
667+
}
668+
669+
@Test
670+
fun feedbackBlock() {
671+
NavUtils.openSettingsScreen()
672+
673+
onView(withText(coreR.string.settings_rate)).perform(nestedScrollTo())
674+
onView(withText(coreR.string.settings_feedback)).perform(nestedScrollTo())
675+
onView(withText(coreR.string.settings_version)).perform(nestedScrollTo())
676+
}
677+
678+
@Test
679+
fun translators() {
680+
NavUtils.openSettingsScreen()
681+
682+
onView(withText(coreR.string.settings_translators)).perform(nestedScrollTo())
683+
listOf(
684+
coreR.string.settings_arabic_translators,
685+
coreR.string.settings_catalan_translators,
686+
coreR.string.settings_german_translators,
687+
coreR.string.settings_spanish_translators,
688+
coreR.string.settings_farsi_translators,
689+
coreR.string.settings_french_translators,
690+
coreR.string.settings_hindi_translators,
691+
coreR.string.settings_indonesian_translators,
692+
coreR.string.settings_italian_translators,
693+
coreR.string.settings_japanese_translators,
694+
coreR.string.settings_korean_translators,
695+
coreR.string.settings_dutch_translators,
696+
coreR.string.settings_portuguese_translators,
697+
coreR.string.settings_russian_translators,
698+
coreR.string.settings_swedish_translators,
699+
coreR.string.settings_turkish_translators,
700+
coreR.string.settings_ukrainian_translators,
701+
coreR.string.settings_chinese_simplified_translators,
702+
coreR.string.settings_chinese_traditional_translators,
703+
).forEach {
704+
onView(withText(it)).perform(nestedScrollTo())
705+
checkViewIsDisplayed(withText(it))
706+
}
707+
}
708+
611709
@Test
612710
fun inactivityReminder() {
613711
// Change settings

0 commit comments

Comments
 (0)