From 3bfada33aa3266e8d87e8c8737d28c5978597535 Mon Sep 17 00:00:00 2001 From: Egor Hutsko Date: Sat, 15 Feb 2025 11:06:56 +0100 Subject: [PATCH 1/2] [ADFA-365] - project build test with no empty Project and Compose Project --- .../com/itsaky/androidide/ProjectBuildTest.kt | 41 +++++++++++++++++++ 1 file changed, 41 insertions(+) diff --git a/app/src/androidTest/kotlin/com/itsaky/androidide/ProjectBuildTest.kt b/app/src/androidTest/kotlin/com/itsaky/androidide/ProjectBuildTest.kt index 7c2fa6418b..8fb29fd31c 100644 --- a/app/src/androidTest/kotlin/com/itsaky/androidide/ProjectBuildTest.kt +++ b/app/src/androidTest/kotlin/com/itsaky/androidide/ProjectBuildTest.kt @@ -19,6 +19,34 @@ class ProjectBuildTest : TestCase() { @get:Rule val activityRule = activityScenarioRule() + @Test + fun test_projectBuild_emptyProject_java() { + run { + navigateToMainScreen() + clickCreateProjectHomeScreen() + step("Select the empty project") { + selectTemplate(R.string.template_empty) + } + selectJavaLanguage() + clickCreateProjectProjectSettings() + initializeProjectAndCancelBuild() + } + } + + @Test + fun test_projectBuild_emptyProject_kotlin() { + run { + navigateToMainScreen() + clickCreateProjectHomeScreen() + step("Select the empty project") { + selectTemplate(R.string.template_empty) + } + selectKotlinLanguage() + clickCreateProjectProjectSettings() + initializeProjectAndCancelBuild() + } + } + @Test fun test_projectBuild_baseProject_java() { run { @@ -159,6 +187,19 @@ class ProjectBuildTest : TestCase() { } } + @Test + fun test_projectBuild_composeProject() { + run { + navigateToMainScreen() + clickCreateProjectHomeScreen() + step("Select the no Compose project") { + selectTemplate(R.string.template_compose) + } + clickCreateProjectProjectSettings() + initializeProjectAndCancelBuild() + } + } + private fun TestContext.navigateToMainScreen() { step("Initialize the app and navigate to the Main Screen") { scenario(NavigateToMainScreenScenario()) From d0ba042600bf84624db0f76191cfc6e0ddaaa455 Mon Sep 17 00:00:00 2001 From: Egor Hutsko Date: Sat, 15 Feb 2025 11:15:44 +0100 Subject: [PATCH 2/2] [ADFA-365] - project build test with no empty Project and Compose Project - refactoring --- .../com/itsaky/androidide/ProjectBuildTest.kt | 97 +++++++++++-------- 1 file changed, 58 insertions(+), 39 deletions(-) diff --git a/app/src/androidTest/kotlin/com/itsaky/androidide/ProjectBuildTest.kt b/app/src/androidTest/kotlin/com/itsaky/androidide/ProjectBuildTest.kt index 8fb29fd31c..2a611b2ae0 100644 --- a/app/src/androidTest/kotlin/com/itsaky/androidide/ProjectBuildTest.kt +++ b/app/src/androidTest/kotlin/com/itsaky/androidide/ProjectBuildTest.kt @@ -24,9 +24,10 @@ class ProjectBuildTest : TestCase() { run { navigateToMainScreen() clickCreateProjectHomeScreen() - step("Select the empty project") { - selectTemplate(R.string.template_empty) - } + selectProjectTemplate( + "Select the empty project", + R.string.template_empty + ) selectJavaLanguage() clickCreateProjectProjectSettings() initializeProjectAndCancelBuild() @@ -38,9 +39,10 @@ class ProjectBuildTest : TestCase() { run { navigateToMainScreen() clickCreateProjectHomeScreen() - step("Select the empty project") { - selectTemplate(R.string.template_empty) - } + selectProjectTemplate( + "Select the empty project", + R.string.template_empty + ) selectKotlinLanguage() clickCreateProjectProjectSettings() initializeProjectAndCancelBuild() @@ -52,9 +54,10 @@ class ProjectBuildTest : TestCase() { run { navigateToMainScreen() clickCreateProjectHomeScreen() - step("Select the basic project") { - selectTemplate(R.string.template_basic) - } + selectProjectTemplate( + "Select the basic project", + R.string.template_basic + ) selectJavaLanguage() clickCreateProjectProjectSettings() initializeProjectAndCancelBuild() @@ -66,9 +69,10 @@ class ProjectBuildTest : TestCase() { run { navigateToMainScreen() clickCreateProjectHomeScreen() - step("Select the basic project") { - selectTemplate(R.string.template_basic) - } + selectProjectTemplate( + "Select the basic project", + R.string.template_basic + ) selectKotlinLanguage() clickCreateProjectProjectSettings() initializeProjectAndCancelBuild() @@ -80,9 +84,10 @@ class ProjectBuildTest : TestCase() { run { navigateToMainScreen() clickCreateProjectHomeScreen() - step("Select the navigation drawer project") { - selectTemplate(R.string.template_navigation_drawer) - } + selectProjectTemplate( + "Select the navigation drawer project", + R.string.template_navigation_drawer + ) selectJavaLanguage() clickCreateProjectProjectSettings() initializeProjectAndCancelBuild() @@ -94,9 +99,10 @@ class ProjectBuildTest : TestCase() { run { navigateToMainScreen() clickCreateProjectHomeScreen() - step("Select the navigation drawer project") { - selectTemplate(R.string.template_navigation_drawer) - } + selectProjectTemplate( + "Select the navigation drawer project", + R.string.template_navigation_drawer + ) selectKotlinLanguage() clickCreateProjectProjectSettings() initializeProjectAndCancelBuild() @@ -108,9 +114,10 @@ class ProjectBuildTest : TestCase() { run { navigateToMainScreen() clickCreateProjectHomeScreen() - step("Select the bottom navigation project") { - selectTemplate(R.string.template_navigation_tabs) - } + selectProjectTemplate( + "Select the bottom navigation project", + R.string.template_navigation_tabs + ) selectJavaLanguage() clickCreateProjectProjectSettings() initializeProjectAndCancelBuild() @@ -122,9 +129,10 @@ class ProjectBuildTest : TestCase() { run { navigateToMainScreen() clickCreateProjectHomeScreen() - step("Select the bottom navigation project") { - selectTemplate(R.string.template_navigation_tabs) - } + selectProjectTemplate( + "Select the bottom navigation project", + R.string.template_navigation_tabs + ) selectKotlinLanguage() clickCreateProjectProjectSettings() initializeProjectAndCancelBuild() @@ -136,9 +144,10 @@ class ProjectBuildTest : TestCase() { run { navigateToMainScreen() clickCreateProjectHomeScreen() - step("Select the tabbed activity project") { - selectTemplate(R.string.template_tabs) - } + selectProjectTemplate( + "Select the tabbed activity project", + R.string.template_tabs + ) selectJavaLanguage() clickCreateProjectProjectSettings() initializeProjectAndCancelBuild() @@ -150,9 +159,10 @@ class ProjectBuildTest : TestCase() { run { navigateToMainScreen() clickCreateProjectHomeScreen() - step("Select the tabbed activity project") { - selectTemplate(R.string.template_tabs) - } + selectProjectTemplate( + "Select the tabbed activity project", + R.string.template_tabs + ) selectKotlinLanguage() clickCreateProjectProjectSettings() initializeProjectAndCancelBuild() @@ -164,9 +174,10 @@ class ProjectBuildTest : TestCase() { run { navigateToMainScreen() clickCreateProjectHomeScreen() - step("Select the no AndroidX project") { - selectTemplate(R.string.template_no_AndroidX) - } + selectProjectTemplate( + "Select the no AndroidX project", + R.string.template_no_AndroidX + ) selectJavaLanguage() clickCreateProjectProjectSettings() initializeProjectAndCancelBuild() @@ -178,9 +189,10 @@ class ProjectBuildTest : TestCase() { run { navigateToMainScreen() clickCreateProjectHomeScreen() - step("Select the no AndroidX project") { - selectTemplate(R.string.template_no_AndroidX) - } + selectProjectTemplate( + "Select the no AndroidX project", + R.string.template_no_AndroidX + ) selectKotlinLanguage() clickCreateProjectProjectSettings() initializeProjectAndCancelBuild() @@ -192,9 +204,10 @@ class ProjectBuildTest : TestCase() { run { navigateToMainScreen() clickCreateProjectHomeScreen() - step("Select the no Compose project") { - selectTemplate(R.string.template_compose) - } + selectProjectTemplate( + "Select the no Compose project", + R.string.template_compose + ) clickCreateProjectProjectSettings() initializeProjectAndCancelBuild() } @@ -206,6 +219,12 @@ class ProjectBuildTest : TestCase() { } } + private fun TestContext.selectProjectTemplate(stepTitle: String, templateResId: Int) { + step(stepTitle) { + selectTemplate(templateResId) + } + } + private fun TestContext.initializeProjectAndCancelBuild() { step("Initialization the project and cancelling the build") { scenario(InitializationProjectAndCancelingBuildScenario())