MockUserTest.kt 1.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758
  1. /*
  2. * Nextcloud - Android Client
  3. *
  4. * SPDX-FileCopyrightText: 2020 Chris Narkiewicz <hello@ezaquarii.com>
  5. * SPDX-FileCopyrightText: 2020 Nextcloud GmbH
  6. * SPDX-License-Identifier: AGPL-3.0-or-later OR GPL-2.0-only
  7. */
  8. package com.nextcloud.client.account
  9. import android.os.Parcel
  10. import org.junit.Assert.assertEquals
  11. import org.junit.Assert.assertNotSame
  12. import org.junit.Assert.assertTrue
  13. import org.junit.Test
  14. class MockUserTest {
  15. private companion object {
  16. const val ACCOUNT_NAME = "test_account_name"
  17. const val ACCOUNT_TYPE = "test_account_type"
  18. }
  19. @Test
  20. fun mock_user_is_parcelable() {
  21. // GIVEN
  22. // mock user instance
  23. val original = MockUser(ACCOUNT_NAME, ACCOUNT_TYPE)
  24. // WHEN
  25. // instance is serialized into Parcel
  26. // instance is retrieved from Parcel
  27. val parcel = Parcel.obtain()
  28. parcel.setDataPosition(0)
  29. parcel.writeParcelable(original, 0)
  30. parcel.setDataPosition(0)
  31. val retrieved = parcel.readParcelable<User>(User::class.java.classLoader)
  32. // THEN
  33. // retrieved instance in distinct
  34. // instances are equal
  35. assertNotSame(original, retrieved)
  36. assertTrue(retrieved is MockUser)
  37. assertEquals(original, retrieved)
  38. }
  39. @Test
  40. fun mock_user_has_platform_account() {
  41. // GIVEN
  42. // mock user instance
  43. val mock = MockUser(ACCOUNT_NAME, ACCOUNT_TYPE)
  44. // THEN
  45. // can convert to platform account
  46. val account = mock.toPlatformAccount()
  47. assertEquals(ACCOUNT_NAME, account.name)
  48. assertEquals(ACCOUNT_TYPE, account.type)
  49. }
  50. }