From addc3d47827d78ab9cfa04b9d15863ea4b76120a Mon Sep 17 00:00:00 2001 From: Benoit Marty Date: Wed, 21 Feb 2024 15:56:12 +0100 Subject: [PATCH] Improve test framework. --- .../android/tests/testutils/EnsureCalledOnce.kt | 2 +- .../SemanticsNodeInteractionsProviderExtensions.kt | 10 ++++++++++ 2 files changed, 11 insertions(+), 1 deletion(-) diff --git a/tests/testutils/src/main/kotlin/io/element/android/tests/testutils/EnsureCalledOnce.kt b/tests/testutils/src/main/kotlin/io/element/android/tests/testutils/EnsureCalledOnce.kt index b2c943e1ca..2ea4e44c75 100644 --- a/tests/testutils/src/main/kotlin/io/element/android/tests/testutils/EnsureCalledOnce.kt +++ b/tests/testutils/src/main/kotlin/io/element/android/tests/testutils/EnsureCalledOnce.kt @@ -29,7 +29,7 @@ class EnsureCalledOnce : () -> Unit { } } -fun ensureCalledOnce(block: (callback: EnsureCalledOnce) -> Unit) { +fun ensureCalledOnce(block: (callback: () -> Unit) -> Unit) { val callback = EnsureCalledOnce() block(callback) callback.assertSuccess() diff --git a/tests/testutils/src/main/kotlin/io/element/android/tests/testutils/SemanticsNodeInteractionsProviderExtensions.kt b/tests/testutils/src/main/kotlin/io/element/android/tests/testutils/SemanticsNodeInteractionsProviderExtensions.kt index 7cf00ca88a..1ebbd80acf 100644 --- a/tests/testutils/src/main/kotlin/io/element/android/tests/testutils/SemanticsNodeInteractionsProviderExtensions.kt +++ b/tests/testutils/src/main/kotlin/io/element/android/tests/testutils/SemanticsNodeInteractionsProviderExtensions.kt @@ -34,11 +34,21 @@ fun AndroidComposeTestRule.clickOn(@StringR .performClick() } +/** + * Press the back button in the app bar. + */ fun AndroidComposeTestRule.pressBack() { val text = activity.getString(CommonStrings.action_back) onNode(hasContentDescription(text)).performClick() } +/** + * Press the back key. + */ +fun AndroidComposeTestRule.pressBackKey() { + activity.onBackPressedDispatcher.onBackPressed() +} + fun SemanticsNodeInteractionsProvider.pressTag(tag: String) { onNode(hasTestTag(tag)).performClick() }