Skip to content

Commit 2752ef6

Browse files
committed
add more tests
1 parent cdac3a5 commit 2752ef6

File tree

3 files changed

+65
-16
lines changed

3 files changed

+65
-16
lines changed

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

Lines changed: 46 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -618,6 +618,52 @@ class ComplexRulesTest : BaseUiTest() {
618618
checkRunningRecordWithTag(typeName, tagName, tagValueText)
619619
}
620620

621+
@Test
622+
fun assignTagValueOnStart() {
623+
val typeName = "typeName"
624+
val tagName = "onStartTag"
625+
626+
// Add data
627+
runBlocking { prefsInteractor.setAllowMultitasking(false) }
628+
testUtils.addActivity(typeName)
629+
testUtils.addRecordTag(
630+
tagName = tagName,
631+
typeName = typeName,
632+
hasTagValue = true,
633+
)
634+
635+
// Create rule
636+
NavUtils.openSettingsScreen()
637+
NavUtils.openSettingsAdditional()
638+
NavUtils.openComplexRules()
639+
clickOnViewWithText(R.string.running_records_add_type)
640+
clickOnViewWithText(R.string.change_complex_rule_choose_action)
641+
clickOnViewWithText(R.string.change_complex_action_assign_tag)
642+
clickOnViewWithText(tagName)
643+
clickOnViewWithText(R.string.change_complex_tag_value_set_later)
644+
clickOnViewWithId(dialogsR.id.btnTypesSelectionSave)
645+
clickOnViewWithText(R.string.change_complex_starting_activity)
646+
clickOnViewWithText(typeName)
647+
clickOnViewWithText(R.string.change_activity_filter_save)
648+
649+
// Check rule
650+
val onStartLabel = getString(R.string.change_complex_tag_value_set_later)
651+
val expectedTagName = "$tagName ($onStartLabel)"
652+
checkViewIsDisplayed(
653+
allOf(
654+
withId(complexRulesR.id.containerComplexRuleItem),
655+
hasDescendant(withText(expectedTagName)),
656+
),
657+
)
658+
pressBack()
659+
660+
// Check tag value selection
661+
NavUtils.openRunningRecordsScreen()
662+
clickOnViewWithText(typeName)
663+
checkViewIsDisplayed(withId(dialogsR.id.tvRecordTagValueSelection))
664+
checkViewIsDisplayed(withId(dialogsR.id.btnRecordTagSelectionSave))
665+
}
666+
621667
@Test
622668
fun archiveAndRemoveData() {
623669
val typeName1 = "typeName1"

features/feature_tag_selection/src/main/java/com/example/util/simpletimetracker/feature_tag_selection/viewModel/RecordTagSelectionViewModel.kt

Lines changed: 19 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,25 @@ import kotlinx.coroutines.delay
3232
import kotlinx.coroutines.launch
3333
import javax.inject.Inject
3434

35+
// No tag selection dialog:
36+
// - start right away with preselected tags
37+
// Tag selection dialog:
38+
// - show preselected
39+
// - can deselect preselected
40+
// - multi choice
41+
// - value selection is added to preselected tags
42+
// - value selection is queued
43+
// Close after one (no preselected):
44+
// - close after one selected
45+
// - no multi choice
46+
// - value selection queue is not possible because they are added to preselected
47+
// Close after one (have preselected):
48+
// - close after one not working (?)
49+
// - show preselected (?)
50+
// - can deselect preselected (?)
51+
// - multi choice is forced
52+
// - value selection is added to preselected tags
53+
// - value selection is queued (?)
3554
@HiltViewModel
3655
class RecordTagSelectionViewModel @Inject constructor(
3756
private val router: Router,
@@ -146,14 +165,6 @@ class RecordTagSelectionViewModel @Inject constructor(
146165
}
147166

148167
private suspend fun saveClicked() {
149-
val hasRequiredTagValueSelectionPending = extra.requiredValueSelectionTagIds
150-
.any(::isRequiredTagValueSelectionMissingValue)
151-
152-
if (hasRequiredTagValueSelectionPending) {
153-
updateViewData()
154-
startRequiredTagValueSelectionIfNeeded()
155-
return
156-
}
157168
addRunningRecordMediator.startTimer(
158169
typeId = extra.typeId,
159170
tags = newTags,

wear/src/main/java/com/example/util/simpletimetracker/features/tagsSelection/viewModel/TagsViewModel.kt

Lines changed: 0 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -172,14 +172,6 @@ class TagsViewModel @Inject constructor(
172172
) {
173173
val activityId = this@TagsViewModel.activityId ?: return
174174

175-
val hasRequiredTagValueSelectionPending = requiredValueSelectionTagIds
176-
.any(::isRequiredTagValueSelectionMissingValue)
177-
178-
if (hasRequiredTagValueSelectionPending) {
179-
startRequiredTagValueSelectionIfNeeded()
180-
return
181-
}
182-
183175
_state.value = mapState(loadingState)
184176

185177
val result = startActivityMediator.start(

0 commit comments

Comments
 (0)