|
3 | 3 | * |
4 | 4 | * @author Juan Carlos Garrote Gascón |
5 | 5 | * |
6 | | - * Copyright (C) 2021 ownCloud GmbH. |
7 | | - * <p> |
| 6 | + * Copyright (C) 2023 ownCloud GmbH. |
| 7 | + * |
8 | 8 | * This program is free software: you can redistribute it and/or modify |
9 | 9 | * it under the terms of the GNU General Public License version 2, |
10 | 10 | * as published by the Free Software Foundation. |
11 | | - * <p> |
| 11 | + * |
12 | 12 | * This program is distributed in the hope that it will be useful, |
13 | 13 | * but WITHOUT ANY WARRANTY; without even the implied warranty of |
14 | 14 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
15 | 15 | * GNU General Public License for more details. |
16 | | - * <p> |
| 16 | + * |
17 | 17 | * You should have received a copy of the GNU General Public License |
18 | 18 | * along with this program. If not, see <http://www.gnu.org/licenses/>. |
19 | 19 | */ |
@@ -64,6 +64,7 @@ class SettingsMoreFragmentTest { |
64 | 64 |
|
65 | 65 | private var prefHelp: Preference? = null |
66 | 66 | private var prefSync: Preference? = null |
| 67 | + private var prefAccessDocProvider: Preference? = null |
67 | 68 | private var prefRecommend: Preference? = null |
68 | 69 | private var prefFeedback: Preference? = null |
69 | 70 | private var prefImprint: Preference? = null |
@@ -110,12 +111,14 @@ class SettingsMoreFragmentTest { |
110 | 111 | private fun launchTest( |
111 | 112 | helpEnabled: Boolean = true, |
112 | 113 | syncEnabled: Boolean = true, |
| 114 | + docProviderAppEnabled: Boolean = true, |
113 | 115 | recommendEnabled: Boolean = true, |
114 | 116 | feedbackEnabled: Boolean = true, |
115 | 117 | imprintEnabled: Boolean = true |
116 | 118 | ) { |
117 | 119 | every { moreViewModel.isHelpEnabled() } returns helpEnabled |
118 | 120 | every { moreViewModel.isSyncEnabled() } returns syncEnabled |
| 121 | + every { moreViewModel.isDocProviderAppEnabled() } returns docProviderAppEnabled |
119 | 122 | every { moreViewModel.isRecommendEnabled() } returns recommendEnabled |
120 | 123 | every { moreViewModel.isFeedbackEnabled() } returns feedbackEnabled |
121 | 124 | every { moreViewModel.isImprintEnabled() } returns imprintEnabled |
@@ -146,6 +149,16 @@ class SettingsMoreFragmentTest { |
146 | 149 | enabled = true |
147 | 150 | ) |
148 | 151 |
|
| 152 | + prefAccessDocProvider = getPreference(PREFERENCE_ACCESS_DOCUMENT_PROVIDER) |
| 153 | + assertNotNull(prefAccessDocProvider) |
| 154 | + prefAccessDocProvider?.verifyPreference( |
| 155 | + keyPref = PREFERENCE_ACCESS_DOCUMENT_PROVIDER, |
| 156 | + titlePref = context.getString(R.string.prefs_access_document_provider), |
| 157 | + summaryPref = context.getString(R.string.prefs_access_document_provider_summary), |
| 158 | + visible = true, |
| 159 | + enabled = true |
| 160 | + ) |
| 161 | + |
149 | 162 | prefRecommend = getPreference(PREFERENCE_RECOMMEND) |
150 | 163 | assertNotNull(prefRecommend) |
151 | 164 | prefRecommend?.verifyPreference( |
@@ -190,6 +203,14 @@ class SettingsMoreFragmentTest { |
190 | 203 | assertNull(prefSync) |
191 | 204 | } |
192 | 205 |
|
| 206 | + @Test |
| 207 | + fun accessDocumentProviderNotEnabledView() { |
| 208 | + launchTest(docProviderAppEnabled = false) |
| 209 | + prefAccessDocProvider = getPreference(PREFERENCE_ACCESS_DOCUMENT_PROVIDER) |
| 210 | + |
| 211 | + assertNull(prefAccessDocProvider) |
| 212 | + } |
| 213 | + |
193 | 214 | @Test |
194 | 215 | fun recommendNotEnabledView() { |
195 | 216 | launchTest(recommendEnabled = false) |
@@ -238,6 +259,18 @@ class SettingsMoreFragmentTest { |
238 | 259 | intended(hasData(context.getString(R.string.url_sync_calendar_contacts))) |
239 | 260 | } |
240 | 261 |
|
| 262 | + @Test |
| 263 | + fun accessDocumentProviderOpensNotEmptyUrl() { |
| 264 | + every { moreViewModel.getDocProviderAppUrl() } returns context.getString(R.string.url_document_provider_app) |
| 265 | + |
| 266 | + launchTest() |
| 267 | + |
| 268 | + mockIntent(action = Intent.ACTION_VIEW) |
| 269 | + onView(withText(R.string.prefs_access_document_provider)).perform(click()) |
| 270 | + |
| 271 | + intended(hasData(context.getString(R.string.url_document_provider_app))) |
| 272 | + } |
| 273 | + |
241 | 274 | @Test |
242 | 275 | fun recommendOpensSender() { |
243 | 276 | launchTest() |
@@ -307,6 +340,7 @@ class SettingsMoreFragmentTest { |
307 | 340 | companion object { |
308 | 341 | private const val PREFERENCE_HELP = "help" |
309 | 342 | private const val PREFERENCE_SYNC_CALENDAR_CONTACTS = "syncCalendarContacts" |
| 343 | + private const val PREFERENCE_ACCESS_DOCUMENT_PROVIDER = "accessDocumentProvider" |
310 | 344 | private const val PREFERENCE_RECOMMEND = "recommend" |
311 | 345 | private const val PREFERENCE_FEEDBACK = "feedback" |
312 | 346 | private const val PREFERENCE_IMPRINT = "imprint" |
|
0 commit comments