Skip to content

Commit f6d8023

Browse files
committed
add more tests
1 parent 40b706a commit f6d8023

35 files changed

Lines changed: 864 additions & 21 deletions

File tree

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

Lines changed: 574 additions & 0 deletions
Large diffs are not rendered by default.

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

Lines changed: 1 addition & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -26,9 +26,7 @@ import org.hamcrest.CoreMatchers.allOf
2626
import org.hamcrest.CoreMatchers.equalTo
2727
import org.junit.Test
2828
import org.junit.runner.RunWith
29-
import java.text.SimpleDateFormat
3029
import java.util.Calendar
31-
import java.util.Locale
3230
import java.util.concurrent.TimeUnit
3331
import com.example.util.simpletimetracker.core.R as coreR
3432
import com.example.util.simpletimetracker.feature_base_adapter.R as baseR
@@ -74,7 +72,7 @@ class RecordsRangesTest : BaseUiTest() {
7472
),
7573
)
7674

77-
longClickOnCurrentDate()
75+
longClickOnCurrentDate(-2)
7876
checkViewIsDisplayed(allOf(withText(name), isCompletelyDisplayed()))
7977

8078
clickOnCurrentDate(1)
@@ -188,8 +186,4 @@ class RecordsRangesTest : BaseUiTest() {
188186
),
189187
)
190188
}
191-
192-
companion object {
193-
private val dayTitleFormat = SimpleDateFormat("E, MMM d", Locale.getDefault())
194-
}
195189
}

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

Lines changed: 218 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -43,11 +43,13 @@ import com.example.util.simpletimetracker.utils.clickOnRecyclerItem
4343
import com.example.util.simpletimetracker.utils.clickOnView
4444
import com.example.util.simpletimetracker.utils.clickOnViewWithId
4545
import com.example.util.simpletimetracker.utils.clickOnViewWithText
46+
import com.example.util.simpletimetracker.utils.clickOnVisibleView
4647
import com.example.util.simpletimetracker.utils.dateSelectorMatcher
4748
import com.example.util.simpletimetracker.utils.getMillis
4849
import com.example.util.simpletimetracker.utils.longClickOnCurrentDate
4950
import com.example.util.simpletimetracker.utils.longClickOnView
5051
import com.example.util.simpletimetracker.utils.longClickOnViewWithId
52+
import com.example.util.simpletimetracker.utils.longClickOnVisibleView
5153
import com.example.util.simpletimetracker.utils.recyclerItemCount
5254
import com.example.util.simpletimetracker.utils.tryAction
5355
import com.example.util.simpletimetracker.utils.typeTextIntoView
@@ -1002,13 +1004,16 @@ class SettingsTest : BaseUiTest() {
10021004
timeString,
10031005
)
10041006
tryAction { clickOnView(allOf(withText(name), isCompletelyDisplayed())) }
1005-
checkViewIsDisplayed(
1006-
allOf(
1007-
withId(statisticsDetailR.id.containerStatisticsDetailCard),
1008-
hasDescendant(withText(R.string.statistics_detail_total_duration)),
1009-
hasDescendant(withText(timeString)),
1010-
),
1011-
)
1007+
NavUtils.fixToCurrentDate()
1008+
tryAction {
1009+
checkViewIsDisplayed(
1010+
allOf(
1011+
withId(statisticsDetailR.id.containerStatisticsDetailCard),
1012+
hasDescendant(withText(R.string.statistics_detail_total_duration)),
1013+
hasDescendant(withText(timeString)),
1014+
),
1015+
)
1016+
}
10121017
pressBack()
10131018
}
10141019

@@ -1081,6 +1086,207 @@ class SettingsTest : BaseUiTest() {
10811086
checkCheckboxIsNotChecked(settingsCheckboxBesideText(coreR.string.settings_keep_screen_on))
10821087
}
10831088

1089+
@Test
1090+
fun startTimersByLongClick() {
1091+
val name = "Test"
1092+
1093+
// Add data
1094+
runBlocking { prefsInteractor.setAllowMultitasking(false) }
1095+
testUtils.addActivity(name)
1096+
testUtils.addShortcut(name)
1097+
testUtils.addRecord(
1098+
typeName = name,
1099+
timeStarted = System.currentTimeMillis() - TimeUnit.HOURS.toMillis(1),
1100+
timeEnded = System.currentTimeMillis() - TimeUnit.HOURS.toMillis(1),
1101+
)
1102+
1103+
// Check disabled
1104+
NavUtils.openSettingsScreen()
1105+
NavUtils.openSettingsAdditional()
1106+
scrollSettingsRecyclerToText(coreR.string.settings_start_timer_by_long_click)
1107+
checkCheckboxIsNotChecked(settingsCheckboxBesideText(coreR.string.settings_start_timer_by_long_click))
1108+
// Type
1109+
NavUtils.openRunningRecordsScreen()
1110+
longClickOnVisibleView(
1111+
allOf(
1112+
withId(R.id.viewRecordTypeItem),
1113+
hasDescendant(withText(name)),
1114+
),
1115+
)
1116+
checkViewIsDisplayed(withText(R.string.duration_dialog_save))
1117+
pressBack()
1118+
clickOnVisibleView(
1119+
allOf(
1120+
withId(R.id.viewRecordTypeItem),
1121+
hasDescendant(withText(name)),
1122+
),
1123+
)
1124+
// Running record
1125+
longClickOnView(
1126+
allOf(
1127+
withId(R.id.viewRunningRecordItem),
1128+
hasDescendant(withText(name)),
1129+
),
1130+
)
1131+
checkViewIsDisplayed(withText(R.string.duration_dialog_save))
1132+
pressBack()
1133+
clickOnView(
1134+
allOf(
1135+
withId(R.id.viewRunningRecordItem),
1136+
hasDescendant(withText(name)),
1137+
),
1138+
)
1139+
checkViewDoesNotExist(withId(R.id.viewRunningRecordItem))
1140+
// Shortcut
1141+
longClickOnView(
1142+
allOf(
1143+
withId(R.id.viewRecordShortcutItem),
1144+
hasDescendant(withText(name)),
1145+
),
1146+
)
1147+
clickOnView(withText(R.string.cancel))
1148+
clickOnView(
1149+
allOf(
1150+
withId(R.id.viewRecordShortcutItem),
1151+
hasDescendant(withText(name)),
1152+
),
1153+
)
1154+
clickOnView(
1155+
allOf(
1156+
withId(R.id.viewRunningRecordItem),
1157+
hasDescendant(withText(name)),
1158+
),
1159+
)
1160+
checkViewDoesNotExist(withId(R.id.viewRunningRecordItem))
1161+
// Retroactive
1162+
NavUtils.openSettingsScreen()
1163+
scrollSettingsRecyclerToText(coreR.string.settings_retroactive_tracking_mode)
1164+
clickOnSettingsCheckboxBesideText(coreR.string.settings_retroactive_tracking_mode)
1165+
checkCheckboxIsChecked(settingsCheckboxBesideText(coreR.string.settings_retroactive_tracking_mode))
1166+
NavUtils.openRunningRecordsScreen()
1167+
// Untracked
1168+
clickOnView(withText(R.string.untracked_time_name))
1169+
checkViewDoesNotExist(withText(R.string.duration_dialog_save))
1170+
longClickOnView(withText(R.string.untracked_time_name))
1171+
checkViewIsDisplayed(withText(R.string.duration_dialog_save))
1172+
pressBack()
1173+
// Last record
1174+
clickOnView(
1175+
allOf(
1176+
withId(R.id.viewRecordItem),
1177+
hasDescendant(withText(name)),
1178+
isCompletelyDisplayed(),
1179+
),
1180+
)
1181+
checkViewDoesNotExist(withText(R.string.duration_dialog_save))
1182+
longClickOnView(
1183+
allOf(
1184+
withId(R.id.viewRecordItem),
1185+
hasDescendant(withText(name)),
1186+
isCompletelyDisplayed(),
1187+
),
1188+
)
1189+
checkViewIsDisplayed(withText(R.string.duration_dialog_save))
1190+
pressBack()
1191+
NavUtils.openSettingsScreen()
1192+
scrollSettingsRecyclerToText(coreR.string.settings_retroactive_tracking_mode)
1193+
clickOnSettingsCheckboxBesideText(coreR.string.settings_retroactive_tracking_mode)
1194+
checkCheckboxIsNotChecked(settingsCheckboxBesideText(coreR.string.settings_retroactive_tracking_mode))
1195+
1196+
// Check enabled
1197+
scrollSettingsRecyclerToText(coreR.string.settings_start_timer_by_long_click)
1198+
clickOnSettingsCheckboxBesideText(coreR.string.settings_start_timer_by_long_click)
1199+
checkCheckboxIsChecked(settingsCheckboxBesideText(coreR.string.settings_start_timer_by_long_click))
1200+
// Type
1201+
NavUtils.openRunningRecordsScreen()
1202+
clickOnVisibleView(
1203+
allOf(
1204+
withId(R.id.viewRecordTypeItem),
1205+
hasDescendant(withText(name)),
1206+
),
1207+
)
1208+
checkViewIsDisplayed(withText(R.string.duration_dialog_save))
1209+
pressBack()
1210+
longClickOnVisibleView(
1211+
allOf(
1212+
withId(R.id.viewRecordTypeItem),
1213+
hasDescendant(withText(name)),
1214+
),
1215+
)
1216+
// Running record
1217+
clickOnView(
1218+
allOf(
1219+
withId(R.id.viewRunningRecordItem),
1220+
hasDescendant(withText(name)),
1221+
),
1222+
)
1223+
checkViewIsDisplayed(withText(R.string.duration_dialog_save))
1224+
pressBack()
1225+
longClickOnView(
1226+
allOf(
1227+
withId(R.id.viewRunningRecordItem),
1228+
hasDescendant(withText(name)),
1229+
),
1230+
)
1231+
checkViewDoesNotExist(withId(R.id.viewRunningRecordItem))
1232+
// Shortcut
1233+
clickOnView(
1234+
allOf(
1235+
withId(R.id.viewRecordShortcutItem),
1236+
hasDescendant(withText(name)),
1237+
),
1238+
)
1239+
clickOnView(withText(R.string.cancel))
1240+
longClickOnView(
1241+
allOf(
1242+
withId(R.id.viewRecordShortcutItem),
1243+
hasDescendant(withText(name)),
1244+
),
1245+
)
1246+
longClickOnView(
1247+
allOf(
1248+
withId(R.id.viewRunningRecordItem),
1249+
hasDescendant(withText(name)),
1250+
),
1251+
)
1252+
checkViewDoesNotExist(withId(R.id.viewRunningRecordItem))
1253+
// Retroactive
1254+
NavUtils.openSettingsScreen()
1255+
scrollSettingsRecyclerToText(coreR.string.settings_retroactive_tracking_mode)
1256+
clickOnSettingsCheckboxBesideText(coreR.string.settings_retroactive_tracking_mode)
1257+
checkCheckboxIsChecked(settingsCheckboxBesideText(coreR.string.settings_retroactive_tracking_mode))
1258+
NavUtils.openRunningRecordsScreen()
1259+
// Untracked
1260+
longClickOnView(withText(R.string.untracked_time_name))
1261+
checkViewDoesNotExist(withText(R.string.duration_dialog_save))
1262+
clickOnView(withText(R.string.untracked_time_name))
1263+
checkViewIsDisplayed(withText(R.string.duration_dialog_save))
1264+
pressBack()
1265+
// Last record
1266+
longClickOnView(
1267+
allOf(
1268+
withId(R.id.viewRecordItem),
1269+
hasDescendant(withText(name)),
1270+
isCompletelyDisplayed(),
1271+
),
1272+
)
1273+
checkViewDoesNotExist(withText(R.string.duration_dialog_save))
1274+
Thread.sleep(500)
1275+
clickOnView(
1276+
allOf(
1277+
withId(R.id.viewRecordItem),
1278+
hasDescendant(withText(name)),
1279+
isCompletelyDisplayed(),
1280+
),
1281+
)
1282+
checkViewIsDisplayed(withText(R.string.duration_dialog_save))
1283+
pressBack()
1284+
NavUtils.openSettingsScreen()
1285+
scrollSettingsRecyclerToText(coreR.string.settings_retroactive_tracking_mode)
1286+
clickOnSettingsCheckboxBesideText(coreR.string.settings_retroactive_tracking_mode)
1287+
checkCheckboxIsNotChecked(settingsCheckboxBesideText(coreR.string.settings_retroactive_tracking_mode))
1288+
}
1289+
10841290
@Test
10851291
fun firstDayOfWeek() {
10861292
// If today is sunday:
@@ -1134,6 +1340,7 @@ class SettingsTest : BaseUiTest() {
11341340
)
11351341

11361342
// Check detailed statistics
1343+
NavUtils.fixToCurrentDate()
11371344
clickOnCurrentDate()
11381345
clickOnViewWithText(coreR.string.range_week)
11391346
checkViewIsDisplayed(
@@ -1264,7 +1471,8 @@ class SettingsTest : BaseUiTest() {
12641471

12651472
// Check detailed statistics
12661473
clickOnView(allOf(withText(name), isCompletelyDisplayed()))
1267-
tryAction { clickOnCurrentDate() }
1474+
NavUtils.fixToCurrentDate()
1475+
clickOnCurrentDate()
12681476
clickOnViewWithText(coreR.string.range_day)
12691477
checkStatisticsDetailRecords(0)
12701478
clickOnCurrentDate(-1)
@@ -1384,7 +1592,8 @@ class SettingsTest : BaseUiTest() {
13841592

13851593
// Check detailed statistics
13861594
clickOnView(allOf(withText(name), isCompletelyDisplayed()))
1387-
tryAction { clickOnCurrentDate() }
1595+
NavUtils.fixToCurrentDate()
1596+
clickOnCurrentDate()
13881597
clickOnViewWithText(coreR.string.range_day)
13891598
checkStatisticsDetailRecords(0)
13901599
clickOnCurrentDate(-1)

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

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -63,6 +63,7 @@ class StatisticsDetailFilterTest : BaseUiTest() {
6363
checkViewIsDisplayed(
6464
allOf(withId(statisticsDetailR.id.viewStatisticsDetailItem), hasDescendant(withText(name1))),
6565
)
66+
NavUtils.fixToCurrentDate()
6667
checkRecordsCard(1)
6768

6869
NavUtils.openFilter()
@@ -135,6 +136,7 @@ class StatisticsDetailFilterTest : BaseUiTest() {
135136
checkViewIsDisplayed(
136137
allOf(withId(statisticsDetailR.id.viewStatisticsDetailItem), hasDescendant(withText(categoryName1))),
137138
)
139+
NavUtils.fixToCurrentDate()
138140
checkRecordsCard(1)
139141

140142
NavUtils.openFilter()
@@ -209,6 +211,7 @@ class StatisticsDetailFilterTest : BaseUiTest() {
209211
checkViewIsDisplayed(
210212
allOf(withId(statisticsDetailR.id.viewStatisticsDetailItem), hasDescendant(withText(name1))),
211213
)
214+
NavUtils.fixToCurrentDate()
212215
checkRecordsCard(3)
213216

214217
NavUtils.openFilter()
@@ -273,6 +276,7 @@ class StatisticsDetailFilterTest : BaseUiTest() {
273276
checkViewIsDisplayed(
274277
allOf(withId(statisticsDetailR.id.viewStatisticsDetailItem), hasDescendant(withText(name1))),
275278
)
279+
NavUtils.fixToCurrentDate()
276280
checkRecordsCard(7)
277281

278282
NavUtils.openFilter()
@@ -354,6 +358,7 @@ class StatisticsDetailFilterTest : BaseUiTest() {
354358
checkViewIsDisplayed(
355359
allOf(withId(statisticsDetailR.id.viewStatisticsDetailItem), hasDescendant(withText(name1))),
356360
)
361+
NavUtils.fixToCurrentDate()
357362
checkRecordsCard(7)
358363

359364
NavUtils.openFilter()
@@ -462,6 +467,7 @@ class StatisticsDetailFilterTest : BaseUiTest() {
462467
checkViewIsDisplayed(
463468
allOf(withId(statisticsDetailR.id.viewStatisticsDetailItem), hasDescendant(withText(name1))),
464469
)
470+
NavUtils.fixToCurrentDate()
465471
checkRecordsCard(7)
466472

467473
NavUtils.openFilter()
@@ -503,6 +509,7 @@ class StatisticsDetailFilterTest : BaseUiTest() {
503509
checkViewIsDisplayed(
504510
allOf(withId(statisticsDetailR.id.viewStatisticsDetailItem), hasDescendant(withText(name1))),
505511
)
512+
NavUtils.fixToCurrentDate()
506513
checkRecordsCard(4)
507514

508515
NavUtils.openFilter()
@@ -606,6 +613,7 @@ class StatisticsDetailFilterTest : BaseUiTest() {
606613
clickOnCurrentDate()
607614
clickOnViewWithText(coreR.string.range_overall)
608615
tryAction { clickOnView(allOf(withText(name1), isCompletelyDisplayed())) }
616+
NavUtils.fixToCurrentDate()
609617
clickOnCurrentDate()
610618
clickOnViewWithText(coreR.string.range_overall)
611619
checkRecordsCard(28)
@@ -691,6 +699,7 @@ class StatisticsDetailFilterTest : BaseUiTest() {
691699
// Check
692700
NavUtils.openStatisticsScreen()
693701
tryAction { clickOnView(allOf(withText(name1), isCompletelyDisplayed())) }
702+
NavUtils.fixToCurrentDate()
694703
checkRecordsCard(3)
695704

696705
// 0s - 1h
@@ -784,6 +793,7 @@ class StatisticsDetailFilterTest : BaseUiTest() {
784793
clickOnCurrentDate()
785794
clickOnViewWithText(coreR.string.range_overall)
786795
tryAction { clickOnView(allOf(withText(name1), isCompletelyDisplayed())) }
796+
NavUtils.fixToCurrentDate()
787797
clickOnCurrentDate()
788798
clickOnViewWithText(coreR.string.range_overall)
789799
checkRecordsCard(10)
@@ -906,6 +916,7 @@ class StatisticsDetailFilterTest : BaseUiTest() {
906916
checkViewIsDisplayed(
907917
allOf(withId(statisticsDetailR.id.viewStatisticsDetailItem), hasDescendant(withText(name1))),
908918
)
919+
NavUtils.fixToCurrentDate()
909920
checkRecordsCard(12)
910921

911922
NavUtils.openFilter()

0 commit comments

Comments
 (0)