Files
mautrix-telegram/pkg/gotd/telegram/message/delete_test.go
T
2025-06-27 20:03:37 -07:00

66 lines
1.8 KiB
Go

package message
import (
"context"
"testing"
"github.com/stretchr/testify/require"
"go.mau.fi/mautrix-telegram/pkg/gotd/tg"
)
func TestRequestBuilder_Delete(t *testing.T) {
ctx := context.Background()
sender, mock := testSender(t)
mock.ExpectCall(&tg.MessagesDeleteMessagesRequest{
ID: []int{1, 2, 3},
}).ThenResult(&tg.MessagesAffectedMessages{})
_, err := sender.Delete().Messages(ctx, 1, 2, 3)
require.NoError(t, err)
mock.ExpectCall(&tg.MessagesDeleteMessagesRequest{
ID: []int{1, 2, 3},
}).ThenRPCErr(testRPCError())
_, err = sender.Delete().Messages(ctx, 1, 2, 3)
require.Error(t, err)
}
func TestRequestBuilder_Revoke(t *testing.T) {
ctx := context.Background()
sender, mock := testSender(t)
mock.ExpectCall(&tg.MessagesDeleteMessagesRequest{
Revoke: true,
ID: []int{1, 2, 3},
}).ThenResult(&tg.MessagesAffectedMessages{})
_, err := sender.To(&tg.InputPeerChat{ChatID: 10}).Revoke().Messages(ctx, 1, 2, 3)
require.NoError(t, err)
mock.ExpectCall(&tg.MessagesDeleteMessagesRequest{
Revoke: true,
ID: []int{1, 2, 3},
}).ThenRPCErr(testRPCError())
_, err = sender.To(&tg.InputPeerChat{ChatID: 10}).Revoke().Messages(ctx, 1, 2, 3)
require.Error(t, err)
ch := &tg.InputPeerChannel{ChannelID: 10, AccessHash: 10}
inputCh := &tg.InputChannel{
ChannelID: ch.ChannelID,
AccessHash: ch.AccessHash,
}
mock.ExpectCall(&tg.ChannelsDeleteMessagesRequest{
Channel: inputCh,
ID: []int{1, 2, 3},
}).ThenResult(&tg.MessagesAffectedMessages{})
_, err = sender.To(ch).Revoke().Messages(ctx, 1, 2, 3)
require.NoError(t, err)
mock.ExpectCall(&tg.ChannelsDeleteMessagesRequest{
Channel: inputCh,
ID: []int{1, 2, 3},
}).ThenRPCErr(testRPCError())
_, err = sender.To(ch).Revoke().Messages(ctx, 1, 2, 3)
require.Error(t, err)
}