7a04f298d2
- update to latest telegram layer - remove some references to fields in tg.Entities that don't exist in the schema - originally added here: https://github.com/beeper/td/commit/820929062a2ba0104397bc01235ab58a9cff780e - referenced here - https://github.com/mautrix/telegramgo/commit/124f0967ed195b5a380c9bd02e170ada9710dde3 - https://github.com/mautrix/telegramgo/commit/4205047aab2e0639217148b5d125bfaab668bd8e
51 lines
1.2 KiB
Go
51 lines
1.2 KiB
Go
package message
|
|
|
|
import (
|
|
"testing"
|
|
|
|
"github.com/stretchr/testify/require"
|
|
|
|
"go.mau.fi/mautrix-telegram/pkg/gotd/bin"
|
|
"go.mau.fi/mautrix-telegram/pkg/gotd/tg"
|
|
"go.mau.fi/mautrix-telegram/pkg/gotd/tgerr"
|
|
"go.mau.fi/mautrix-telegram/pkg/gotd/tgmock"
|
|
)
|
|
|
|
func testSender(t *testing.T) (*Sender, *tgmock.Mock) {
|
|
mock := tgmock.NewRequire(t)
|
|
sender := NewSender(tg.NewClient(mock))
|
|
return sender, mock
|
|
}
|
|
|
|
func testRPCError() *tgerr.Error {
|
|
return &tgerr.Error{
|
|
Code: 1337,
|
|
Message: "TEST_ERROR",
|
|
Type: "TEST_ERROR",
|
|
}
|
|
}
|
|
|
|
func expectSendMedia(t *testing.T, attachment tg.InputMediaClass, mock *tgmock.Mock) {
|
|
expectSendMediaAndText(t, attachment, mock, "")
|
|
}
|
|
|
|
func expectSendMediaAndText(
|
|
t *testing.T, attachment tg.InputMediaClass, mock *tgmock.Mock,
|
|
msg string, entities ...tg.MessageEntityClass,
|
|
) {
|
|
mock.ExpectFunc(func(b bin.Encoder) {
|
|
req, ok := b.(*tg.MessagesSendMediaRequest)
|
|
require.True(t, ok)
|
|
require.True(t, ok)
|
|
require.Equal(t, &tg.InputPeerSelf{}, req.Peer)
|
|
require.Equal(t, msg, req.Message)
|
|
require.Equal(t, attachment, req.Media)
|
|
require.NotZero(t, req.RandomID)
|
|
|
|
require.Equal(t, len(entities), len(req.Entities))
|
|
if len(entities) > 0 {
|
|
require.Equal(t, entities, req.Entities)
|
|
}
|
|
}).ThenResult(&tg.Updates{})
|
|
}
|