InjectionTestActivityTest.kt 1.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
  1. /*
  2. * Nextcloud - Android Client
  3. *
  4. * SPDX-FileCopyrightText: 2023 Álvaro Brey <alvaro@alvarobrey.com>
  5. * SPDX-FileCopyrightText: 2023 Nextcloud GmbH
  6. * SPDX-License-Identifier: AGPL-3.0-or-later
  7. */
  8. package com.nextcloud.test
  9. import androidx.test.core.app.launchActivity
  10. import androidx.test.espresso.Espresso.onView
  11. import androidx.test.espresso.assertion.ViewAssertions.matches
  12. import androidx.test.espresso.matcher.ViewMatchers.withId
  13. import androidx.test.espresso.matcher.ViewMatchers.withText
  14. import com.nextcloud.client.preferences.AppPreferences
  15. import com.owncloud.android.R
  16. import dagger.android.AndroidInjector
  17. import io.mockk.every
  18. import io.mockk.mockk
  19. import org.junit.Rule
  20. import org.junit.Test
  21. class InjectionTestActivityTest {
  22. @get:Rule
  23. val injectionOverrideRule =
  24. InjectionOverrideRule(
  25. mapOf(
  26. InjectionTestActivity::class.java to AndroidInjector<InjectionTestActivity> { activity ->
  27. val appPreferencesMock = mockk<AppPreferences>()
  28. every { appPreferencesMock.lastUploadPath } returns INJECTED_STRING
  29. activity.appPreferences = appPreferencesMock
  30. }
  31. )
  32. )
  33. @Test
  34. fun testInjectionOverride() {
  35. launchActivity<InjectionTestActivity>().use { _ ->
  36. onView(withId(R.id.text)).check(matches(withText(INJECTED_STRING)))
  37. }
  38. }
  39. companion object {
  40. private const val INJECTED_STRING = "injected string"
  41. }
  42. }