@OptIn(ExperimentalCoroutinesApi::class, FlowPreview::class)
val issuesResults =
combine(
snapshotFlow {
searchQuery
}
// .debounce(debounceDuration) causes tests to fail
.map {
if (it.length < 3) null else it
},
issueSearchModelState,
selectedLabels,
selectedAssignees,
selectedIssueState,
) {
searchQuery,
issueSearchModel,
selectedLabels,
selectedAssignees,
selectedIssueState,
->
delay(debounceDuration)
//rest of code
}
Using debounce in the snapshot flow of the IssueViewmodel causes E2E and Viewmodel tests to fail but after replacing with a delay in the flatmap lamda .