Sending queue : fix more tests.
This commit is contained in:
parent
009c1ac181
commit
6d4d9db8a1
5 changed files with 19 additions and 27 deletions
|
|
@ -72,6 +72,7 @@ import org.junit.Rule
|
||||||
import org.junit.Test
|
import org.junit.Test
|
||||||
import org.junit.rules.TestRule
|
import org.junit.rules.TestRule
|
||||||
import org.junit.runner.RunWith
|
import org.junit.runner.RunWith
|
||||||
|
import org.robolectric.annotation.Config
|
||||||
|
|
||||||
@RunWith(AndroidJUnit4::class)
|
@RunWith(AndroidJUnit4::class)
|
||||||
class MessagesViewTest {
|
class MessagesViewTest {
|
||||||
|
|
@ -295,6 +296,7 @@ class MessagesViewTest {
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
|
@Config(qualifiers = "h1024dp")
|
||||||
fun `clicking on the sender of an Event invoke expected callback`() {
|
fun `clicking on the sender of an Event invoke expected callback`() {
|
||||||
val eventsRecorder = EventsRecorder<MessagesEvents>(expectEvents = false)
|
val eventsRecorder = EventsRecorder<MessagesEvents>(expectEvents = false)
|
||||||
val state = aMessagesState(
|
val state = aMessagesState(
|
||||||
|
|
|
||||||
|
|
@ -29,6 +29,7 @@ import io.element.android.features.poll.impl.aPollTimelineItems
|
||||||
import io.element.android.features.poll.impl.anOngoingPollContent
|
import io.element.android.features.poll.impl.anOngoingPollContent
|
||||||
import io.element.android.features.poll.impl.data.PollRepository
|
import io.element.android.features.poll.impl.data.PollRepository
|
||||||
import io.element.android.libraries.matrix.api.core.EventId
|
import io.element.android.libraries.matrix.api.core.EventId
|
||||||
|
import io.element.android.libraries.matrix.api.core.TransactionId
|
||||||
import io.element.android.libraries.matrix.api.poll.PollKind
|
import io.element.android.libraries.matrix.api.poll.PollKind
|
||||||
import io.element.android.libraries.matrix.api.room.MatrixRoom
|
import io.element.android.libraries.matrix.api.room.MatrixRoom
|
||||||
import io.element.android.libraries.matrix.api.timeline.item.event.PollContent
|
import io.element.android.libraries.matrix.api.timeline.item.event.PollContent
|
||||||
|
|
@ -39,6 +40,7 @@ import io.element.android.libraries.matrix.test.timeline.FakeTimeline
|
||||||
import io.element.android.libraries.matrix.test.timeline.LiveTimelineProvider
|
import io.element.android.libraries.matrix.test.timeline.LiveTimelineProvider
|
||||||
import io.element.android.services.analytics.test.FakeAnalyticsService
|
import io.element.android.services.analytics.test.FakeAnalyticsService
|
||||||
import io.element.android.tests.testutils.WarmUpRule
|
import io.element.android.tests.testutils.WarmUpRule
|
||||||
|
import io.element.android.tests.testutils.lambda.any
|
||||||
import io.element.android.tests.testutils.lambda.assert
|
import io.element.android.tests.testutils.lambda.assert
|
||||||
import io.element.android.tests.testutils.lambda.lambdaRecorder
|
import io.element.android.tests.testutils.lambda.lambdaRecorder
|
||||||
import io.element.android.tests.testutils.lambda.value
|
import io.element.android.tests.testutils.lambda.value
|
||||||
|
|
@ -455,47 +457,53 @@ import org.junit.Test
|
||||||
@Test
|
@Test
|
||||||
fun `delete confirms`() = runTest {
|
fun `delete confirms`() = runTest {
|
||||||
val presenter = createCreatePollPresenter(mode = CreatePollMode.EditPoll(pollEventId))
|
val presenter = createCreatePollPresenter(mode = CreatePollMode.EditPoll(pollEventId))
|
||||||
|
val redactEventLambda = lambdaRecorder { _: EventId?, _: TransactionId?, _: String? -> Result.success(true) }
|
||||||
|
timeline.redactEventLambda = redactEventLambda
|
||||||
moleculeFlow(RecompositionMode.Immediate) {
|
moleculeFlow(RecompositionMode.Immediate) {
|
||||||
presenter.present()
|
presenter.present()
|
||||||
}.test {
|
}.test {
|
||||||
awaitDefaultItem()
|
awaitDefaultItem()
|
||||||
awaitPollLoaded().eventSink(CreatePollEvents.Delete(confirmed = false))
|
awaitPollLoaded().eventSink(CreatePollEvents.Delete(confirmed = false))
|
||||||
awaitDeleteConfirmation()
|
awaitDeleteConfirmation()
|
||||||
assertThat(fakeMatrixRoom.redactEventEventIdParam).isNull()
|
assert(redactEventLambda).isNeverCalled()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
fun `delete can be cancelled`() = runTest {
|
fun `delete can be cancelled`() = runTest {
|
||||||
val presenter = createCreatePollPresenter(mode = CreatePollMode.EditPoll(pollEventId))
|
val presenter = createCreatePollPresenter(mode = CreatePollMode.EditPoll(pollEventId))
|
||||||
|
val redactEventLambda = lambdaRecorder { _: EventId?, _: TransactionId?, _: String? -> Result.success(true) }
|
||||||
|
timeline.redactEventLambda = redactEventLambda
|
||||||
moleculeFlow(RecompositionMode.Immediate) {
|
moleculeFlow(RecompositionMode.Immediate) {
|
||||||
presenter.present()
|
presenter.present()
|
||||||
}.test {
|
}.test {
|
||||||
awaitDefaultItem()
|
awaitDefaultItem()
|
||||||
awaitPollLoaded().eventSink(CreatePollEvents.Delete(confirmed = false))
|
awaitPollLoaded().eventSink(CreatePollEvents.Delete(confirmed = false))
|
||||||
assertThat(fakeMatrixRoom.redactEventEventIdParam).isNull()
|
|
||||||
awaitDeleteConfirmation().eventSink(CreatePollEvents.HideConfirmation)
|
awaitDeleteConfirmation().eventSink(CreatePollEvents.HideConfirmation)
|
||||||
awaitPollLoaded().apply {
|
awaitPollLoaded().apply {
|
||||||
assertThat(showDeleteConfirmation).isFalse()
|
assertThat(showDeleteConfirmation).isFalse()
|
||||||
}
|
}
|
||||||
assertThat(fakeMatrixRoom.redactEventEventIdParam).isNull()
|
assert(redactEventLambda).isNeverCalled()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
fun `delete can be confirmed`() = runTest {
|
fun `delete can be confirmed`() = runTest {
|
||||||
val presenter = createCreatePollPresenter(mode = CreatePollMode.EditPoll(pollEventId))
|
val presenter = createCreatePollPresenter(mode = CreatePollMode.EditPoll(pollEventId))
|
||||||
|
val redactEventLambda = lambdaRecorder { _: EventId?, _: TransactionId?, _: String? -> Result.success(true) }
|
||||||
|
timeline.redactEventLambda = redactEventLambda
|
||||||
moleculeFlow(RecompositionMode.Immediate) {
|
moleculeFlow(RecompositionMode.Immediate) {
|
||||||
presenter.present()
|
presenter.present()
|
||||||
}.test {
|
}.test {
|
||||||
awaitDefaultItem()
|
awaitDefaultItem()
|
||||||
awaitPollLoaded().eventSink(CreatePollEvents.Delete(confirmed = false))
|
awaitPollLoaded().eventSink(CreatePollEvents.Delete(confirmed = false))
|
||||||
assertThat(fakeMatrixRoom.redactEventEventIdParam).isNull()
|
|
||||||
awaitDeleteConfirmation().eventSink(CreatePollEvents.Delete(confirmed = true))
|
awaitDeleteConfirmation().eventSink(CreatePollEvents.Delete(confirmed = true))
|
||||||
awaitPollLoaded().apply {
|
awaitPollLoaded().apply {
|
||||||
assertThat(showDeleteConfirmation).isFalse()
|
assertThat(showDeleteConfirmation).isFalse()
|
||||||
}
|
}
|
||||||
assertThat(fakeMatrixRoom.redactEventEventIdParam).isEqualTo(pollEventId)
|
assert(redactEventLambda)
|
||||||
|
.isCalledOnce()
|
||||||
|
.with(value(pollEventId), value(null), any())
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -287,7 +287,8 @@ class DefaultBugReporterTest {
|
||||||
oidcData = null,
|
oidcData = null,
|
||||||
refreshToken = null,
|
refreshToken = null,
|
||||||
slidingSyncProxy = null,
|
slidingSyncProxy = null,
|
||||||
passphrase = null
|
passphrase = null,
|
||||||
|
sessionPath = "session",
|
||||||
)
|
)
|
||||||
@Test
|
@Test
|
||||||
fun `test sendBugReport error`() = runTest {
|
fun `test sendBugReport error`() = runTest {
|
||||||
|
|
|
||||||
|
|
@ -63,6 +63,7 @@ dependencies {
|
||||||
testImplementation(projects.libraries.push.test)
|
testImplementation(projects.libraries.push.test)
|
||||||
testImplementation(projects.libraries.pushstore.test)
|
testImplementation(projects.libraries.pushstore.test)
|
||||||
testImplementation(projects.libraries.sessionStorage.implMemory)
|
testImplementation(projects.libraries.sessionStorage.implMemory)
|
||||||
|
testImplementation(projects.libraries.sessionStorage.test)
|
||||||
testImplementation(projects.tests.testutils)
|
testImplementation(projects.tests.testutils)
|
||||||
testImplementation(projects.services.toolbox.test)
|
testImplementation(projects.services.toolbox.test)
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -19,7 +19,6 @@ package io.element.android.libraries.pushproviders.firebase
|
||||||
import com.google.common.truth.Truth.assertThat
|
import com.google.common.truth.Truth.assertThat
|
||||||
import io.element.android.libraries.matrix.api.MatrixClient
|
import io.element.android.libraries.matrix.api.MatrixClient
|
||||||
import io.element.android.libraries.matrix.api.auth.MatrixAuthenticationService
|
import io.element.android.libraries.matrix.api.auth.MatrixAuthenticationService
|
||||||
import io.element.android.libraries.matrix.api.core.SessionId
|
|
||||||
import io.element.android.libraries.matrix.test.AN_EXCEPTION
|
import io.element.android.libraries.matrix.test.AN_EXCEPTION
|
||||||
import io.element.android.libraries.matrix.test.A_USER_ID
|
import io.element.android.libraries.matrix.test.A_USER_ID
|
||||||
import io.element.android.libraries.matrix.test.A_USER_ID_2
|
import io.element.android.libraries.matrix.test.A_USER_ID_2
|
||||||
|
|
@ -31,11 +30,10 @@ import io.element.android.libraries.pushproviders.api.PusherSubscriber
|
||||||
import io.element.android.libraries.pushstore.api.UserPushStoreFactory
|
import io.element.android.libraries.pushstore.api.UserPushStoreFactory
|
||||||
import io.element.android.libraries.pushstore.test.userpushstore.FakeUserPushStore
|
import io.element.android.libraries.pushstore.test.userpushstore.FakeUserPushStore
|
||||||
import io.element.android.libraries.pushstore.test.userpushstore.FakeUserPushStoreFactory
|
import io.element.android.libraries.pushstore.test.userpushstore.FakeUserPushStoreFactory
|
||||||
import io.element.android.libraries.sessionstorage.api.LoginType
|
|
||||||
import io.element.android.libraries.sessionstorage.api.SessionData
|
|
||||||
import io.element.android.libraries.sessionstorage.api.SessionStore
|
import io.element.android.libraries.sessionstorage.api.SessionStore
|
||||||
import io.element.android.libraries.sessionstorage.impl.memory.InMemoryMultiSessionsStore
|
import io.element.android.libraries.sessionstorage.impl.memory.InMemoryMultiSessionsStore
|
||||||
import io.element.android.libraries.sessionstorage.impl.memory.InMemorySessionStore
|
import io.element.android.libraries.sessionstorage.impl.memory.InMemorySessionStore
|
||||||
|
import io.element.android.libraries.sessionstorage.test.aSessionData
|
||||||
import io.element.android.tests.testutils.lambda.lambdaRecorder
|
import io.element.android.tests.testutils.lambda.lambdaRecorder
|
||||||
import io.element.android.tests.testutils.lambda.value
|
import io.element.android.tests.testutils.lambda.value
|
||||||
import kotlinx.coroutines.test.runTest
|
import kotlinx.coroutines.test.runTest
|
||||||
|
|
@ -165,22 +163,4 @@ class DefaultFirebaseNewTokenHandlerTest {
|
||||||
firebaseStore = firebaseStore
|
firebaseStore = firebaseStore
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|
||||||
private fun aSessionData(
|
|
||||||
sessionId: SessionId,
|
|
||||||
): SessionData {
|
|
||||||
return SessionData(
|
|
||||||
userId = sessionId.value,
|
|
||||||
deviceId = "aDeviceId",
|
|
||||||
accessToken = "anAccessToken",
|
|
||||||
refreshToken = "aRefreshToken",
|
|
||||||
homeserverUrl = "aHomeserverUrl",
|
|
||||||
oidcData = null,
|
|
||||||
slidingSyncProxy = null,
|
|
||||||
loginTimestamp = null,
|
|
||||||
isTokenValid = true,
|
|
||||||
loginType = LoginType.UNKNOWN,
|
|
||||||
passphrase = null,
|
|
||||||
)
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue