feat: sync rich text message support
This commit is contained in:
parent
4d3bbeabd8
commit
7c9d8dda16
41 changed files with 1164 additions and 94 deletions
|
|
@ -9,6 +9,12 @@ import (
|
|||
"telesrv/internal/domain"
|
||||
)
|
||||
|
||||
var validRichMessageBlocks = []byte{
|
||||
0x15, 0xc4, 0xb5, 0x1c, // vector
|
||||
0x01, 0x00, 0x00, 0x00, // count
|
||||
0x8a, 0x7e, 0x56, 0x13, // pageBlockUnsupported
|
||||
}
|
||||
|
||||
func TestMessageStoreSendPrivateTextCreatesBothOwnerBoxes(t *testing.T) {
|
||||
ctx := context.Background()
|
||||
dialogs := NewDialogStore()
|
||||
|
|
@ -84,6 +90,41 @@ func TestMessageStoreSendPrivateTextCreatesBothOwnerBoxes(t *testing.T) {
|
|||
}
|
||||
}
|
||||
|
||||
func TestMessageStoreEditRichOnlyMessageUsesFinalContentState(t *testing.T) {
|
||||
ctx := context.Background()
|
||||
messages := NewMessageStore()
|
||||
sent, err := messages.SendPrivateText(ctx, domain.SendPrivateTextRequest{
|
||||
SenderUserID: 1000000001,
|
||||
RecipientUserID: 1000000002,
|
||||
RandomID: 201,
|
||||
Date: 1700000200,
|
||||
RichMessage: &domain.MessageRichMessage{Blocks: validRichMessageBlocks},
|
||||
})
|
||||
if err != nil {
|
||||
t.Fatalf("SendPrivateText rich-only: %v", err)
|
||||
}
|
||||
|
||||
edited, err := messages.EditMessage(ctx, domain.EditMessageRequest{
|
||||
OwnerUserID: 1000000001,
|
||||
Peer: domain.Peer{Type: domain.PeerTypeUser, ID: 1000000002},
|
||||
ID: sent.SenderMessage.ID,
|
||||
Message: "",
|
||||
HideEdited: true,
|
||||
EditDate: 1700000210,
|
||||
})
|
||||
if err != nil {
|
||||
t.Fatalf("EditMessage rich-only hide-edit: %v", err)
|
||||
}
|
||||
if len(edited.Edited) != 2 {
|
||||
t.Fatalf("edited boxes = %d, want 2", len(edited.Edited))
|
||||
}
|
||||
for _, item := range edited.Edited {
|
||||
if item.Message.RichMessage.IsZero() {
|
||||
t.Fatalf("edited rich-only box for user %d lost rich message: %+v", item.UserID, item.Message)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
func TestMessageStoreWebViewDataServiceActionRoundTrip(t *testing.T) {
|
||||
ctx := context.Background()
|
||||
messages := NewMessageStore()
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue