mirror of
https://github.com/commons-app/apps-android-commons.git
synced 2025-10-27 12:53:55 +01:00
* Implemented basic flow to remove location * Fixed and added new tests and enhanced UX
This commit is contained in:
parent
7dd00efa64
commit
0a6257b27b
8 changed files with 150 additions and 21 deletions
|
|
@ -2,7 +2,6 @@ package fr.free.nrw.commons.locationpicker
|
|||
|
||||
import android.content.Context
|
||||
import android.os.Looper
|
||||
import android.util.Log
|
||||
import android.view.View
|
||||
import android.widget.Button
|
||||
import android.widget.ImageView
|
||||
|
|
@ -11,10 +10,8 @@ import androidx.appcompat.widget.AppCompatTextView
|
|||
import com.google.android.material.floatingactionbutton.FloatingActionButton
|
||||
import com.nhaarman.mockitokotlin2.times
|
||||
import com.nhaarman.mockitokotlin2.verify
|
||||
import com.nhaarman.mockitokotlin2.whenever
|
||||
import fr.free.nrw.commons.CameraPosition
|
||||
import fr.free.nrw.commons.LocationPicker.LocationPickerActivity
|
||||
import fr.free.nrw.commons.Media
|
||||
import fr.free.nrw.commons.TestCommonsApplication
|
||||
import fr.free.nrw.commons.kvstore.JsonKvStore
|
||||
import fr.free.nrw.commons.upload.mediaDetails.UploadMediaDetailFragment.LAST_LOCATION
|
||||
|
|
@ -29,7 +26,6 @@ import org.junit.runner.RunWith
|
|||
import org.mockito.Mock
|
||||
import org.mockito.Mockito.*
|
||||
import org.mockito.MockitoAnnotations
|
||||
import org.osmdroid.api.IMapController
|
||||
import org.osmdroid.util.GeoPoint
|
||||
import org.powermock.reflect.Whitebox
|
||||
import org.robolectric.Robolectric
|
||||
|
|
@ -38,7 +34,6 @@ import org.robolectric.RuntimeEnvironment
|
|||
import org.robolectric.Shadows
|
||||
import org.robolectric.annotation.Config
|
||||
import org.robolectric.annotation.LooperMode
|
||||
import java.lang.reflect.InvocationTargetException
|
||||
import java.lang.reflect.Method
|
||||
|
||||
@RunWith(RobolectricTestRunner::class)
|
||||
|
|
@ -61,6 +56,9 @@ class LocationPickerActivityUnitTests {
|
|||
@Mock
|
||||
private lateinit var modifyLocationButton: Button
|
||||
|
||||
@Mock
|
||||
private lateinit var removeLocationButton: Button
|
||||
|
||||
@Mock
|
||||
private lateinit var placeSelectedButton: FloatingActionButton
|
||||
|
||||
|
|
@ -96,6 +94,7 @@ class LocationPickerActivityUnitTests {
|
|||
Whitebox.setInternalState(activity, "applicationKvStore", applicationKvStore)
|
||||
Whitebox.setInternalState(activity, "cameraPosition", cameraPosition)
|
||||
Whitebox.setInternalState(activity, "modifyLocationButton", modifyLocationButton)
|
||||
Whitebox.setInternalState(activity, "removeLocationButton", removeLocationButton)
|
||||
Whitebox.setInternalState(activity, "placeSelectedButton", placeSelectedButton)
|
||||
Whitebox.setInternalState(activity, "showInMapButton", showInMapButton)
|
||||
Whitebox.setInternalState(activity, "markerImage", markerImage)
|
||||
|
|
@ -134,6 +133,7 @@ class LocationPickerActivityUnitTests {
|
|||
method.invoke(activity)
|
||||
verify(placeSelectedButton, times(1)).visibility = View.VISIBLE
|
||||
verify(modifyLocationButton, times(1)).visibility = View.GONE
|
||||
verify(removeLocationButton, times(1)).visibility = View.GONE
|
||||
verify(showInMapButton, times(1)).visibility = View.GONE
|
||||
verify(markerImage, times(1)).visibility = View.VISIBLE
|
||||
verify(shadow, times(1)).visibility = View.VISIBLE
|
||||
|
|
@ -142,6 +142,16 @@ class LocationPickerActivityUnitTests {
|
|||
verify(fabCenterOnLocation, times(1)).visibility = View.VISIBLE
|
||||
}
|
||||
|
||||
@Test
|
||||
@Throws(Exception::class)
|
||||
fun testOnClickRemoveLocation() {
|
||||
val method: Method = LocationPickerActivity::class.java.getDeclaredMethod(
|
||||
"onClickRemoveLocation"
|
||||
)
|
||||
method.isAccessible = true
|
||||
method.invoke(activity)
|
||||
}
|
||||
|
||||
@Test
|
||||
@Throws(Exception::class)
|
||||
fun testPlaceSelected() {
|
||||
|
|
|
|||
|
|
@ -382,7 +382,7 @@ class UploadMediaDetailFragmentUnitTest {
|
|||
`when`(latLng.longitude).thenReturn(0.0)
|
||||
`when`(uploadItem.gpsCoords).thenReturn(imageCoordinates)
|
||||
fragment.onActivityResult(1211, Activity.RESULT_OK, intent)
|
||||
Mockito.verify(presenter, Mockito.times(1)).displayLocDialog(0, null)
|
||||
Mockito.verify(presenter, Mockito.times(1)).displayLocDialog(0, null, false)
|
||||
}
|
||||
|
||||
@Test
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue