Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -921,6 +921,22 @@ public fun randomOption(
text = text,
)

public fun randomVote(
id: String = randomString(),
pollId: String = randomString(),
optionId: String = randomString(),
createdAt: Date = randomDate(),
updatedAt: Date = randomDate(),
user: User? = randomUser(),
): Vote = Vote(
id = id,
pollId = pollId,
optionId = optionId,
createdAt = createdAt,
updatedAt = updatedAt,
user = user,
)

public fun randomPollOption(
id: String? = randomString(),
text: String = randomString(),
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -847,6 +847,7 @@ public final class io/getstream/chat/android/ui/common/feature/messages/list/Mes
public fun <init> (Ljava/lang/String;Lio/getstream/chat/android/ui/common/helper/ClipboardHandler;ZLjava/lang/String;Ljava/lang/String;ILio/getstream/chat/android/client/ChatClient;Lio/getstream/chat/android/client/setup/state/ClientState;Lkotlinx/coroutines/flow/StateFlow;ZLio/getstream/chat/android/ui/common/state/messages/list/MessageFooterVisibility;ZLio/getstream/chat/android/ui/common/feature/messages/list/DateSeparatorHandler;Lio/getstream/chat/android/ui/common/feature/messages/list/DateSeparatorHandler;Lio/getstream/chat/android/ui/common/feature/messages/list/MessagePositionHandler;ZZ)V
public synthetic fun <init> (Ljava/lang/String;Lio/getstream/chat/android/ui/common/helper/ClipboardHandler;ZLjava/lang/String;Ljava/lang/String;ILio/getstream/chat/android/client/ChatClient;Lio/getstream/chat/android/client/setup/state/ClientState;Lkotlinx/coroutines/flow/StateFlow;ZLio/getstream/chat/android/ui/common/state/messages/list/MessageFooterVisibility;ZLio/getstream/chat/android/ui/common/feature/messages/list/DateSeparatorHandler;Lio/getstream/chat/android/ui/common/feature/messages/list/DateSeparatorHandler;Lio/getstream/chat/android/ui/common/feature/messages/list/MessagePositionHandler;ZZILkotlin/jvm/internal/DefaultConstructorMarker;)V
public final fun addPollOption (Lio/getstream/chat/android/models/Poll;Ljava/lang/String;)V
public final fun addPollOption (Ljava/lang/String;Ljava/lang/String;)V
public final fun banUser (Ljava/lang/String;Ljava/lang/String;Ljava/lang/Integer;)V
public static synthetic fun banUser$default (Lio/getstream/chat/android/ui/common/feature/messages/list/MessageListController;Ljava/lang/String;Ljava/lang/String;Ljava/lang/Integer;ILjava/lang/Object;)V
public final fun blockUser (Ljava/lang/String;)V
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2421,8 +2421,18 @@ public class MessageListController(
* @param option The text of the new option to be added.
*/
public fun addPollOption(poll: Poll, option: String) {
addPollOption(pollId = poll.id, option = option)
}

/**
* Creates a new poll option for the poll identified by [pollId].
*
* @param pollId The id of the poll to which the option will be added.
* @param option The text of the new option to be added.
*/
public fun addPollOption(pollId: String, option: String) {
scope.launch {
chatClient.createPollOption(poll.id, PollOption(text = option)).await()
chatClient.createPollOption(pollId, PollOption(text = option)).await()
}
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -39,6 +39,7 @@ import io.getstream.chat.android.models.Member
import io.getstream.chat.android.models.Message
import io.getstream.chat.android.models.MessageType
import io.getstream.chat.android.models.MessagesState
import io.getstream.chat.android.models.PollOption
import io.getstream.chat.android.models.Reaction
import io.getstream.chat.android.models.TypingEvent
import io.getstream.chat.android.models.User
Expand All @@ -52,6 +53,7 @@ import io.getstream.chat.android.randomMembers
import io.getstream.chat.android.randomMessage
import io.getstream.chat.android.randomMessageList
import io.getstream.chat.android.randomOption
import io.getstream.chat.android.randomPoll
import io.getstream.chat.android.randomPollVote
import io.getstream.chat.android.randomReaction
import io.getstream.chat.android.randomString
Expand Down Expand Up @@ -938,6 +940,21 @@ internal class MessageListControllerTests {
controller.errorEvents.value `should be equal to` expectedEvent
}

@Test
fun `When calling addPollOption, ChatClient createPollOption is invoked`() = runTest {
val poll = randomPoll()
val optionText = randomString()
val chatClient = mock<ChatClient>()
val controller = Fixture(chatClient = chatClient)
.givenCurrentUser()
.givenChannelState(messagesState = MutableStateFlow(emptyList()))
.givenCreatePollOption(callFrom { PollOption(text = optionText) })
.get()
controller.addPollOption(poll = poll, option = optionText)

verify(chatClient).createPollOption(poll.id, PollOption(text = optionText))
}

@Test
fun `When toggleOriginalText, the message translation is toggled`() = runTest {
val messageId = randomString()
Expand Down Expand Up @@ -1281,6 +1298,10 @@ internal class MessageListControllerTests {
whenever(chatClient.removePollVote(any(), any(), voteId = any())) doReturn vote
}

fun givenCreatePollOption(option: Call<PollOption>) = apply {
whenever(chatClient.createPollOption(any(), any())) doReturn option
}

fun givenSendReaction(reaction: Call<Reaction>) = apply {
whenever(chatClient.sendReaction(any(), any(), any(), any())) doReturn reaction
}
Expand Down
Loading
Loading