|
30 | 30 | import static junit.framework.TestCase.assertEquals; |
31 | 31 | import static org.junit.Assert.assertFalse; |
32 | 32 | import static org.junit.Assert.assertTrue; |
| 33 | +import static org.junit.Assume.assumeTrue; |
33 | 34 |
|
34 | 35 | import android.net.Uri; |
35 | 36 | import android.os.Bundle; |
|
42 | 43 | import com.owncloud.android.lib.common.OwnCloudClientFactory; |
43 | 44 | import com.owncloud.android.lib.common.operations.RemoteOperationResult; |
44 | 45 | import com.owncloud.android.lib.resources.files.CreateFolderRemoteOperation; |
| 46 | +import com.owncloud.android.lib.resources.files.ToggleFavoriteRemoteOperation; |
| 47 | +import com.owncloud.android.lib.resources.status.GetCapabilitiesRemoteOperation; |
| 48 | +import com.owncloud.android.lib.resources.status.NextcloudVersion; |
| 49 | +import com.owncloud.android.lib.resources.status.OCCapability; |
| 50 | + |
| 51 | +import junit.framework.TestCase; |
45 | 52 |
|
46 | 53 | import org.junit.Test; |
47 | 54 |
|
@@ -223,4 +230,105 @@ public void sharedWithMe() { |
223 | 230 | resultSharedWithMe = sutSharedWithMe.execute(client); |
224 | 231 | assertEquals(1, resultSharedWithMe.getResultData().size()); |
225 | 232 | } |
| 233 | + |
| 234 | + @Test |
| 235 | + public void favorites() { |
| 236 | + // only on NC25+ |
| 237 | + OCCapability ocCapability = (OCCapability) new GetCapabilitiesRemoteOperation() |
| 238 | + .execute(nextcloudClient).getSingleData(); |
| 239 | + assumeTrue(ocCapability.getVersion().isNewerOrEqual(NextcloudVersion.nextcloud_25)); |
| 240 | + |
| 241 | + // share folder to user "admin" |
| 242 | + assertTrue(new CreateFolderRemoteOperation("/shareToAdminNoFavorite/", true).execute(client).isSuccess()); |
| 243 | + RemoteOperationResult<List<OCShare>> createResult = new CreateShareRemoteOperation("/shareToAdminNoFavorite/", |
| 244 | + ShareType.USER, |
| 245 | + "admin", |
| 246 | + false, |
| 247 | + "", |
| 248 | + OCShare.MAXIMUM_PERMISSIONS_FOR_FOLDER, |
| 249 | + true) |
| 250 | + .execute(client); |
| 251 | + |
| 252 | + assertTrue(createResult.isSuccess()); |
| 253 | + |
| 254 | + String path = "/shareToAdminFavorite/"; |
| 255 | + assertTrue(new CreateFolderRemoteOperation(path, true).execute(client).isSuccess()); |
| 256 | + |
| 257 | + // favorite it |
| 258 | + TestCase.assertTrue(new ToggleFavoriteRemoteOperation(true, path).execute(client).isSuccess()); |
| 259 | + |
| 260 | + // share folder to user "admin" |
| 261 | + createResult = new CreateShareRemoteOperation(path, |
| 262 | + ShareType.USER, |
| 263 | + "admin", |
| 264 | + false, |
| 265 | + "", |
| 266 | + OCShare.MAXIMUM_PERMISSIONS_FOR_FOLDER, |
| 267 | + true) |
| 268 | + .execute(client); |
| 269 | + |
| 270 | + assertTrue(createResult.isSuccess()); |
| 271 | + |
| 272 | + // check |
| 273 | + RemoteOperationResult<List<OCShare>> sut = new GetSharesRemoteOperation(false).execute(client); |
| 274 | + assertEquals(2, sut.getResultData().size()); |
| 275 | + assertFalse(sut.getResultData().get(0).isFavorite()); |
| 276 | + assertTrue(sut.getResultData().get(1).isFavorite()); |
| 277 | + } |
| 278 | + |
| 279 | + @Test |
| 280 | + public void noFavorite() { |
| 281 | + // only on NC25+ |
| 282 | + OCCapability ocCapability = (OCCapability) new GetCapabilitiesRemoteOperation() |
| 283 | + .execute(nextcloudClient).getSingleData(); |
| 284 | + assumeTrue(ocCapability.getVersion().isNewerOrEqual(NextcloudVersion.nextcloud_25)); |
| 285 | + |
| 286 | + assertTrue(new CreateFolderRemoteOperation("/shareToAdminNoFavorite/", true).execute(client).isSuccess()); |
| 287 | + |
| 288 | + // share folder to user "admin" |
| 289 | + RemoteOperationResult<List<OCShare>> createResult = new CreateShareRemoteOperation("/shareToAdminNoFavorite/", |
| 290 | + ShareType.USER, |
| 291 | + "admin", |
| 292 | + false, |
| 293 | + "", |
| 294 | + OCShare.MAXIMUM_PERMISSIONS_FOR_FOLDER, |
| 295 | + true) |
| 296 | + .execute(client); |
| 297 | + |
| 298 | + assertTrue(createResult.isSuccess()); |
| 299 | + |
| 300 | + OCShare share = createResult.getResultData().get(0); |
| 301 | + |
| 302 | + assertFalse(share.isFavorite()); |
| 303 | + } |
| 304 | + |
| 305 | + @Test |
| 306 | + public void favorite() { |
| 307 | + // only on NC25+ |
| 308 | + OCCapability ocCapability = (OCCapability) new GetCapabilitiesRemoteOperation() |
| 309 | + .execute(nextcloudClient).getSingleData(); |
| 310 | + assumeTrue(ocCapability.getVersion().isNewerOrEqual(NextcloudVersion.nextcloud_25)); |
| 311 | + |
| 312 | + String path = "/shareToAdminFavorite/"; |
| 313 | + assertTrue(new CreateFolderRemoteOperation(path, true).execute(client).isSuccess()); |
| 314 | + |
| 315 | + // favorite it |
| 316 | + TestCase.assertTrue(new ToggleFavoriteRemoteOperation(true, path).execute(client).isSuccess()); |
| 317 | + |
| 318 | + // share folder to user "admin" |
| 319 | + RemoteOperationResult<List<OCShare>> createResult = new CreateShareRemoteOperation(path, |
| 320 | + ShareType.USER, |
| 321 | + "admin", |
| 322 | + false, |
| 323 | + "", |
| 324 | + OCShare.MAXIMUM_PERMISSIONS_FOR_FOLDER, |
| 325 | + true) |
| 326 | + .execute(client); |
| 327 | + |
| 328 | + assertTrue(createResult.isSuccess()); |
| 329 | + |
| 330 | + OCShare share = createResult.getResultData().get(0); |
| 331 | + |
| 332 | + assertTrue(share.isFavorite()); |
| 333 | + } |
226 | 334 | } |
0 commit comments