From e3720ff3f67d40e5dfff1d7251aebd88cd04aa38 Mon Sep 17 00:00:00 2001 From: Gergely Hegedus Date: Thu, 29 Sep 2022 14:59:37 +0300 Subject: [PATCH] PR#128 Fix Compose UI sync issue Sometimes the emptyPasswordShowsProperErrorMessage failed because while waiting for Idling Resources/Coroutines to run the clock has been updated and the Snackbar got dismissed. autoAdvance=off, waitForIdle, autoAdvance=on pattern ensures this doesnt happen --- .../fnives/test/showcase/ui/AuthComposeInstrumentedTest.kt | 6 ++++++ .../showcase/hilt/ui/compose/AuthComposeInstrumentedTest.kt | 6 ++++++ 2 files changed, 12 insertions(+) diff --git a/app/src/androidTest/java/org/fnives/test/showcase/ui/AuthComposeInstrumentedTest.kt b/app/src/androidTest/java/org/fnives/test/showcase/ui/AuthComposeInstrumentedTest.kt index 97287e5..19c259c 100644 --- a/app/src/androidTest/java/org/fnives/test/showcase/ui/AuthComposeInstrumentedTest.kt +++ b/app/src/androidTest/java/org/fnives/test/showcase/ui/AuthComposeInstrumentedTest.kt @@ -83,6 +83,9 @@ class AuthComposeInstrumentedTest : KoinTest { robot.setUsername("banan") .assertUsername("banan") .clickOnLogin() + composeTestRule.mainClock.autoAdvance = false + composeTestRule.waitForIdle() + composeTestRule.mainClock.autoAdvance = true robot.assertErrorIsShown(R.string.password_is_invalid) .assertNotLoading() @@ -99,6 +102,9 @@ class AuthComposeInstrumentedTest : KoinTest { .setPassword("banan") .assertPassword("banan") .clickOnLogin() + composeTestRule.mainClock.autoAdvance = false + composeTestRule.waitForIdle() + composeTestRule.mainClock.autoAdvance = true robot.assertErrorIsShown(R.string.username_is_invalid) .assertNotLoading() diff --git a/hilt/hilt-app/src/androidTest/java/org/fnives/test/showcase/hilt/ui/compose/AuthComposeInstrumentedTest.kt b/hilt/hilt-app/src/androidTest/java/org/fnives/test/showcase/hilt/ui/compose/AuthComposeInstrumentedTest.kt index ec296b0..d0f2e03 100644 --- a/hilt/hilt-app/src/androidTest/java/org/fnives/test/showcase/hilt/ui/compose/AuthComposeInstrumentedTest.kt +++ b/hilt/hilt-app/src/androidTest/java/org/fnives/test/showcase/hilt/ui/compose/AuthComposeInstrumentedTest.kt @@ -99,6 +99,9 @@ class AuthComposeInstrumentedTest { robot.setUsername("banan") .assertUsername("banan") .clickOnLogin() + composeTestRule.mainClock.autoAdvance = false + composeTestRule.waitForIdle() + composeTestRule.mainClock.autoAdvance = true robot.assertErrorIsShown(R.string.password_is_invalid) .assertNotLoading() @@ -115,6 +118,9 @@ class AuthComposeInstrumentedTest { .setPassword("banan") .assertPassword("banan") .clickOnLogin() + composeTestRule.mainClock.autoAdvance = false + composeTestRule.waitForIdle() + composeTestRule.mainClock.autoAdvance = true robot.assertErrorIsShown(R.string.username_is_invalid) .assertNotLoading()