mirror of
https://gitlab.opencode.de/bwi/bundesmessenger/clients/bundesmessenger-ios.git
synced 2026-04-26 19:34:25 +02:00
Use dynamicMembers for StoreState for single source of truth. Fix bubble grouping and add send message function.
This commit is contained in:
+13
-5
@@ -19,13 +19,16 @@ import Combine
|
||||
|
||||
@available(iOS 14.0, *)
|
||||
class MockTemplateRoomChatService: TemplateRoomChatServiceProtocol {
|
||||
static let alice = TemplateRoomChatMember(id: "@alice:matrix.org", avatarUrl: "!aaabaa:matrix.org", displayName: "Alice")
|
||||
|
||||
let roomName: String? = "New Vector"
|
||||
|
||||
static let amadine = TemplateRoomChatMember(id: "@amadine:matrix.org", avatarUrl: "!aaabaa:matrix.org", displayName: "Amadine")
|
||||
static let mathew = TemplateRoomChatMember(id: "@mathew:matrix.org", avatarUrl: "!bbabb:matrix.org", displayName: "Mathew")
|
||||
static let mockMessages = [
|
||||
TemplateRoomChatMessage(id: "!11111:matrix.org", body: "Shall I put it live?", sender: alice),
|
||||
TemplateRoomChatMessage(id: "!22222:matrix.org", body: "Yea go for it! ...and then let's head to the pub", sender: mathew),
|
||||
TemplateRoomChatMessage(id: "!33333:matrix.org", body: "Deal.", sender: alice),
|
||||
TemplateRoomChatMessage(id: "!44444:matrix.org", body: "Ok, Done. 🍻", sender: alice),
|
||||
TemplateRoomChatMessage(id: "!0:matrix.org", body: "Shall I put it live?", sender: amadine, timestamp: Date(timeIntervalSinceNow: 60 * -3)),
|
||||
TemplateRoomChatMessage(id: "!1:matrix.org", body: "Yea go for it! ...and then let's head to the pub", sender: mathew, timestamp: Date(timeIntervalSinceNow: 60)),
|
||||
TemplateRoomChatMessage(id: "!2:matrix.org", body: "Deal.", sender: amadine, timestamp: Date(timeIntervalSinceNow: 60 * -2)),
|
||||
TemplateRoomChatMessage(id: "!3:matrix.org", body: "Ok, Done. 🍻", sender: amadine, timestamp: Date(timeIntervalSinceNow: 60 * -1)),
|
||||
]
|
||||
var chatMessagesSubject: CurrentValueSubject<[TemplateRoomChatMessage], Never>
|
||||
|
||||
@@ -33,6 +36,11 @@ class MockTemplateRoomChatService: TemplateRoomChatServiceProtocol {
|
||||
chatMessagesSubject = CurrentValueSubject(messages)
|
||||
}
|
||||
|
||||
func send(message: String) {
|
||||
let newMessage = TemplateRoomChatMessage(id: "!\(chatMessagesSubject.value.count):matrix.org", body: message, sender: Self.amadine, timestamp: Date())
|
||||
self.chatMessagesSubject.value += [newMessage]
|
||||
}
|
||||
|
||||
func simulateUpdate(messages: [TemplateRoomChatMessage]) {
|
||||
self.chatMessagesSubject.send(messages)
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user