package peers import ( "context" "testing" "github.com/stretchr/testify/require" "go.mau.fi/mautrix-telegram/pkg/gotd/tg" ) func TestManager_getUserFull(t *testing.T) { a := require.New(t) ctx := context.Background() mock, m := testManager(t) testUserFull := getTestUserFull() input := &tg.InputUser{ UserID: testUserFull.ID, AccessHash: 10, } mock.ExpectCall(&tg.UsersGetFullUserRequest{ID: input}).ThenResult(&tg.UsersUserFull{ FullUser: testUserFull, }) v, err := m.getUserFull(ctx, input) a.NoError(err) a.Equal(&testUserFull, v) // Test caching. v, err = m.getUserFull(ctx, input) a.NoError(err) a.Equal(&testUserFull, v) } func TestManager_updateUserFull(t *testing.T) { a := require.New(t) ctx := context.Background() mock, m := testManager(t) testUserFull := getTestUserFull() input := &tg.InputUser{ UserID: testUserFull.ID, AccessHash: 10, } mock.ExpectCall(&tg.UsersGetFullUserRequest{ID: input}).ThenRPCErr(getTestError()) _, err := m.updateUserFull(ctx, input) a.Error(err) } func TestManager_getChatFull(t *testing.T) { a := require.New(t) ctx := context.Background() mock, m := testManager(t) testChatFull := getTestChatFull() input := testChatFull.ID mock.ExpectCall(&tg.MessagesGetFullChatRequest{ChatID: input}).ThenResult(&tg.MessagesChatFull{ FullChat: testChatFull, }) v, err := m.getChatFull(ctx, input) a.NoError(err) a.Equal(testChatFull, v) // Test caching. v, err = m.getChatFull(ctx, input) a.NoError(err) a.Equal(testChatFull, v) } func TestManager_updateChatFull(t *testing.T) { a := require.New(t) ctx := context.Background() mock, m := testManager(t) testChatFull := getTestChatFull() input := testChatFull.ID mock.ExpectCall(&tg.MessagesGetFullChatRequest{ChatID: input}).ThenRPCErr(getTestError()) _, err := m.updateChatFull(ctx, input) a.Error(err) } func TestManager_getChannelFull(t *testing.T) { a := require.New(t) ctx := context.Background() mock, m := testManager(t) testChannelFull := getTestChannelFull() input := &tg.InputChannel{ ChannelID: testChannelFull.ID, AccessHash: 10, } mock.ExpectCall(&tg.ChannelsGetFullChannelRequest{Channel: input}).ThenResult(&tg.MessagesChatFull{ FullChat: testChannelFull, }) v, err := m.getChannelFull(ctx, input) a.NoError(err) a.Equal(testChannelFull, v) // Test caching. v, err = m.getChannelFull(ctx, input) a.NoError(err) a.Equal(testChannelFull, v) } func TestManager_updateChannelFull(t *testing.T) { a := require.New(t) ctx := context.Background() mock, m := testManager(t) testChannelFull := getTestChannelFull() input := &tg.InputChannel{ ChannelID: testChannelFull.ID, AccessHash: 10, } mock.ExpectCall(&tg.ChannelsGetFullChannelRequest{Channel: input}).ThenRPCErr(getTestError()) _, err := m.updateChannelFull(ctx, input) a.Error(err) }