SyncedFoldersActivityIT.java 3.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081
  1. /*
  2. * Nextcloud - Android Client
  3. *
  4. * SPDX-FileCopyrightText: 2020 Tobias Kaminsky <tobias@kaminsky.me>
  5. * SPDX-FileCopyrightText: 2020 Nextcloud GmbH
  6. * SPDX-License-Identifier: AGPL-3.0-or-later
  7. */
  8. package com.nextcloud.client;
  9. import android.app.Activity;
  10. import android.content.Intent;
  11. import com.nextcloud.client.preferences.SubFolderRule;
  12. import com.owncloud.android.AbstractIT;
  13. import com.owncloud.android.databinding.SyncedFoldersLayoutBinding;
  14. import com.owncloud.android.datamodel.MediaFolderType;
  15. import com.owncloud.android.datamodel.SyncedFolder;
  16. import com.owncloud.android.datamodel.SyncedFolderDisplayItem;
  17. import com.owncloud.android.ui.activity.SyncedFoldersActivity;
  18. import com.owncloud.android.ui.dialog.SyncedFolderPreferencesDialogFragment;
  19. import com.owncloud.android.utils.ScreenshotTest;
  20. import org.junit.Rule;
  21. import org.junit.Test;
  22. import java.util.Objects;
  23. import androidx.test.espresso.intent.rule.IntentsTestRule;
  24. import static androidx.test.platform.app.InstrumentationRegistry.getInstrumentation;
  25. public class SyncedFoldersActivityIT extends AbstractIT {
  26. @Rule public IntentsTestRule<SyncedFoldersActivity> activityRule = new IntentsTestRule<>(SyncedFoldersActivity.class,
  27. true,
  28. false);
  29. @Test
  30. @ScreenshotTest
  31. public void open() {
  32. SyncedFoldersActivity activity = activityRule.launchActivity(null);
  33. activity.adapter.clear();
  34. SyncedFoldersLayoutBinding sut = activity.binding;
  35. shortSleep();
  36. screenshot(sut.emptyList.emptyListView);
  37. }
  38. @Test
  39. @ScreenshotTest
  40. public void testSyncedFolderDialog() {
  41. SyncedFolderDisplayItem item = new SyncedFolderDisplayItem(1,
  42. "/sdcard/DCIM/",
  43. "/InstantUpload/",
  44. true,
  45. false,
  46. false,
  47. true,
  48. "test@https://nextcloud.localhost",
  49. 0,
  50. 0,
  51. true,
  52. 1000,
  53. "Name",
  54. MediaFolderType.IMAGE,
  55. false,
  56. SubFolderRule.YEAR_MONTH,
  57. false,
  58. SyncedFolder.NOT_SCANNED_YET);
  59. SyncedFolderPreferencesDialogFragment sut = SyncedFolderPreferencesDialogFragment.newInstance(item, 0);
  60. Intent intent = new Intent(targetContext, SyncedFoldersActivity.class);
  61. SyncedFoldersActivity activity = activityRule.launchActivity(intent);
  62. sut.show(activity.getSupportFragmentManager(), "");
  63. getInstrumentation().waitForIdleSync();
  64. shortSleep();
  65. screenshot(Objects.requireNonNull(sut.requireDialog().getWindow()).getDecorView());
  66. }
  67. }