Fix unit tests.
This commit is contained in:
parent
84b3d5520c
commit
353f290f0c
@ -21,7 +21,10 @@ import im.vector.app.features.location.LocationData
|
|||||||
import im.vector.app.features.location.LocationSharingServiceConnection
|
import im.vector.app.features.location.LocationSharingServiceConnection
|
||||||
import im.vector.app.test.test
|
import im.vector.app.test.test
|
||||||
import io.mockk.every
|
import io.mockk.every
|
||||||
|
import io.mockk.just
|
||||||
import io.mockk.mockk
|
import io.mockk.mockk
|
||||||
|
import io.mockk.runs
|
||||||
|
import io.mockk.verify
|
||||||
import kotlinx.coroutines.flow.flowOf
|
import kotlinx.coroutines.flow.flowOf
|
||||||
import kotlinx.coroutines.test.runTest
|
import kotlinx.coroutines.test.runTest
|
||||||
import org.junit.Rule
|
import org.junit.Rule
|
||||||
@ -60,7 +63,7 @@ class LocationLiveMapViewModelTest {
|
|||||||
showStopSharingButton = false
|
showStopSharingButton = false
|
||||||
)
|
)
|
||||||
)
|
)
|
||||||
|
every { locationServiceConnection.bind(any()) } just runs
|
||||||
every { getListOfUserLiveLocationUseCase.execute(fakeRoomId) } returns flowOf(userLocations)
|
every { getListOfUserLiveLocationUseCase.execute(fakeRoomId) } returns flowOf(userLocations)
|
||||||
|
|
||||||
val viewModel = createViewModel()
|
val viewModel = createViewModel()
|
||||||
@ -72,5 +75,7 @@ class LocationLiveMapViewModelTest {
|
|||||||
)
|
)
|
||||||
)
|
)
|
||||||
.finish()
|
.finish()
|
||||||
|
|
||||||
|
verify { locationServiceConnection.bind(viewModel) }
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -21,18 +21,28 @@ import im.vector.app.features.location.LocationData
|
|||||||
import im.vector.app.test.fakes.FakeActiveSessionHolder
|
import im.vector.app.test.fakes.FakeActiveSessionHolder
|
||||||
import im.vector.app.test.fakes.FakeLocationPinProvider
|
import im.vector.app.test.fakes.FakeLocationPinProvider
|
||||||
import im.vector.app.test.fakes.FakeSession
|
import im.vector.app.test.fakes.FakeSession
|
||||||
|
import io.mockk.every
|
||||||
import io.mockk.mockk
|
import io.mockk.mockk
|
||||||
|
import io.mockk.mockkStatic
|
||||||
|
import io.mockk.unmockkStatic
|
||||||
import kotlinx.coroutines.test.runTest
|
import kotlinx.coroutines.test.runTest
|
||||||
import org.amshove.kluent.shouldBeEqualTo
|
import org.amshove.kluent.shouldBeEqualTo
|
||||||
|
import org.junit.After
|
||||||
|
import org.junit.Before
|
||||||
import org.junit.Test
|
import org.junit.Test
|
||||||
|
import org.matrix.android.sdk.api.session.getUser
|
||||||
import org.matrix.android.sdk.api.session.room.model.livelocation.LiveLocationShareAggregatedSummary
|
import org.matrix.android.sdk.api.session.room.model.livelocation.LiveLocationShareAggregatedSummary
|
||||||
import org.matrix.android.sdk.api.session.room.model.message.LocationInfo
|
import org.matrix.android.sdk.api.session.room.model.message.LocationInfo
|
||||||
import org.matrix.android.sdk.api.session.room.model.message.MessageBeaconLocationDataContent
|
import org.matrix.android.sdk.api.session.room.model.message.MessageBeaconLocationDataContent
|
||||||
|
import org.matrix.android.sdk.api.session.user.model.User
|
||||||
import org.matrix.android.sdk.api.util.MatrixItem
|
import org.matrix.android.sdk.api.util.MatrixItem
|
||||||
|
import org.matrix.android.sdk.api.util.toMatrixItem
|
||||||
|
|
||||||
private const val A_USER_ID = "@aUserId:matrix.org"
|
private const val A_USER_ID = "@aUserId:matrix.org"
|
||||||
|
private const val A_USER_DISPLAY_NAME = "A_USER_DISPLAY_NAME"
|
||||||
private const val A_IS_ACTIVE = true
|
private const val A_IS_ACTIVE = true
|
||||||
private const val A_END_OF_LIVE_TIMESTAMP = 123L
|
private const val A_END_OF_LIVE_TIMESTAMP = 123L
|
||||||
|
private const val A_LOCATION_TIMESTAMP = 122L
|
||||||
private const val A_LATITUDE = 40.05
|
private const val A_LATITUDE = 40.05
|
||||||
private const val A_LONGITUDE = 29.24
|
private const val A_LONGITUDE = 29.24
|
||||||
private const val A_UNCERTAINTY = 30.0
|
private const val A_UNCERTAINTY = 30.0
|
||||||
@ -46,6 +56,19 @@ class UserLiveLocationViewStateMapperTest {
|
|||||||
|
|
||||||
private val userLiveLocationViewStateMapper = UserLiveLocationViewStateMapper(locationPinProvider.instance, fakeActiveSessionHolder.instance)
|
private val userLiveLocationViewStateMapper = UserLiveLocationViewStateMapper(locationPinProvider.instance, fakeActiveSessionHolder.instance)
|
||||||
|
|
||||||
|
@Before
|
||||||
|
fun setup() {
|
||||||
|
mockkStatic("org.matrix.android.sdk.api.util.MatrixItemKt")
|
||||||
|
val fakeUser = mockk<User>()
|
||||||
|
every { fakeSession.getUser(A_USER_ID) } returns fakeUser
|
||||||
|
every { fakeUser.toMatrixItem() } returns MatrixItem.UserItem(id = A_USER_ID, displayName = A_USER_DISPLAY_NAME, avatarUrl = "")
|
||||||
|
}
|
||||||
|
|
||||||
|
@After
|
||||||
|
fun tearDown() {
|
||||||
|
unmockkStatic("org.matrix.android.sdk.api.util.MatrixItemKt")
|
||||||
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
fun `given a summary with invalid data then result is null`() = runTest {
|
fun `given a summary with invalid data then result is null`() = runTest {
|
||||||
val summary1 = LiveLocationShareAggregatedSummary(
|
val summary1 = LiveLocationShareAggregatedSummary(
|
||||||
@ -71,7 +94,8 @@ class UserLiveLocationViewStateMapperTest {
|
|||||||
val pinDrawable = mockk<Drawable>()
|
val pinDrawable = mockk<Drawable>()
|
||||||
|
|
||||||
val locationDataContent = MessageBeaconLocationDataContent(
|
val locationDataContent = MessageBeaconLocationDataContent(
|
||||||
locationInfo = LocationInfo(geoUri = A_GEO_URI)
|
locationInfo = LocationInfo(geoUri = A_GEO_URI),
|
||||||
|
unstableTimestampMillis = A_LOCATION_TIMESTAMP
|
||||||
)
|
)
|
||||||
val summary = LiveLocationShareAggregatedSummary(
|
val summary = LiveLocationShareAggregatedSummary(
|
||||||
userId = A_USER_ID,
|
userId = A_USER_ID,
|
||||||
@ -84,7 +108,7 @@ class UserLiveLocationViewStateMapperTest {
|
|||||||
val viewState = userLiveLocationViewStateMapper.map(summary)
|
val viewState = userLiveLocationViewStateMapper.map(summary)
|
||||||
|
|
||||||
val expectedViewState = UserLiveLocationViewState(
|
val expectedViewState = UserLiveLocationViewState(
|
||||||
matrixItem = MatrixItem.UserItem(id = A_USER_ID, displayName = "User 2", avatarUrl = ""),
|
matrixItem = MatrixItem.UserItem(id = A_USER_ID, displayName = A_USER_DISPLAY_NAME, avatarUrl = ""),
|
||||||
pinDrawable = pinDrawable,
|
pinDrawable = pinDrawable,
|
||||||
locationData = LocationData(
|
locationData = LocationData(
|
||||||
latitude = A_LATITUDE,
|
latitude = A_LATITUDE,
|
||||||
@ -92,7 +116,7 @@ class UserLiveLocationViewStateMapperTest {
|
|||||||
uncertainty = A_UNCERTAINTY
|
uncertainty = A_UNCERTAINTY
|
||||||
),
|
),
|
||||||
endOfLiveTimestampMillis = A_END_OF_LIVE_TIMESTAMP,
|
endOfLiveTimestampMillis = A_END_OF_LIVE_TIMESTAMP,
|
||||||
locationTimestampMillis = A_END_OF_LIVE_TIMESTAMP,
|
locationTimestampMillis = A_LOCATION_TIMESTAMP,
|
||||||
showStopSharingButton = false
|
showStopSharingButton = false
|
||||||
)
|
)
|
||||||
viewState shouldBeEqualTo expectedViewState
|
viewState shouldBeEqualTo expectedViewState
|
||||||
|
Loading…
x
Reference in New Issue
Block a user