Эх сурвалжийг харах

Merge pull request #12057 from nextcloud/fixTwoScreenshotTests

make tests more robust
Alper Öztürk 1 жил өмнө
parent
commit
b594c35323

BIN
app/screenshots/gplay/debug/com.owncloud.android.ui.fragment.FileDetailFragmentStaticServerIT_showFileDetailActivitiesFragment.png


BIN
app/screenshots/gplay/debug/com.owncloud.android.ui.fragment.FileDetailFragmentStaticServerIT_showFileDetailDetailsFragment.png


+ 11 - 5
app/src/androidTest/java/com/owncloud/android/ui/fragment/FileDetailFragmentStaticServerIT.kt

@@ -73,14 +73,19 @@ class FileDetailFragmentStaticServerIT : AbstractIT() {
     @Test
     @ScreenshotTest
     fun showFileDetailDetailsFragment() {
-        val sut = testActivityRule.launchActivity(null)
-        sut.addFragment(ImageDetailFragment.newInstance(oCFile, user))
+        val activity = testActivityRule.launchActivity(null)
+        val sut = ImageDetailFragment.newInstance(oCFile, user)
+        activity.addFragment(sut)
 
-        waitForIdleSync()
-        shortSleep()
         shortSleep()
         shortSleep()
-        screenshot(sut)
+        waitForIdleSync()
+
+        activity.runOnUiThread {
+            sut.hideMap()
+        }
+
+        screenshot(activity)
     }
 
     @Test
@@ -182,6 +187,7 @@ class FileDetailFragmentStaticServerIT : AbstractIT() {
         waitForIdleSync()
 
         activity.runOnUiThread {
+            sut.fileDetailActivitiesFragment.disableLoadingActivities()
             sut
                 .fileDetailActivitiesFragment
                 .setErrorContent(targetContext.resources.getString(R.string.file_detail_activity_error))

+ 6 - 0
app/src/main/java/com/nextcloud/ui/ImageDetailFragment.kt

@@ -30,6 +30,7 @@ import android.os.Parcelable
 import android.view.LayoutInflater
 import android.view.View
 import android.view.ViewGroup
+import androidx.annotation.VisibleForTesting
 import androidx.core.content.ContextCompat
 import androidx.fragment.app.Fragment
 import com.nextcloud.android.common.ui.theme.utils.ColorRole
@@ -260,6 +261,11 @@ class ImageDetailFragment : Fragment(), Injectable {
         binding.imageLocationMapCopyright.text = binding.imageLocationMap.tileProvider.tileSource.copyrightNotice
     }
 
+    @VisibleForTesting
+    fun hideMap() {
+        binding.imageLocationMap.visibility = View.GONE
+    }
+
     @SuppressLint("SimpleDateFormat")
     private fun gatherMetadata() {
         val fileSize = DisplayUtils.bytesToHumanReadable(file.fileLength)

+ 9 - 0
app/src/main/java/com/owncloud/android/ui/fragment/FileDetailActivitiesFragment.java

@@ -284,6 +284,10 @@ public class FileDetailActivitiesFragment extends Fragment implements
             });
             return;
         }
+        
+        if (!isLoadingActivities) {
+            return;
+        }
 
         Thread t = new Thread(() -> {
             try {
@@ -454,6 +458,11 @@ public class FileDetailActivitiesFragment extends Fragment implements
     public boolean shouldCallGeneratedCallback(String tag, Object callContext) {
         return false;
     }
+    
+    @VisibleForTesting
+    public void disableLoadingActivities() {
+        isLoadingActivities = false;
+    }
 
     private static class SubmitCommentTask extends AsyncTask<Void, Void, Boolean> {
 

+ 1 - 1
scripts/analysis/analysis-wrapper.sh

@@ -128,7 +128,7 @@ else
 
     # check for NotNull
     if [[ $(grep org.jetbrains.annotations app/src/main/* -irl | wc -l) -gt 0 ]] ; then
-        notNull="org.jetbrains.annotations.NotNull is used. Please use androidx.annotation.NonNull instead.<br><br>"
+        notNull="org.jetbrains.annotations.* is used. Please use androidx.annotation.* instead.<br><br>"
     fi
 
     bodyContent="$codacyResult $lintResult $spotbugsResult $checkLibraryMessage $lintMessage $spotbugsMessage $gplayLimitation $notNull"