Synchronize saved-picker test with Android main queue
All checks were successful
review/code-claude No blocking findings; 8 non-blocking notes (see PR comment)
review/design-claude Design review PASS: no blocking finding; 8 non-blocking notes
All checks were successful
review/code-claude No blocking findings; 8 non-blocking notes (see PR comment)
review/design-claude Design review PASS: no blocking finding; 8 non-blocking notes
This commit is contained in:
parent
33cca64eba
commit
5811ab0555
2 changed files with 12 additions and 1 deletions
|
|
@ -69,7 +69,12 @@ class SavedPeoplePickerTest {
|
|||
WolfskinApp(server, users.first(), navigation, UserPreferences(AppPreferences.getDefaultInstance(), null),
|
||||
viewModel = model, homeContent = { _, _, _, _ -> })
|
||||
}
|
||||
rule.waitUntil(5_000) { entered.get() && session.state?.people?.size == 3 }
|
||||
rule.waitUntil(5_000) {
|
||||
// IO completion publishes Compose state on Android's queue, not the test frame clock.
|
||||
androidx.compose.runtime.snapshots.Snapshot.sendApplyNotifications()
|
||||
org.robolectric.Shadows.shadowOf(android.os.Looper.getMainLooper()).idle()
|
||||
entered.get() && session.state?.people?.size == 3
|
||||
}
|
||||
users.forEach { rule.onNodeWithText(it.name!!).assertIsDisplayed() }
|
||||
rule.runOnIdle {
|
||||
assertTrue(session.state!!.pickerVisible)
|
||||
|
|
|
|||
|
|
@ -43,6 +43,12 @@ execution order. Keep worker heap and parallelism unchanged between samples.
|
|||
`PersonPickerSessionTest` must also pass late in the full app JVM, not just alone
|
||||
or promoted to the front by previous failures.
|
||||
|
||||
`SavedPeoplePickerTest` publishes pending Compose snapshots and pumps Android's
|
||||
main queue while awaiting the saved household, just like the session-picker
|
||||
await above. Its five-second deadline, blocked first network response and saved
|
||||
identity assertions are unchanged; the virtual frame clock alone does not drain
|
||||
an IO continuation queued on Android's host looper.
|
||||
|
||||
## Saved-person launch and DNS
|
||||
|
||||
Launch restores an unprotected saved Jellyfin login from local storage before
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue