Use test extension
This commit is contained in:
parent
dc53a03469
commit
a64fe57ec6
1 changed files with 6 additions and 18 deletions
|
|
@ -8,9 +8,6 @@
|
||||||
|
|
||||||
package io.element.android.features.preferences.impl.notifications
|
package io.element.android.features.preferences.impl.notifications
|
||||||
|
|
||||||
import app.cash.molecule.RecompositionMode
|
|
||||||
import app.cash.molecule.moleculeFlow
|
|
||||||
import app.cash.turbine.test
|
|
||||||
import com.google.common.truth.Truth.assertThat
|
import com.google.common.truth.Truth.assertThat
|
||||||
import io.element.android.features.preferences.impl.notifications.edit.EditDefaultNotificationSettingPresenter
|
import io.element.android.features.preferences.impl.notifications.edit.EditDefaultNotificationSettingPresenter
|
||||||
import io.element.android.features.preferences.impl.notifications.edit.EditDefaultNotificationSettingStateEvents
|
import io.element.android.features.preferences.impl.notifications.edit.EditDefaultNotificationSettingStateEvents
|
||||||
|
|
@ -21,6 +18,7 @@ import io.element.android.libraries.matrix.test.room.aRoomSummary
|
||||||
import io.element.android.libraries.matrix.test.roomlist.FakeRoomListService
|
import io.element.android.libraries.matrix.test.roomlist.FakeRoomListService
|
||||||
import io.element.android.tests.testutils.awaitLastSequentialItem
|
import io.element.android.tests.testutils.awaitLastSequentialItem
|
||||||
import io.element.android.tests.testutils.consumeItemsUntilPredicate
|
import io.element.android.tests.testutils.consumeItemsUntilPredicate
|
||||||
|
import io.element.android.tests.testutils.test
|
||||||
import kotlinx.coroutines.test.runTest
|
import kotlinx.coroutines.test.runTest
|
||||||
import org.junit.Test
|
import org.junit.Test
|
||||||
|
|
||||||
|
|
@ -29,9 +27,7 @@ class EditDefaultNotificationSettingsPresenterTest {
|
||||||
fun `present - ensures initial state is correct`() = runTest {
|
fun `present - ensures initial state is correct`() = runTest {
|
||||||
val notificationSettingsService = FakeNotificationSettingsService()
|
val notificationSettingsService = FakeNotificationSettingsService()
|
||||||
val presenter = createEditDefaultNotificationSettingPresenter(notificationSettingsService)
|
val presenter = createEditDefaultNotificationSettingPresenter(notificationSettingsService)
|
||||||
moleculeFlow(RecompositionMode.Immediate) {
|
presenter.test {
|
||||||
presenter.present()
|
|
||||||
}.test {
|
|
||||||
val initialState = awaitItem()
|
val initialState = awaitItem()
|
||||||
assertThat(initialState.mode).isNull()
|
assertThat(initialState.mode).isNull()
|
||||||
assertThat(initialState.isOneToOne).isFalse()
|
assertThat(initialState.isOneToOne).isFalse()
|
||||||
|
|
@ -53,9 +49,7 @@ class EditDefaultNotificationSettingsPresenterTest {
|
||||||
)
|
)
|
||||||
val roomListService = FakeRoomListService()
|
val roomListService = FakeRoomListService()
|
||||||
val presenter = createEditDefaultNotificationSettingPresenter(notificationSettingsService, roomListService)
|
val presenter = createEditDefaultNotificationSettingPresenter(notificationSettingsService, roomListService)
|
||||||
moleculeFlow(RecompositionMode.Immediate) {
|
presenter.test {
|
||||||
presenter.present()
|
|
||||||
}.test {
|
|
||||||
roomListService.postAllRooms(listOf(aRoomSummary(userDefinedNotificationMode = RoomNotificationMode.ALL_MESSAGES)))
|
roomListService.postAllRooms(listOf(aRoomSummary(userDefinedNotificationMode = RoomNotificationMode.ALL_MESSAGES)))
|
||||||
val loadedState = consumeItemsUntilPredicate { state ->
|
val loadedState = consumeItemsUntilPredicate { state ->
|
||||||
state.roomsWithUserDefinedMode.any { it.notificationMode == RoomNotificationMode.ALL_MESSAGES }
|
state.roomsWithUserDefinedMode.any { it.notificationMode == RoomNotificationMode.ALL_MESSAGES }
|
||||||
|
|
@ -67,9 +61,7 @@ class EditDefaultNotificationSettingsPresenterTest {
|
||||||
@Test
|
@Test
|
||||||
fun `present - edit default notification setting`() = runTest {
|
fun `present - edit default notification setting`() = runTest {
|
||||||
val presenter = createEditDefaultNotificationSettingPresenter()
|
val presenter = createEditDefaultNotificationSettingPresenter()
|
||||||
moleculeFlow(RecompositionMode.Immediate) {
|
presenter.test {
|
||||||
presenter.present()
|
|
||||||
}.test {
|
|
||||||
awaitItem().eventSink(EditDefaultNotificationSettingStateEvents.SetNotificationMode(RoomNotificationMode.ALL_MESSAGES))
|
awaitItem().eventSink(EditDefaultNotificationSettingStateEvents.SetNotificationMode(RoomNotificationMode.ALL_MESSAGES))
|
||||||
val loadedState = consumeItemsUntilPredicate {
|
val loadedState = consumeItemsUntilPredicate {
|
||||||
it.mode == RoomNotificationMode.ALL_MESSAGES
|
it.mode == RoomNotificationMode.ALL_MESSAGES
|
||||||
|
|
@ -83,9 +75,7 @@ class EditDefaultNotificationSettingsPresenterTest {
|
||||||
val notificationSettingsService = FakeNotificationSettingsService()
|
val notificationSettingsService = FakeNotificationSettingsService()
|
||||||
val presenter = createEditDefaultNotificationSettingPresenter(notificationSettingsService)
|
val presenter = createEditDefaultNotificationSettingPresenter(notificationSettingsService)
|
||||||
notificationSettingsService.givenSetDefaultNotificationModeError(AN_EXCEPTION)
|
notificationSettingsService.givenSetDefaultNotificationModeError(AN_EXCEPTION)
|
||||||
moleculeFlow(RecompositionMode.Immediate) {
|
presenter.test {
|
||||||
presenter.present()
|
|
||||||
}.test {
|
|
||||||
awaitItem().eventSink(EditDefaultNotificationSettingStateEvents.SetNotificationMode(RoomNotificationMode.ALL_MESSAGES))
|
awaitItem().eventSink(EditDefaultNotificationSettingStateEvents.SetNotificationMode(RoomNotificationMode.ALL_MESSAGES))
|
||||||
val errorState = consumeItemsUntilPredicate {
|
val errorState = consumeItemsUntilPredicate {
|
||||||
it.changeNotificationSettingAction.isFailure()
|
it.changeNotificationSettingAction.isFailure()
|
||||||
|
|
@ -105,9 +95,7 @@ class EditDefaultNotificationSettingsPresenterTest {
|
||||||
givenCanHomeServerPushEncryptedEventsToDeviceResult(Result.success(false))
|
givenCanHomeServerPushEncryptedEventsToDeviceResult(Result.success(false))
|
||||||
}
|
}
|
||||||
val presenter = createEditDefaultNotificationSettingPresenter(notificationSettingsService)
|
val presenter = createEditDefaultNotificationSettingPresenter(notificationSettingsService)
|
||||||
moleculeFlow(RecompositionMode.Immediate) {
|
presenter.test {
|
||||||
presenter.present()
|
|
||||||
}.test {
|
|
||||||
assertThat(awaitLastSequentialItem().displayMentionsOnlyDisclaimer).isTrue()
|
assertThat(awaitLastSequentialItem().displayMentionsOnlyDisclaimer).isTrue()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue