Skip to content

Commit 2ac1053

Browse files
committed
fixed tests
1 parent a4d17c1 commit 2ac1053

11 files changed

Lines changed: 94 additions & 50 deletions

File tree

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

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

3+
import android.view.View
34
import androidx.test.espresso.Espresso.closeSoftKeyboard
45
import androidx.test.espresso.Espresso.onData
56
import androidx.test.espresso.Espresso.onView
@@ -58,6 +59,7 @@ import org.hamcrest.CoreMatchers.allOf
5859
import org.hamcrest.CoreMatchers.equalTo
5960
import org.hamcrest.CoreMatchers.instanceOf
6061
import org.hamcrest.CoreMatchers.`is`
62+
import org.hamcrest.Matcher
6163
import org.junit.Test
6264
import org.junit.runner.RunWith
6365
import java.util.Calendar
@@ -984,15 +986,21 @@ class SettingsTest : BaseUiTest() {
984986
fun durationFormat() {
985987
val name = "Test"
986988

987-
fun checkView(id: Int, text: String) {
988-
checkViewIsDisplayed(allOf(withId(id), hasDescendant(withText(text)), isCompletelyDisplayed()))
989+
fun checkView(matchers: Matcher<View>, text: String) {
990+
checkViewIsDisplayed(allOf(matchers, hasDescendant(withText(text)), isCompletelyDisplayed()))
989991
}
990992

991993
fun checkFormat(timeString: String) {
992994
NavUtils.openRecordsScreen()
993-
checkView(baseR.id.viewRecordItem, timeString)
995+
checkView(allOf(withId(baseR.id.viewRecordItem)), timeString)
994996
NavUtils.openStatisticsScreen()
995-
checkView(baseR.id.viewStatisticsItem, timeString)
997+
checkView(
998+
allOf(
999+
hasDescendant(withText(name)),
1000+
withId(baseR.id.viewStatisticsItem),
1001+
),
1002+
timeString,
1003+
)
9961004
tryAction { clickOnView(allOf(withText(name), isCompletelyDisplayed())) }
9971005
checkViewIsDisplayed(
9981006
allOf(
@@ -2810,7 +2818,7 @@ class SettingsTest : BaseUiTest() {
28102818

28112819
// Check search
28122820
typeTextIntoView(R.id.etCommentItemField, "2")
2813-
Thread.sleep(500)
2821+
Thread.sleep(1000)
28142822
checkType(name1, false)
28152823
checkType(name2, true)
28162824
checkType(name3, false)
@@ -2842,7 +2850,7 @@ class SettingsTest : BaseUiTest() {
28422850

28432851
NavUtils.openRunningRecordsScreen()
28442852
typeTextIntoView(R.id.etCommentItemField, "lowercase")
2845-
Thread.sleep(500)
2853+
Thread.sleep(1000)
28462854
checkType(name1, false)
28472855
checkType(name2, false)
28482856
checkType(name3, false)

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

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -80,6 +80,7 @@ class StatisticsDetailExcludeTest : BaseUiTest() {
8080
allOf(
8181
withId(baseR.id.viewRecordTypeItem),
8282
hasDescendant(withText(name2)),
83+
withTag(RecordTypeSuggestionViewData.TEST_TAG),
8384
),
8485
)
8586
pressBack()

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

Lines changed: 35 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
package com.example.util.simpletimetracker
22

33
import androidx.test.espresso.Espresso.pressBack
4+
import androidx.test.espresso.matcher.ViewMatchers.hasSibling
45
import androidx.test.espresso.matcher.ViewMatchers.isCompletelyDisplayed
56
import androidx.test.espresso.matcher.ViewMatchers.isDescendantOfA
67
import androidx.test.espresso.matcher.ViewMatchers.withId
@@ -20,7 +21,6 @@ import org.junit.Test
2021
import org.junit.runner.RunWith
2122
import com.example.util.simpletimetracker.core.R as coreR
2223
import com.example.util.simpletimetracker.feature_base_adapter.R as baseR
23-
import com.example.util.simpletimetracker.feature_statistics.R as statisticsR
2424

2525
@HiltAndroidTest
2626
@RunWith(AndroidJUnit4::class)
@@ -49,7 +49,7 @@ class StatisticsFilterTest : BaseUiTest() {
4949
checkViewIsDisplayed(allOf(withText(name1), isCompletelyDisplayed()))
5050
checkViewIsDisplayed(allOf(withText(name2), isCompletelyDisplayed()))
5151
checkViewIsDisplayed(
52-
allOf(withId(statisticsR.id.tvStatisticsInfoText), withText("2$hourString 0$minuteString")),
52+
allOf(withId(R.id.tvStatisticsItemDuration), withText("2$hourString 0$minuteString")),
5353
)
5454

5555
// Filter untracked
@@ -62,7 +62,7 @@ class StatisticsFilterTest : BaseUiTest() {
6262
checkViewIsDisplayed(allOf(withText(name1), isCompletelyDisplayed()))
6363
checkViewIsDisplayed(allOf(withText(name2), isCompletelyDisplayed()))
6464
checkViewIsDisplayed(
65-
allOf(withId(statisticsR.id.tvStatisticsInfoText), withText("2$hourString 0$minuteString")),
65+
allOf(withId(R.id.tvStatisticsItemDuration), withText("2$hourString 0$minuteString")),
6666
)
6767

6868
// Filter activity
@@ -73,7 +73,11 @@ class StatisticsFilterTest : BaseUiTest() {
7373
checkViewDoesNotExist(allOf(withText(name1), isCompletelyDisplayed()))
7474
checkViewIsDisplayed(allOf(withText(name2), isCompletelyDisplayed()))
7575
checkViewIsDisplayed(
76-
allOf(withId(statisticsR.id.tvStatisticsInfoText), withText("1$hourString 0$minuteString")),
76+
allOf(
77+
withId(R.id.tvStatisticsItemDuration),
78+
hasSibling(withText(R.string.statistics_total_tracked)),
79+
withText("1$hourString 0$minuteString"),
80+
),
7781
)
7882

7983
// Filter all
@@ -83,7 +87,7 @@ class StatisticsFilterTest : BaseUiTest() {
8387
tryAction { checkViewDoesNotExist(allOf(withText(coreR.string.untracked_time_name), isCompletelyDisplayed())) }
8488
checkViewDoesNotExist(allOf(withText(name1), isCompletelyDisplayed()))
8589
checkViewDoesNotExist(allOf(withText(name2), isCompletelyDisplayed()))
86-
checkViewDoesNotExist(allOf(withId(statisticsR.id.tvStatisticsInfoText), isCompletelyDisplayed()))
90+
checkViewDoesNotExist(allOf(withId(R.id.tvStatisticsItemDuration), isCompletelyDisplayed()))
8791
checkViewIsDisplayed(allOf(withText(coreR.string.no_data), isCompletelyDisplayed()))
8892

8993
// Show all
@@ -94,7 +98,7 @@ class StatisticsFilterTest : BaseUiTest() {
9498
checkViewIsDisplayed(allOf(withText(name1), isCompletelyDisplayed()))
9599
checkViewIsDisplayed(allOf(withText(name2), isCompletelyDisplayed()))
96100
checkViewIsDisplayed(
97-
allOf(withId(statisticsR.id.tvStatisticsInfoText), withText("2$hourString 0$minuteString")),
101+
allOf(withId(R.id.tvStatisticsItemDuration), withText("2$hourString 0$minuteString")),
98102
)
99103

100104
// Hide all
@@ -104,7 +108,7 @@ class StatisticsFilterTest : BaseUiTest() {
104108
tryAction { checkViewDoesNotExist(allOf(withText(coreR.string.untracked_time_name), isCompletelyDisplayed())) }
105109
checkViewDoesNotExist(allOf(withText(name1), isCompletelyDisplayed()))
106110
checkViewDoesNotExist(allOf(withText(name2), isCompletelyDisplayed()))
107-
checkViewDoesNotExist(allOf(withId(statisticsR.id.tvStatisticsInfoText), isCompletelyDisplayed()))
111+
checkViewDoesNotExist(allOf(withId(R.id.tvStatisticsItemDuration), isCompletelyDisplayed()))
108112
checkViewIsDisplayed(allOf(withText(coreR.string.no_data), isCompletelyDisplayed()))
109113
}
110114

@@ -139,7 +143,7 @@ class StatisticsFilterTest : BaseUiTest() {
139143
checkViewIsDisplayed(allOf(withText(name2), isCompletelyDisplayed()))
140144
checkViewIsDisplayed(allOf(withText(name3), isCompletelyDisplayed()))
141145
checkViewIsDisplayed(
142-
allOf(withId(statisticsR.id.tvStatisticsInfoText), withText("3$hourString 0$minuteString")),
146+
allOf(withId(R.id.tvStatisticsItemDuration), withText("3$hourString 0$minuteString")),
143147
)
144148

145149
// Switch filter
@@ -153,7 +157,7 @@ class StatisticsFilterTest : BaseUiTest() {
153157
checkViewIsDisplayed(allOf(withText(tag2), isCompletelyDisplayed()))
154158
checkViewIsDisplayed(allOf(withText(coreR.string.uncategorized_time_name), isCompletelyDisplayed()))
155159
checkViewIsDisplayed(
156-
allOf(withId(statisticsR.id.tvStatisticsInfoText), withText("3$hourString 0$minuteString")),
160+
allOf(withId(R.id.tvStatisticsItemDuration), withText("3$hourString 0$minuteString")),
157161
)
158162

159163
// Filter untracked
@@ -167,7 +171,7 @@ class StatisticsFilterTest : BaseUiTest() {
167171
checkViewIsDisplayed(allOf(withText(tag2), isCompletelyDisplayed()))
168172
checkViewIsDisplayed(allOf(withText(coreR.string.uncategorized_time_name), isCompletelyDisplayed()))
169173
checkViewIsDisplayed(
170-
allOf(withId(statisticsR.id.tvStatisticsInfoText), withText("3$hourString 0$minuteString")),
174+
allOf(withId(R.id.tvStatisticsItemDuration), withText("3$hourString 0$minuteString")),
171175
)
172176

173177
// Filter uncategorized
@@ -181,7 +185,7 @@ class StatisticsFilterTest : BaseUiTest() {
181185
checkViewIsDisplayed(allOf(withText(tag2), isCompletelyDisplayed()))
182186
checkViewDoesNotExist(allOf(withText(coreR.string.uncategorized_time_name), isCompletelyDisplayed()))
183187
checkViewIsDisplayed(
184-
allOf(withId(statisticsR.id.tvStatisticsInfoText), withText("2$hourString 0$minuteString")),
188+
allOf(withId(R.id.tvStatisticsItemDuration), withText("2$hourString 0$minuteString")),
185189
)
186190

187191
// Filter tag
@@ -191,7 +195,11 @@ class StatisticsFilterTest : BaseUiTest() {
191195
tryAction { checkViewDoesNotExist(allOf(withText(tag1), isCompletelyDisplayed())) }
192196
checkViewIsDisplayed(allOf(withText(tag2), isCompletelyDisplayed()))
193197
checkViewIsDisplayed(
194-
allOf(withId(statisticsR.id.tvStatisticsInfoText), withText("1$hourString 0$minuteString")),
198+
allOf(
199+
withId(R.id.tvStatisticsItemDuration),
200+
hasSibling(withText(R.string.statistics_total_tracked)),
201+
withText("1$hourString 0$minuteString"),
202+
),
195203
)
196204

197205
// Filter all
@@ -200,7 +208,7 @@ class StatisticsFilterTest : BaseUiTest() {
200208
pressBack()
201209
tryAction { checkViewDoesNotExist(allOf(withText(tag1), isCompletelyDisplayed())) }
202210
checkViewDoesNotExist(allOf(withText(tag2), isCompletelyDisplayed()))
203-
checkViewDoesNotExist(allOf(withId(statisticsR.id.tvStatisticsInfoText), isCompletelyDisplayed()))
211+
checkViewDoesNotExist(allOf(withId(R.id.tvStatisticsItemDuration), isCompletelyDisplayed()))
204212
checkViewIsDisplayed(allOf(withText(coreR.string.no_data), isCompletelyDisplayed()))
205213

206214
// Show all
@@ -212,7 +220,7 @@ class StatisticsFilterTest : BaseUiTest() {
212220
checkViewIsDisplayed(allOf(withText(coreR.string.untracked_time_name), isCompletelyDisplayed()))
213221
checkViewIsDisplayed(allOf(withText(coreR.string.uncategorized_time_name), isCompletelyDisplayed()))
214222
checkViewIsDisplayed(
215-
allOf(withId(statisticsR.id.tvStatisticsInfoText), withText("3$hourString 0$minuteString")),
223+
allOf(withId(R.id.tvStatisticsItemDuration), withText("3$hourString 0$minuteString")),
216224
)
217225

218226
// Hide all
@@ -223,7 +231,7 @@ class StatisticsFilterTest : BaseUiTest() {
223231
checkViewDoesNotExist(allOf(withText(tag2), isCompletelyDisplayed()))
224232
checkViewDoesNotExist(allOf(withText(coreR.string.untracked_time_name), isCompletelyDisplayed()))
225233
checkViewDoesNotExist(allOf(withText(coreR.string.uncategorized_time_name), isCompletelyDisplayed()))
226-
checkViewDoesNotExist(allOf(withId(statisticsR.id.tvStatisticsInfoText), isCompletelyDisplayed()))
234+
checkViewDoesNotExist(allOf(withId(R.id.tvStatisticsItemDuration), isCompletelyDisplayed()))
227235
checkViewIsDisplayed(allOf(withText(coreR.string.no_data), isCompletelyDisplayed()))
228236
}
229237

@@ -258,7 +266,7 @@ class StatisticsFilterTest : BaseUiTest() {
258266
checkViewIsDisplayed(allOf(withText(name2), isCompletelyDisplayed()))
259267
checkViewIsDisplayed(allOf(withText(name3), isCompletelyDisplayed()))
260268
checkViewIsDisplayed(
261-
allOf(withId(statisticsR.id.tvStatisticsInfoText), withText("3$hourString 0$minuteString")),
269+
allOf(withId(R.id.tvStatisticsItemDuration), withText("3$hourString 0$minuteString")),
262270
)
263271

264272
// Switch filter
@@ -272,7 +280,7 @@ class StatisticsFilterTest : BaseUiTest() {
272280
checkViewIsDisplayed(allOf(withText(tag2), isCompletelyDisplayed()))
273281
checkViewIsDisplayed(allOf(withText(coreR.string.change_record_untagged), isCompletelyDisplayed()))
274282
checkViewIsDisplayed(
275-
allOf(withId(statisticsR.id.tvStatisticsInfoText), withText("3$hourString 0$minuteString")),
283+
allOf(withId(R.id.tvStatisticsItemDuration), withText("3$hourString 0$minuteString")),
276284
)
277285

278286
// Filter untracked
@@ -286,7 +294,7 @@ class StatisticsFilterTest : BaseUiTest() {
286294
checkViewIsDisplayed(allOf(withText(tag2), isCompletelyDisplayed()))
287295
checkViewIsDisplayed(allOf(withText(coreR.string.change_record_untagged), isCompletelyDisplayed()))
288296
checkViewIsDisplayed(
289-
allOf(withId(statisticsR.id.tvStatisticsInfoText), withText("3$hourString 0$minuteString")),
297+
allOf(withId(R.id.tvStatisticsItemDuration), withText("3$hourString 0$minuteString")),
290298
)
291299

292300
// Filter untagged
@@ -300,7 +308,7 @@ class StatisticsFilterTest : BaseUiTest() {
300308
checkViewIsDisplayed(allOf(withText(tag2), isCompletelyDisplayed()))
301309
checkViewDoesNotExist(allOf(withText(coreR.string.change_record_untagged), isCompletelyDisplayed()))
302310
checkViewIsDisplayed(
303-
allOf(withId(statisticsR.id.tvStatisticsInfoText), withText("2$hourString 0$minuteString")),
311+
allOf(withId(R.id.tvStatisticsItemDuration), withText("2$hourString 0$minuteString")),
304312
)
305313

306314
// Filter tag
@@ -310,7 +318,11 @@ class StatisticsFilterTest : BaseUiTest() {
310318
tryAction { checkViewDoesNotExist(allOf(withText(tag1), isCompletelyDisplayed())) }
311319
checkViewIsDisplayed(allOf(withText(tag2), isCompletelyDisplayed()))
312320
checkViewIsDisplayed(
313-
allOf(withId(statisticsR.id.tvStatisticsInfoText), withText("1$hourString 0$minuteString")),
321+
allOf(
322+
withId(R.id.tvStatisticsItemDuration),
323+
hasSibling(withText(R.string.statistics_total_tracked)),
324+
withText("1$hourString 0$minuteString"),
325+
),
314326
)
315327

316328
// Filter all
@@ -319,7 +331,7 @@ class StatisticsFilterTest : BaseUiTest() {
319331
pressBack()
320332
tryAction { checkViewDoesNotExist(allOf(withText(tag1), isCompletelyDisplayed())) }
321333
checkViewDoesNotExist(allOf(withText(tag2), isCompletelyDisplayed()))
322-
checkViewDoesNotExist(allOf(withId(statisticsR.id.tvStatisticsInfoText), isCompletelyDisplayed()))
334+
checkViewDoesNotExist(allOf(withId(R.id.tvStatisticsItemDuration), isCompletelyDisplayed()))
323335
checkViewIsDisplayed(allOf(withText(coreR.string.no_data), isCompletelyDisplayed()))
324336

325337
// Show all
@@ -331,7 +343,7 @@ class StatisticsFilterTest : BaseUiTest() {
331343
checkViewIsDisplayed(allOf(withText(coreR.string.untracked_time_name), isCompletelyDisplayed()))
332344
checkViewIsDisplayed(allOf(withText(coreR.string.change_record_untagged), isCompletelyDisplayed()))
333345
checkViewIsDisplayed(
334-
allOf(withId(statisticsR.id.tvStatisticsInfoText), withText("3$hourString 0$minuteString")),
346+
allOf(withId(R.id.tvStatisticsItemDuration), withText("3$hourString 0$minuteString")),
335347
)
336348

337349
// Hide all
@@ -342,7 +354,7 @@ class StatisticsFilterTest : BaseUiTest() {
342354
checkViewDoesNotExist(allOf(withText(tag2), isCompletelyDisplayed()))
343355
checkViewDoesNotExist(allOf(withText(coreR.string.untracked_time_name), isCompletelyDisplayed()))
344356
checkViewDoesNotExist(allOf(withText(coreR.string.change_record_untagged), isCompletelyDisplayed()))
345-
checkViewDoesNotExist(allOf(withId(statisticsR.id.tvStatisticsInfoText), isCompletelyDisplayed()))
357+
checkViewDoesNotExist(allOf(withId(R.id.tvStatisticsItemDuration), isCompletelyDisplayed()))
346358
checkViewIsDisplayed(allOf(withText(coreR.string.no_data), isCompletelyDisplayed()))
347359
}
348360
}

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

Lines changed: 9 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,6 @@ import org.junit.runner.RunWith
2828
import java.util.concurrent.TimeUnit
2929
import com.example.util.simpletimetracker.core.R as coreR
3030
import com.example.util.simpletimetracker.feature_base_adapter.R as baseR
31-
import com.example.util.simpletimetracker.feature_statistics.R as statisticsR
3231

3332
@HiltAndroidTest
3433
@RunWith(AndroidJUnit4::class)
@@ -115,7 +114,7 @@ class StatisticsTest : BaseUiTest() {
115114
)
116115
checkViewIsDisplayed(
117116
allOf(
118-
withId(statisticsR.id.tvStatisticsInfoText),
117+
withId(R.id.tvStatisticsItemDuration),
119118
withText("2$hourString 0$minuteString"),
120119
),
121120
)
@@ -239,7 +238,7 @@ class StatisticsTest : BaseUiTest() {
239238
)
240239
checkViewIsDisplayed(
241240
allOf(
242-
withId(statisticsR.id.tvStatisticsInfoText),
241+
withId(R.id.tvStatisticsItemDuration),
243242
withText("6$hourString 0$minuteString"),
244243
),
245244
)
@@ -367,7 +366,7 @@ class StatisticsTest : BaseUiTest() {
367366
)
368367
checkViewIsDisplayed(
369368
allOf(
370-
withId(statisticsR.id.tvStatisticsInfoText),
369+
withId(R.id.tvStatisticsItemDuration),
371370
withText("6$hourString 0$minuteString"),
372371
),
373372
)
@@ -426,7 +425,7 @@ class StatisticsTest : BaseUiTest() {
426425
)
427426
checkViewIsDisplayed(
428427
allOf(
429-
withId(statisticsR.id.layoutStatisticsInfoItem),
428+
withId(R.id.viewStatisticsItem),
430429
hasDescendant(withText(coreR.string.statistics_total_tracked)),
431430
hasDescendant(withText("2$hourString 0$minuteString")),
432431
isCompletelyDisplayed(),
@@ -451,7 +450,7 @@ class StatisticsTest : BaseUiTest() {
451450
)
452451
checkViewIsDisplayed(
453452
allOf(
454-
withId(statisticsR.id.layoutStatisticsInfoItem),
453+
withId(R.id.viewStatisticsItem),
455454
hasDescendant(withText(coreR.string.statistics_total_tracked)),
456455
hasDescendant(withText("0$minuteString")),
457456
isCompletelyDisplayed(),
@@ -513,7 +512,7 @@ class StatisticsTest : BaseUiTest() {
513512
)
514513
checkViewIsDisplayed(
515514
allOf(
516-
withId(statisticsR.id.tvStatisticsInfoText),
515+
withId(R.id.tvStatisticsItemDuration),
517516
withText("6$hourString 0$minuteString"),
518517
),
519518
)
@@ -542,7 +541,7 @@ class StatisticsTest : BaseUiTest() {
542541
)
543542
checkViewIsDisplayed(
544543
allOf(
545-
withId(statisticsR.id.layoutStatisticsInfoItem),
544+
withId(R.id.viewStatisticsItem),
546545
hasDescendant(withText(coreR.string.statistics_total_tracked)),
547546
hasDescendant(withText("0$minuteString")),
548547
isCompletelyDisplayed(),
@@ -604,7 +603,7 @@ class StatisticsTest : BaseUiTest() {
604603
)
605604
checkViewIsDisplayed(
606605
allOf(
607-
withId(statisticsR.id.tvStatisticsInfoText),
606+
withId(R.id.tvStatisticsItemDuration),
608607
withText("6$hourString 0$minuteString"),
609608
),
610609
)
@@ -633,7 +632,7 @@ class StatisticsTest : BaseUiTest() {
633632
)
634633
checkViewIsDisplayed(
635634
allOf(
636-
withId(statisticsR.id.layoutStatisticsInfoItem),
635+
withId(R.id.viewStatisticsItem),
637636
hasDescendant(withText(coreR.string.statistics_total_tracked)),
638637
hasDescendant(withText("0$minuteString")),
639638
isCompletelyDisplayed(),

app/src/androidTest/java/com/example/util/simpletimetracker/utils/NavUtils.kt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -243,6 +243,7 @@ object NavUtils {
243243
// Name
244244
typeTextIntoView(changeCategoryR.id.etChangeCategoryName, name)
245245
Thread.sleep(1000) // For keyboard to open.
246+
closeSoftKeyboard()
246247

247248
// Color
248249
if (color != null) {

buildSrc/src/main/kotlin/com/example/util/simpletimetracker/Base.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ object Base {
55
const val namespace = "com.example.util.simpletimetracker"
66

77
// Raise by 2 to account for wear version code.
8-
const val versionCode = 117
8+
const val versionCode = 119
99
const val versionName = "1.52"
1010
const val minSDK = 21
1111
const val currentSDK = 35

0 commit comments

Comments
 (0)