From 74526bc98451a3c30177b4e92a60ba35b82f5f92 Mon Sep 17 00:00:00 2001 From: Rune Dyselinck Date: Mon, 15 May 2023 15:58:59 +0200 Subject: [PATCH] proto error --- .idea/androidTestResultsUserPreferences.xml | 26 ++++++++++++ app/build.gradle | 12 ++---- .../be/ugent/sel/studeez/HomeScreenTest.kt | 42 +++++++++++++++++++ ...nstrumentedTest.kt => InstrumentedTest.kt} | 2 +- .../be/ugent/sel/studeez/SessionScreenTest.kt | 4 +- build.gradle | 8 ++-- 6 files changed, 80 insertions(+), 14 deletions(-) create mode 100644 app/src/androidTest/java/be/ugent/sel/studeez/HomeScreenTest.kt rename app/src/androidTest/java/be/ugent/sel/studeez/{ExampleInstrumentedTest.kt => InstrumentedTest.kt} (95%) diff --git a/.idea/androidTestResultsUserPreferences.xml b/.idea/androidTestResultsUserPreferences.xml index a751b96..59f6bc1 100644 --- a/.idea/androidTestResultsUserPreferences.xml +++ b/.idea/androidTestResultsUserPreferences.xml @@ -16,6 +16,19 @@ + + + + + + + @@ -44,6 +57,19 @@ + + + + + + + diff --git a/app/build.gradle b/app/build.gradle index bc5cfaf..197b055 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -65,8 +65,6 @@ dependencies { implementation "androidx.compose.ui:ui:$compose_version" implementation "androidx.compose.ui:ui-tooling-preview:$compose_version" implementation 'androidx.compose.material:material:1.2.0' - implementation 'androidx.test.ext:junit-ktx:1.1.5' - implementation 'androidx.navigation:navigation-testing:2.5.3' debugImplementation "androidx.compose.ui:ui-test-manifest:$compose_version" @@ -98,17 +96,13 @@ dependencies { // JUnit testImplementation 'junit:junit:4.13.2' - androidTestImplementation 'androidx.test.ext:junit:1.1.3' - androidTestImplementation 'androidx.test.espresso:espresso-core:3.4.0' - androidTestImplementation "androidx.compose.ui:ui-test-junit4:$compose_version" + androidTestImplementation 'androidx.test.ext:junit:1.1.5' // Coroutine testing testImplementation 'org.jetbrains.kotlinx:kotlinx-coroutines-test:1.6.4' // Mocking testImplementation 'org.mockito.kotlin:mockito-kotlin:3.2.0' - androidTestImplementation 'com.linkedin.dexmaker:dexmaker-mockito-inline:2.28.1' - androidTestImplementation "org.mockito.kotlin:mockito-kotlin:3.2.0" // Networking implementation 'com.squareup.retrofit2:retrofit:2.9.0' @@ -117,6 +111,8 @@ dependencies { testImplementation 'androidx.arch.core:core-testing:2.1.0' // GUI testing + androidTestImplementation 'androidx.test.espresso:espresso-core:3.5.1' + androidTestImplementation "androidx.compose.ui:ui-test-junit4:$compose_version" debugImplementation "androidx.compose.ui:ui-tooling:$compose_version" //Firebase @@ -154,4 +150,4 @@ protobuf { } } } -} +} \ No newline at end of file diff --git a/app/src/androidTest/java/be/ugent/sel/studeez/HomeScreenTest.kt b/app/src/androidTest/java/be/ugent/sel/studeez/HomeScreenTest.kt new file mode 100644 index 0000000..fa60dee --- /dev/null +++ b/app/src/androidTest/java/be/ugent/sel/studeez/HomeScreenTest.kt @@ -0,0 +1,42 @@ +package be.ugent.sel.studeez + +import androidx.compose.ui.test.junit4.createComposeRule +import androidx.compose.ui.test.onNodeWithText +import androidx.compose.ui.test.performClick +import be.ugent.sel.studeez.common.composable.drawer.DrawerActions +import be.ugent.sel.studeez.common.composable.feed.FeedUiState +import be.ugent.sel.studeez.common.composable.navbar.NavigationBarActions +import be.ugent.sel.studeez.data.local.models.FeedEntry +import be.ugent.sel.studeez.screens.home.HomeScreen +import org.junit.Rule +import org.junit.Test + +class HomeScreenTest { + @get:Rule + val composeTestRule = createComposeRule() + + @Test + fun sessionRecapTestt() { + var saveCalled = false + + composeTestRule.setContent { + HomeScreen( + open = {}, + drawerActions = DrawerActions({}, {}, {}, {}, {}), + navigationBarActions = NavigationBarActions({false}, {}, {}, {}, {}, {}, {}, {}), + feedUiState = FeedUiState.Succes(mapOf()), + continueTask = {_, _ -> }, + onEmptyFeedHelp = {} + ) + } + + composeTestRule + .onNodeWithText( + "continue", + substring = true, + ignoreCase = true + ) + .assertExists() + .performClick() + } +} \ No newline at end of file diff --git a/app/src/androidTest/java/be/ugent/sel/studeez/ExampleInstrumentedTest.kt b/app/src/androidTest/java/be/ugent/sel/studeez/InstrumentedTest.kt similarity index 95% rename from app/src/androidTest/java/be/ugent/sel/studeez/ExampleInstrumentedTest.kt rename to app/src/androidTest/java/be/ugent/sel/studeez/InstrumentedTest.kt index 06f9435..d6a1522 100644 --- a/app/src/androidTest/java/be/ugent/sel/studeez/ExampleInstrumentedTest.kt +++ b/app/src/androidTest/java/be/ugent/sel/studeez/InstrumentedTest.kt @@ -14,7 +14,7 @@ import org.junit.Assert.* * See [testing documentation](http://d.android.com/tools/testing). */ @RunWith(AndroidJUnit4::class) -class ExampleInstrumentedTest { +class InstrumentedTest { @Test fun useAppContext() { // Context of the app under test. diff --git a/app/src/androidTest/java/be/ugent/sel/studeez/SessionScreenTest.kt b/app/src/androidTest/java/be/ugent/sel/studeez/SessionScreenTest.kt index 65fb5eb..995f0a2 100644 --- a/app/src/androidTest/java/be/ugent/sel/studeez/SessionScreenTest.kt +++ b/app/src/androidTest/java/be/ugent/sel/studeez/SessionScreenTest.kt @@ -18,7 +18,7 @@ class SessionScreenTest { val composeTestRule = createComposeRule() @Test - fun SessionRecapTest() { + fun sessionRecapTest() { var saveCalled = false var discardCalled = false @@ -67,4 +67,6 @@ class SessionScreenTest { Assert.assertTrue(saveCalled) Assert.assertTrue(discardCalled) } + + } diff --git a/build.gradle b/build.gradle index 7f70dd1..4535dd7 100644 --- a/build.gradle +++ b/build.gradle @@ -1,5 +1,6 @@ buildscript { ext { + compose_ui_version = '1.2.0' compose_version = '1.1.1' coreTestingVersion = '2.1.0' espressoVersion = '3.4.0' @@ -8,16 +9,15 @@ buildscript { dependencies { classpath 'com.google.gms:google-services:4.3.15' - classpath 'com.android.tools.build:gradle:8.0.0' + classpath 'com.android.tools.build:gradle:7.2.0' classpath 'com.google.firebase:firebase-crashlytics-gradle:2.9.4' } }// Top-level build file where you can add configuration options common to all sub-projects/modules. plugins { - id 'com.android.application' version '8.0.0' apply false - id 'com.android.library' version '8.0.0' apply false + id 'com.android.application' version '7.4.2' apply false + id 'com.android.library' version '7.4.2' apply false id 'org.jetbrains.kotlin.android' version '1.7.0' apply false // Hilt id 'com.google.dagger.hilt.android' version '2.44' apply false } -