OCFileIconTests.kt 3.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091
  1. /*
  2. * Nextcloud - Android Client
  3. *
  4. * SPDX-FileCopyrightText: 2023 Alper Ozturk <alper_ozturk@proton.me>
  5. * SPDX-FileCopyrightText: 2023 Nextcloud GmbH
  6. * SPDX-License-Identifier: AGPL-3.0-or-later OR GPL-2.0-only
  7. */
  8. package com.owncloud.android.datamodel
  9. import com.owncloud.android.R
  10. import com.owncloud.android.lib.common.network.WebdavEntry.MountType
  11. import org.junit.After
  12. import org.junit.Before
  13. import org.junit.Test
  14. class OCFileIconTests {
  15. private val path = "/path/to/a/file.txt"
  16. private var sut: OCFile? = null
  17. @Before
  18. fun setup() {
  19. sut = OCFile(path)
  20. }
  21. @Test
  22. fun testGetFileOverlayIconWhenFileIsAutoUploadFolderShouldReturnFolderOverlayUploadIcon() {
  23. val fileOverlayIcon = sut?.getFileOverlayIconId(true)
  24. val expectedDrawable = R.drawable.ic_folder_overlay_upload
  25. assert(fileOverlayIcon == expectedDrawable)
  26. }
  27. @Test
  28. fun testGetFileOverlayIconWhenFileIsEncryptedShouldReturnFolderOverlayKeyIcon() {
  29. sut?.isEncrypted = true
  30. val fileOverlayIcon = sut?.getFileOverlayIconId(false)
  31. val expectedDrawable = R.drawable.ic_folder_overlay_key
  32. assert(fileOverlayIcon == expectedDrawable)
  33. }
  34. @Test
  35. fun testGetFileOverlayIconWhenFileIsGroupFolderShouldReturnFolderOverlayAccountGroupIcon() {
  36. sut?.mountType = MountType.GROUP
  37. val fileOverlayIcon = sut?.getFileOverlayIconId(false)
  38. val expectedDrawable = R.drawable.ic_folder_overlay_account_group
  39. assert(fileOverlayIcon == expectedDrawable)
  40. }
  41. @Test
  42. fun testGetFileOverlayIconWhenFileIsSharedViaLinkShouldReturnFolderOverlayLinkIcon() {
  43. sut?.isSharedViaLink = true
  44. val fileOverlayIcon = sut?.getFileOverlayIconId(false)
  45. val expectedDrawable = R.drawable.ic_folder_overlay_link
  46. assert(fileOverlayIcon == expectedDrawable)
  47. }
  48. @Test
  49. fun testGetFileOverlayIconWhenFileIsSharedShouldReturnFolderOverlayShareIcon() {
  50. sut?.isSharedWithSharee = true
  51. val fileOverlayIcon = sut?.getFileOverlayIconId(false)
  52. val expectedDrawable = R.drawable.ic_folder_overlay_share
  53. assert(fileOverlayIcon == expectedDrawable)
  54. }
  55. @Test
  56. fun testGetFileOverlayIconWhenFileIsExternalShouldReturnFolderOverlayExternalIcon() {
  57. sut?.mountType = MountType.EXTERNAL
  58. val fileOverlayIcon = sut?.getFileOverlayIconId(false)
  59. val expectedDrawable = R.drawable.ic_folder_overlay_external
  60. assert(fileOverlayIcon == expectedDrawable)
  61. }
  62. @Test
  63. fun testGetFileOverlayIconWhenFileIsLockedShouldReturnFolderOverlayLockIcon() {
  64. sut?.isLocked = true
  65. val fileOverlayIcon = sut?.getFileOverlayIconId(false)
  66. val expectedDrawable = R.drawable.ic_folder_overlay_lock
  67. assert(fileOverlayIcon == expectedDrawable)
  68. }
  69. @Test
  70. fun testGetFileOverlayIconWhenFileIsFolderShouldReturnNull() {
  71. val fileOverlayIcon = sut?.getFileOverlayIconId(false)
  72. assert(fileOverlayIcon == null)
  73. }
  74. @After
  75. fun destroy() {
  76. sut = null
  77. }
  78. }