Extract base test case
This commit is contained in:
@@ -0,0 +1,33 @@
|
|||||||
|
package gq.kirmanak.mealient
|
||||||
|
|
||||||
|
import androidx.test.ext.junit.rules.activityScenarioRule
|
||||||
|
import com.kaspersky.kaspresso.testcases.api.testcase.TestCase
|
||||||
|
import dagger.hilt.android.testing.HiltAndroidRule
|
||||||
|
import gq.kirmanak.mealient.ui.activity.MainActivity
|
||||||
|
import okhttp3.mockwebserver.MockWebServer
|
||||||
|
import org.junit.After
|
||||||
|
import org.junit.Before
|
||||||
|
import org.junit.Rule
|
||||||
|
|
||||||
|
abstract class BaseTestCase : TestCase() {
|
||||||
|
|
||||||
|
@get:Rule(order = 0)
|
||||||
|
var hiltRule = HiltAndroidRule(this)
|
||||||
|
|
||||||
|
@get:Rule(order = 1)
|
||||||
|
val mainActivityRule = activityScenarioRule<MainActivity>()
|
||||||
|
|
||||||
|
lateinit var mockWebServer: MockWebServer
|
||||||
|
|
||||||
|
@Before
|
||||||
|
open fun setUp() {
|
||||||
|
mockWebServer = MockWebServer()
|
||||||
|
mockWebServer.start()
|
||||||
|
}
|
||||||
|
|
||||||
|
@After
|
||||||
|
fun tearDown() {
|
||||||
|
mockWebServer.shutdown()
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
@@ -1,38 +1,23 @@
|
|||||||
package gq.kirmanak.mealient
|
package gq.kirmanak.mealient
|
||||||
|
|
||||||
import androidx.test.ext.junit.rules.activityScenarioRule
|
|
||||||
import com.kaspersky.kaspresso.testcases.api.testcase.TestCase
|
|
||||||
import dagger.hilt.android.testing.HiltAndroidRule
|
|
||||||
import dagger.hilt.android.testing.HiltAndroidTest
|
import dagger.hilt.android.testing.HiltAndroidTest
|
||||||
import gq.kirmanak.mealient.screen.BaseUrlScreen
|
import gq.kirmanak.mealient.screen.BaseUrlScreen
|
||||||
import gq.kirmanak.mealient.screen.DisclaimerScreen
|
import gq.kirmanak.mealient.screen.DisclaimerScreen
|
||||||
import gq.kirmanak.mealient.screen.RecipesListScreen
|
import gq.kirmanak.mealient.screen.RecipesListScreen
|
||||||
import gq.kirmanak.mealient.ui.activity.MainActivity
|
|
||||||
import okhttp3.mockwebserver.MockWebServer
|
|
||||||
import org.junit.Rule
|
|
||||||
import org.junit.Test
|
import org.junit.Test
|
||||||
|
|
||||||
@HiltAndroidTest
|
@HiltAndroidTest
|
||||||
class FirstSetUpTest : TestCase() {
|
class FirstSetUpTest : BaseTestCase() {
|
||||||
|
|
||||||
@get:Rule(order = 0)
|
override fun setUp() {
|
||||||
var hiltRule = HiltAndroidRule(this)
|
super.setUp()
|
||||||
|
|
||||||
@get:Rule(order = 1)
|
|
||||||
val mainActivityRule = activityScenarioRule<MainActivity>()
|
|
||||||
|
|
||||||
private lateinit var mockWebServer: MockWebServer
|
|
||||||
|
|
||||||
@Test
|
|
||||||
fun test() = before {
|
|
||||||
mockWebServer = MockWebServer()
|
|
||||||
mockWebServer.dispatch { url, _ ->
|
mockWebServer.dispatch { url, _ ->
|
||||||
if (url == "/api/app/about") versionV1Response else notFoundResponse
|
if (url == "/api/app/about") versionV1Response else notFoundResponse
|
||||||
}
|
}
|
||||||
mockWebServer.start()
|
}
|
||||||
}.after {
|
|
||||||
mockWebServer.shutdown()
|
@Test
|
||||||
}.run {
|
fun test() = run {
|
||||||
step("Ensure button is disabled") {
|
step("Ensure button is disabled") {
|
||||||
DisclaimerScreen {
|
DisclaimerScreen {
|
||||||
okayButton {
|
okayButton {
|
||||||
|
|||||||
Reference in New Issue
Block a user