From 0a298433e01b6583ff6c211bf9fc74936942638c Mon Sep 17 00:00:00 2001 From: Benoit Marty Date: Thu, 2 Nov 2023 11:55:56 +0100 Subject: [PATCH] Add TestTags to dialog buttons. --- libraries/designsystem/build.gradle.kts | 1 + .../designsystem/theme/components/AlertDialogContent.kt | 7 +++++++ .../io/element/android/libraries/testtags/TestTags.kt | 7 +++++++ 3 files changed, 15 insertions(+) diff --git a/libraries/designsystem/build.gradle.kts b/libraries/designsystem/build.gradle.kts index f6eacf8746..f0d9d0bd53 100644 --- a/libraries/designsystem/build.gradle.kts +++ b/libraries/designsystem/build.gradle.kts @@ -39,6 +39,7 @@ android { // Should not be there, but this is a POC implementation(libs.coil.compose) implementation(libs.vanniktech.blurhash) + implementation(projects.libraries.testtags) implementation(projects.libraries.uiStrings) ksp(libs.showkase.processor) diff --git a/libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/theme/components/AlertDialogContent.kt b/libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/theme/components/AlertDialogContent.kt index bdeceb2ac8..ad68f1a59b 100644 --- a/libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/theme/components/AlertDialogContent.kt +++ b/libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/theme/components/AlertDialogContent.kt @@ -43,6 +43,8 @@ import androidx.compose.ui.unit.dp import io.element.android.libraries.designsystem.preview.ElementThemedPreview import io.element.android.libraries.designsystem.preview.PreviewGroup import io.element.android.libraries.designsystem.utils.CommonDrawables +import io.element.android.libraries.testtags.TestTags +import io.element.android.libraries.testtags.testTag import io.element.android.libraries.theme.ElementTheme import kotlin.math.max @@ -113,18 +115,23 @@ internal fun SimpleAlertDialogContent( // If there is a 3rd item it should be at the end of the dialog // Having this 3rd action is discouraged, see https://m3.material.io/components/dialogs/guidelines#e13b68f5-e367-4275-ad6f-c552ee8e358f TextButton( + modifier = Modifier.testTag(TestTags.dialogNeutral), text = thirdButtonText, size = ButtonSize.Medium, onClick = onThirdButtonClicked, ) } TextButton( + modifier = Modifier.testTag( + if (submitText == null) TestTags.dialogPositive else TestTags.dialogNegative + ), text = cancelText, size = ButtonSize.Medium, onClick = onCancelClicked, ) if (submitText != null) { Button( + modifier = Modifier.testTag(TestTags.dialogPositive), text = submitText, enabled = enabled, size = ButtonSize.Medium, diff --git a/libraries/testtags/src/main/kotlin/io/element/android/libraries/testtags/TestTags.kt b/libraries/testtags/src/main/kotlin/io/element/android/libraries/testtags/TestTags.kt index f28ed77001..6c31db3a9f 100644 --- a/libraries/testtags/src/main/kotlin/io/element/android/libraries/testtags/TestTags.kt +++ b/libraries/testtags/src/main/kotlin/io/element/android/libraries/testtags/TestTags.kt @@ -57,6 +57,13 @@ object TestTags { * RichTextEditor. */ val richTextEditor = TestTag("rich_text_editor") + + /** + * Dialogs. + */ + val dialogPositive = TestTag("dialog-positive") + val dialogNegative = TestTag("dialog-negative") + val dialogNeutral = TestTag("dialog-neutral") }