|
|
|
|
@@ -64,7 +64,7 @@ class ActionListPresenterTest {
|
|
|
|
|
}.test {
|
|
|
|
|
val initialState = awaitItem()
|
|
|
|
|
val messageEvent = aMessageEvent(isMine = true, content = TimelineItemRedactedContent)
|
|
|
|
|
initialState.eventSink.invoke(ActionListEvents.ComputeForMessage(messageEvent, false))
|
|
|
|
|
initialState.eventSink.invoke(ActionListEvents.ComputeForMessage(messageEvent, canRedact = false, canSendMessage = true))
|
|
|
|
|
// val loadingState = awaitItem()
|
|
|
|
|
// assertThat(loadingState.target).isEqualTo(ActionListState.Target.Loading(messageEvent))
|
|
|
|
|
val successState = awaitItem()
|
|
|
|
|
@@ -89,7 +89,7 @@ class ActionListPresenterTest {
|
|
|
|
|
}.test {
|
|
|
|
|
val initialState = awaitItem()
|
|
|
|
|
val messageEvent = aMessageEvent(isMine = false, content = TimelineItemRedactedContent)
|
|
|
|
|
initialState.eventSink.invoke(ActionListEvents.ComputeForMessage(messageEvent, false))
|
|
|
|
|
initialState.eventSink.invoke(ActionListEvents.ComputeForMessage(messageEvent, canRedact = false, canSendMessage = true))
|
|
|
|
|
// val loadingState = awaitItem()
|
|
|
|
|
// assertThat(loadingState.target).isEqualTo(ActionListState.Target.Loading(messageEvent))
|
|
|
|
|
val successState = awaitItem()
|
|
|
|
|
@@ -117,7 +117,7 @@ class ActionListPresenterTest {
|
|
|
|
|
isMine = false,
|
|
|
|
|
content = TimelineItemTextContent(body = A_MESSAGE, htmlDocument = null, isEdited = false)
|
|
|
|
|
)
|
|
|
|
|
initialState.eventSink.invoke(ActionListEvents.ComputeForMessage(messageEvent, false))
|
|
|
|
|
initialState.eventSink.invoke(ActionListEvents.ComputeForMessage(messageEvent, canRedact = false, canSendMessage = true))
|
|
|
|
|
// val loadingState = awaitItem()
|
|
|
|
|
// assertThat(loadingState.target).isEqualTo(ActionListState.Target.Loading(messageEvent))
|
|
|
|
|
val successState = awaitItem()
|
|
|
|
|
@@ -138,6 +138,37 @@ class ActionListPresenterTest {
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@Test
|
|
|
|
|
fun `present - compute for others message cannot sent message`() = runTest {
|
|
|
|
|
val presenter = anActionListPresenter(isBuildDebuggable = true)
|
|
|
|
|
moleculeFlow(RecompositionMode.Immediate) {
|
|
|
|
|
presenter.present()
|
|
|
|
|
}.test {
|
|
|
|
|
val initialState = awaitItem()
|
|
|
|
|
val messageEvent = aMessageEvent(
|
|
|
|
|
isMine = false,
|
|
|
|
|
content = TimelineItemTextContent(body = A_MESSAGE, htmlDocument = null, isEdited = false)
|
|
|
|
|
)
|
|
|
|
|
initialState.eventSink.invoke(ActionListEvents.ComputeForMessage(messageEvent, canRedact = false, canSendMessage = false))
|
|
|
|
|
// val loadingState = awaitItem()
|
|
|
|
|
// assertThat(loadingState.target).isEqualTo(ActionListState.Target.Loading(messageEvent))
|
|
|
|
|
val successState = awaitItem()
|
|
|
|
|
assertThat(successState.target).isEqualTo(
|
|
|
|
|
ActionListState.Target.Success(
|
|
|
|
|
messageEvent,
|
|
|
|
|
persistentListOf(
|
|
|
|
|
TimelineItemAction.Forward,
|
|
|
|
|
TimelineItemAction.Copy,
|
|
|
|
|
TimelineItemAction.Developer,
|
|
|
|
|
TimelineItemAction.ReportContent,
|
|
|
|
|
)
|
|
|
|
|
)
|
|
|
|
|
)
|
|
|
|
|
initialState.eventSink.invoke(ActionListEvents.Clear)
|
|
|
|
|
assertThat(awaitItem().target).isEqualTo(ActionListState.Target.None)
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@Test
|
|
|
|
|
fun `present - compute for others message and can redact`() = runTest {
|
|
|
|
|
val presenter = anActionListPresenter(isBuildDebuggable = true)
|
|
|
|
|
@@ -149,7 +180,7 @@ class ActionListPresenterTest {
|
|
|
|
|
isMine = false,
|
|
|
|
|
content = TimelineItemTextContent(body = A_MESSAGE, htmlDocument = null, isEdited = false)
|
|
|
|
|
)
|
|
|
|
|
initialState.eventSink.invoke(ActionListEvents.ComputeForMessage(messageEvent, true))
|
|
|
|
|
initialState.eventSink.invoke(ActionListEvents.ComputeForMessage(messageEvent, canRedact = true, canSendMessage = true))
|
|
|
|
|
val successState = awaitItem()
|
|
|
|
|
assertThat(successState.target).isEqualTo(
|
|
|
|
|
ActionListState.Target.Success(
|
|
|
|
|
@@ -180,7 +211,7 @@ class ActionListPresenterTest {
|
|
|
|
|
isMine = true,
|
|
|
|
|
content = TimelineItemTextContent(body = A_MESSAGE, htmlDocument = null, isEdited = false)
|
|
|
|
|
)
|
|
|
|
|
initialState.eventSink.invoke(ActionListEvents.ComputeForMessage(messageEvent, false))
|
|
|
|
|
initialState.eventSink.invoke(ActionListEvents.ComputeForMessage(messageEvent, canRedact = false, canSendMessage = true))
|
|
|
|
|
// val loadingState = awaitItem()
|
|
|
|
|
// assertThat(loadingState.target).isEqualTo(ActionListState.Target.Loading(messageEvent))
|
|
|
|
|
val successState = awaitItem()
|
|
|
|
|
@@ -213,7 +244,7 @@ class ActionListPresenterTest {
|
|
|
|
|
isMine = true,
|
|
|
|
|
content = aTimelineItemImageContent(),
|
|
|
|
|
)
|
|
|
|
|
initialState.eventSink.invoke(ActionListEvents.ComputeForMessage(messageEvent, false))
|
|
|
|
|
initialState.eventSink.invoke(ActionListEvents.ComputeForMessage(messageEvent, canRedact = false, canSendMessage = true))
|
|
|
|
|
// val loadingState = awaitItem()
|
|
|
|
|
// assertThat(loadingState.target).isEqualTo(ActionListState.Target.Loading(messageEvent))
|
|
|
|
|
val successState = awaitItem()
|
|
|
|
|
@@ -244,7 +275,7 @@ class ActionListPresenterTest {
|
|
|
|
|
isMine = true,
|
|
|
|
|
content = aTimelineItemStateEventContent(),
|
|
|
|
|
)
|
|
|
|
|
initialState.eventSink.invoke(ActionListEvents.ComputeForMessage(stateEvent, false))
|
|
|
|
|
initialState.eventSink.invoke(ActionListEvents.ComputeForMessage(stateEvent, canRedact = false, canSendMessage = true))
|
|
|
|
|
// val loadingState = awaitItem()
|
|
|
|
|
// assertThat(loadingState.target).isEqualTo(ActionListState.Target.Loading(messageEvent))
|
|
|
|
|
val successState = awaitItem()
|
|
|
|
|
@@ -273,7 +304,7 @@ class ActionListPresenterTest {
|
|
|
|
|
isMine = true,
|
|
|
|
|
content = aTimelineItemStateEventContent(),
|
|
|
|
|
)
|
|
|
|
|
initialState.eventSink.invoke(ActionListEvents.ComputeForMessage(stateEvent, false))
|
|
|
|
|
initialState.eventSink.invoke(ActionListEvents.ComputeForMessage(stateEvent, canRedact = false, canSendMessage = true))
|
|
|
|
|
// val loadingState = awaitItem()
|
|
|
|
|
// assertThat(loadingState.target).isEqualTo(ActionListState.Target.Loading(messageEvent))
|
|
|
|
|
val successState = awaitItem()
|
|
|
|
|
@@ -301,7 +332,7 @@ class ActionListPresenterTest {
|
|
|
|
|
isMine = true,
|
|
|
|
|
content = TimelineItemTextContent(body = A_MESSAGE, htmlDocument = null, isEdited = false)
|
|
|
|
|
)
|
|
|
|
|
initialState.eventSink.invoke(ActionListEvents.ComputeForMessage(messageEvent, false))
|
|
|
|
|
initialState.eventSink.invoke(ActionListEvents.ComputeForMessage(messageEvent, canRedact = false, canSendMessage = true))
|
|
|
|
|
// val loadingState = awaitItem()
|
|
|
|
|
// assertThat(loadingState.target).isEqualTo(ActionListState.Target.Loading(messageEvent))
|
|
|
|
|
val successState = awaitItem()
|
|
|
|
|
@@ -338,10 +369,10 @@ class ActionListPresenterTest {
|
|
|
|
|
content = TimelineItemRedactedContent,
|
|
|
|
|
)
|
|
|
|
|
|
|
|
|
|
initialState.eventSink.invoke(ActionListEvents.ComputeForMessage(messageEvent, false))
|
|
|
|
|
initialState.eventSink.invoke(ActionListEvents.ComputeForMessage(messageEvent, canRedact = false, canSendMessage = true))
|
|
|
|
|
assertThat(awaitItem().target).isInstanceOf(ActionListState.Target.Success::class.java)
|
|
|
|
|
|
|
|
|
|
initialState.eventSink.invoke(ActionListEvents.ComputeForMessage(redactedEvent, false))
|
|
|
|
|
initialState.eventSink.invoke(ActionListEvents.ComputeForMessage(redactedEvent, canRedact = false, canSendMessage = true))
|
|
|
|
|
awaitItem().run {
|
|
|
|
|
assertThat(target).isEqualTo(ActionListState.Target.None)
|
|
|
|
|
assertThat(displayEmojiReactions).isFalse()
|
|
|
|
|
@@ -362,7 +393,7 @@ class ActionListPresenterTest {
|
|
|
|
|
content = TimelineItemTextContent(body = A_MESSAGE, htmlDocument = null, isEdited = false),
|
|
|
|
|
)
|
|
|
|
|
|
|
|
|
|
initialState.eventSink.invoke(ActionListEvents.ComputeForMessage(messageEvent, false))
|
|
|
|
|
initialState.eventSink.invoke(ActionListEvents.ComputeForMessage(messageEvent, canRedact = false, canSendMessage = true))
|
|
|
|
|
val successState = awaitItem()
|
|
|
|
|
assertThat(successState.target).isEqualTo(
|
|
|
|
|
ActionListState.Target.Success(
|
|
|
|
|
@@ -389,7 +420,7 @@ class ActionListPresenterTest {
|
|
|
|
|
isMine = true,
|
|
|
|
|
content = aTimelineItemPollContent(),
|
|
|
|
|
)
|
|
|
|
|
initialState.eventSink.invoke(ActionListEvents.ComputeForMessage(messageEvent, false))
|
|
|
|
|
initialState.eventSink.invoke(ActionListEvents.ComputeForMessage(messageEvent, canRedact = false, canSendMessage = true))
|
|
|
|
|
val successState = awaitItem()
|
|
|
|
|
assertThat(successState.target).isEqualTo(
|
|
|
|
|
ActionListState.Target.Success(
|
|
|
|
|
@@ -415,7 +446,7 @@ class ActionListPresenterTest {
|
|
|
|
|
isMine = true,
|
|
|
|
|
content = aTimelineItemPollContent(isEnded = true),
|
|
|
|
|
)
|
|
|
|
|
initialState.eventSink.invoke(ActionListEvents.ComputeForMessage(messageEvent, false))
|
|
|
|
|
initialState.eventSink.invoke(ActionListEvents.ComputeForMessage(messageEvent, canRedact = false, canSendMessage = true))
|
|
|
|
|
val successState = awaitItem()
|
|
|
|
|
assertThat(successState.target).isEqualTo(
|
|
|
|
|
ActionListState.Target.Success(
|
|
|
|
|
|