SessionMixinTest.kt 1.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455
  1. /*
  2. * Nextcloud - Android Client
  3. *
  4. * SPDX-FileCopyrightText: 2024 Alper Ozturk <alper.ozturk@nextcloud.com>
  5. * SPDX-License-Identifier: AGPL-3.0-or-later
  6. */
  7. package com.owncloud.android.utils
  8. import android.content.Intent
  9. import androidx.test.core.app.ActivityScenario
  10. import androidx.test.core.app.ApplicationProvider
  11. import androidx.test.ext.junit.rules.ActivityScenarioRule
  12. import com.nextcloud.client.account.UserAccountManager
  13. import com.nextcloud.client.account.UserAccountManagerImpl
  14. import com.nextcloud.client.mixins.SessionMixin
  15. import com.owncloud.android.AbstractIT
  16. import com.owncloud.android.ui.activity.FileDisplayActivity
  17. import org.junit.Before
  18. import org.junit.Rule
  19. import org.junit.Test
  20. class SessionMixinTest : AbstractIT() {
  21. private lateinit var userAccountManager: UserAccountManager
  22. private lateinit var session: SessionMixin
  23. private var scenario: ActivityScenario<FileDisplayActivity>? = null
  24. val intent = Intent(ApplicationProvider.getApplicationContext(), FileDisplayActivity::class.java)
  25. @get:Rule
  26. val activityRule = ActivityScenarioRule<FileDisplayActivity>(intent)
  27. @Before
  28. fun setUp() {
  29. userAccountManager = UserAccountManagerImpl.fromContext(targetContext)
  30. scenario = activityRule.scenario
  31. scenario?.onActivity { sut ->
  32. session = SessionMixin(
  33. sut,
  34. userAccountManager
  35. )
  36. }
  37. }
  38. @Test
  39. fun startAccountCreation() {
  40. session.startAccountCreation()
  41. scenario = activityRule.scenario
  42. scenario?.onActivity { sut ->
  43. assert(sut.account.name == userAccountManager.accounts.first().name)
  44. }
  45. }
  46. }