Added tests for settings
This commit is contained in:
parent
0df8cb9c7a
commit
26427d5377
@ -78,6 +78,7 @@ dependencies {
|
|||||||
androidTestImplementation 'androidx.test.ext:junit:1.1.1'
|
androidTestImplementation 'androidx.test.ext:junit:1.1.1'
|
||||||
androidTestImplementation 'androidx.test.espresso:espresso-core:3.2.0'
|
androidTestImplementation 'androidx.test.espresso:espresso-core:3.2.0'
|
||||||
androidTestImplementation 'androidx.test.espresso:espresso-intents:3.2.0'
|
androidTestImplementation 'androidx.test.espresso:espresso-intents:3.2.0'
|
||||||
|
androidTestImplementation 'com.android.support.test.espresso:espresso-contrib:3.0.2'
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
55
app/src/androidTest/java/com/h/pixeldroid/SettingsTest.kt
Normal file
55
app/src/androidTest/java/com/h/pixeldroid/SettingsTest.kt
Normal file
@ -0,0 +1,55 @@
|
|||||||
|
package com.h.pixeldroid
|
||||||
|
|
||||||
|
import android.view.Gravity
|
||||||
|
import androidx.test.espresso.Espresso.onView
|
||||||
|
import androidx.test.espresso.ViewAction
|
||||||
|
import androidx.test.espresso.action.CoordinatesProvider
|
||||||
|
import androidx.test.espresso.action.GeneralClickAction
|
||||||
|
import androidx.test.espresso.action.Press
|
||||||
|
import androidx.test.espresso.action.Tap
|
||||||
|
import androidx.test.espresso.assertion.ViewAssertions.matches
|
||||||
|
import androidx.test.espresso.contrib.DrawerActions
|
||||||
|
import androidx.test.espresso.contrib.DrawerMatchers.isClosed
|
||||||
|
import androidx.test.espresso.contrib.NavigationViewActions
|
||||||
|
import androidx.test.espresso.matcher.ViewMatchers.*
|
||||||
|
import androidx.test.ext.junit.rules.ActivityScenarioRule
|
||||||
|
import androidx.test.ext.junit.runners.AndroidJUnit4
|
||||||
|
import org.junit.Rule
|
||||||
|
import org.junit.Test
|
||||||
|
import org.junit.runner.RunWith
|
||||||
|
|
||||||
|
|
||||||
|
@RunWith(AndroidJUnit4::class)
|
||||||
|
class SettingsTest {
|
||||||
|
@get:Rule
|
||||||
|
var activityRule: ActivityScenarioRule<MainActivity>
|
||||||
|
= ActivityScenarioRule(MainActivity::class.java)
|
||||||
|
|
||||||
|
@Test
|
||||||
|
fun testDrawerSettingsButton() {
|
||||||
|
// Open Drawer to click on navigation.
|
||||||
|
onView(withId(R.id.drawer_layout))
|
||||||
|
.check(matches(isClosed(Gravity.LEFT))) // Left Drawer should be closed.
|
||||||
|
.perform(DrawerActions.open()); // Open Drawer
|
||||||
|
|
||||||
|
// Start the screen of your activity.
|
||||||
|
onView(withId(R.id.nav_view)).perform(NavigationViewActions.navigateTo(R.id.nav_settings))
|
||||||
|
|
||||||
|
// Check that settings activity was opened.
|
||||||
|
onView(withText(R.string.signature_title)).check(matches(isDisplayed()))
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
fun testDrawerProfileButton() {
|
||||||
|
// Open Drawer to click on navigation.
|
||||||
|
onView(withId(R.id.drawer_layout))
|
||||||
|
.check(matches(isClosed(Gravity.LEFT))) // Left Drawer should be closed.
|
||||||
|
.perform(DrawerActions.open()); // Open Drawer
|
||||||
|
|
||||||
|
// Start the screen of your activity.
|
||||||
|
onView(withId(R.id.nav_view)).perform(NavigationViewActions.navigateTo(R.id.nav_account))
|
||||||
|
|
||||||
|
// Check that profile activity was opened.
|
||||||
|
onView(withId(R.id.posts)).check(matches(withText("Posts")))
|
||||||
|
}
|
||||||
|
}
|
@ -50,7 +50,7 @@ class MainActivity : AppCompatActivity(), NavigationView.OnNavigationItemSelecte
|
|||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
Launches the given fragment and put it as the current "activity"
|
Launches the given activity and put it as the current one
|
||||||
*/
|
*/
|
||||||
private fun launchActivity(activity: AppCompatActivity) {
|
private fun launchActivity(activity: AppCompatActivity) {
|
||||||
val intent = Intent(this, activity::class.java)
|
val intent = Intent(this, activity::class.java)
|
||||||
@ -58,7 +58,7 @@ class MainActivity : AppCompatActivity(), NavigationView.OnNavigationItemSelecte
|
|||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
Makes it possible to drag the settings menu from the left
|
Closes the drawer if we are clicking behind it
|
||||||
*/
|
*/
|
||||||
override fun onBackPressed() {
|
override fun onBackPressed() {
|
||||||
if(drawerLayout.isDrawerOpen(GravityCompat.START)){
|
if(drawerLayout.isDrawerOpen(GravityCompat.START)){
|
||||||
|
Loading…
x
Reference in New Issue
Block a user