Skip to content

Commit

Permalink
make tests work
Browse files Browse the repository at this point in the history
  • Loading branch information
Helium314 committed Mar 30, 2024
1 parent e6879cc commit a7b8110
Show file tree
Hide file tree
Showing 4 changed files with 16 additions and 5 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ import de.westnordost.streetcomplete.testutils.any
import de.westnordost.streetcomplete.testutils.edit
import de.westnordost.streetcomplete.testutils.eq
import de.westnordost.streetcomplete.testutils.mock
import de.westnordost.streetcomplete.testutils.mockPrefs
import de.westnordost.streetcomplete.testutils.mockPrefs2
import de.westnordost.streetcomplete.testutils.node
import de.westnordost.streetcomplete.testutils.on
import kotlinx.coroutines.cancelAndJoin
Expand Down Expand Up @@ -49,7 +49,7 @@ class ElementEditsUploaderTest {

listener = mock()

uploader = ElementEditsUploader(elementEditsController, noteEditsController, mapDataController, singleUploader, mapDataApi, statisticsController, mock(), mock(), mockPrefs())
uploader = ElementEditsUploader(elementEditsController, noteEditsController, mapDataController, singleUploader, mapDataApi, statisticsController, mock(), mock(), mockPrefs2())
uploader.uploadedChangeListener = listener
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -162,7 +162,6 @@ class OsmNoteQuestControllerTest {
comment(text = "test", user = User(id = 1, "Blubbi"))
)))
on(userDataSource.userId).thenReturn(1)
on(notesPreferences.showOnlyNotesPhrasedAsQuestions).thenReturn(true)

assertNull(ctrl.getVisible(1))
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ import de.westnordost.streetcomplete.testutils.any
import de.westnordost.streetcomplete.testutils.bbox
import de.westnordost.streetcomplete.testutils.eq
import de.westnordost.streetcomplete.testutils.mock
import de.westnordost.streetcomplete.testutils.mockPrefs
import de.westnordost.streetcomplete.testutils.mockPrefs2
import de.westnordost.streetcomplete.testutils.on
import de.westnordost.streetcomplete.testutils.osmNoteQuest
import de.westnordost.streetcomplete.testutils.osmQuest
Expand Down Expand Up @@ -93,7 +93,7 @@ class VisibleQuestsSourceTest {
Unit
}

source = VisibleQuestsSource(questTypeRegistry, osmQuestSource, osmNoteQuestSource, visibleQuestTypeSource, teamModeQuestFilter, selectedOverlaySource, levelFilter, dayNightFilter, mockPrefs(), mock())
source = VisibleQuestsSource(questTypeRegistry, osmQuestSource, osmNoteQuestSource, visibleQuestTypeSource, teamModeQuestFilter, selectedOverlaySource, levelFilter, dayNightFilter, mockPrefs2(), mock())

listener = mock()
source.addListener(listener)
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
package de.westnordost.streetcomplete.testutils

import android.content.SharedPreferences
import com.russhwolf.settings.ObservableSettings
import org.mockito.ArgumentCaptor
import org.mockito.ArgumentMatcher
import org.mockito.ArgumentMatchers
Expand Down Expand Up @@ -31,3 +32,14 @@ fun mockPrefs(): SharedPreferences {
on(prefs.getBoolean(ArgumentMatchers.anyString(), eq(false))).thenAnswer { false }
return prefs
}

fun mockPrefs2(): ObservableSettings {
val prefs: ObservableSettings = mock()
on(prefs.getString(ArgumentMatchers.anyString(), ArgumentMatchers.anyString())).thenAnswer { inv -> inv.getArgument(1, String::class.java) }
on(prefs.getInt(ArgumentMatchers.anyString(), ArgumentMatchers.anyInt())).thenAnswer { inv -> inv.getArgument(1, Integer::class.java) }
on(prefs.getLong(ArgumentMatchers.anyString(), ArgumentMatchers.anyLong())).thenAnswer { inv -> inv.getArgument(1, Long::class.java) }
// style above doesn't work for boolean ("Cannot cast java.lang.Boolean to boolean")
on(prefs.getBoolean(ArgumentMatchers.anyString(), eq(true))).thenAnswer { true }
on(prefs.getBoolean(ArgumentMatchers.anyString(), eq(false))).thenAnswer { false }
return prefs
}

0 comments on commit a7b8110

Please sign in to comment.