X-Git-Url: http://git.giacomolli.uk/onechat/blobdiff_plain/fc51ee2f545233df3cc1fa2fd4f28a4484c6bc00..f80b058ae0550a56b4e62f8e65c2a74349b970e4:/botapi_test.go?ds=inline diff --git a/botapi_test.go b/botapi_test.go index e182747..9c4db54 100644 --- a/botapi_test.go +++ b/botapi_test.go @@ -48,7 +48,7 @@ func TestGetUpdatesAsksForMessagesFromTheOffset(t *testing.T) { func TestSendMessageSendsPlainText(t *testing.T) { server := newFakeBot(t) - err := newBotAPI(server.URL, testBotToken).SendMessage(t.Context(), testOwner, "*not bold*") + err := newBotAPI(server.URL, testBotToken).SendMessage(t.Context(), testOwner, "*not bold*", nil) require.NoError(t, err) require.Equal(t, map[string]any{ @@ -57,6 +57,28 @@ func TestSendMessageSendsPlainText(t *testing.T) { }, server.Calls()[0].params) } +func TestSendMessageSendsTheEntities(t *testing.T) { + server := newFakeBot(t) + err := newBotAPI(server.URL, testBotToken).SendMessage(t.Context(), testOwner, "a link", []botEntity{ + { + Type: "text_link", + Offset: 2, + Length: 4, + URL: "https://example.com", + }, + }) + require.NoError(t, err) + + require.Equal(t, []any{ + map[string]any{ + "type": "text_link", + "offset": float64(2), + "length": float64(4), + "url": "https://example.com", + }, + }, server.Calls()[0].params["entities"]) +} + func TestSendMessageTimesOutOnAStalledConnection(t *testing.T) { server := newFakeBot(t) server.stall = func(call fakeBotCall) bool { @@ -66,7 +88,7 @@ func TestSendMessageTimesOutOnAStalledConnection(t *testing.T) { api := newBotAPI(server.URL, testBotToken) api.sendTimeout = 50 * time.Millisecond start := time.Now() - err := api.SendMessage(t.Context(), testOwner, "hi") + err := api.SendMessage(t.Context(), testOwner, "hi", nil) require.ErrorIs(t, err, errBotNetwork) require.Less(t, time.Since(start), 5*time.Second) require.NotContains(t, err.Error(), testBotToken) @@ -79,7 +101,7 @@ func TestSendMessageTimesOutOnAStalledConnection(t *testing.T) { ctx, cancel := context.WithCancel(t.Context()) time.AfterFunc(50*time.Millisecond, cancel) start = time.Now() - err = api.SendMessage(ctx, testOwner, "hi") + err = api.SendMessage(ctx, testOwner, "hi", nil) require.Error(t, err) require.Less(t, time.Since(start), 5*time.Second) } @@ -148,7 +170,7 @@ func TestBotErrorsDoNotHoldTheToken(t *testing.T) { })) t.Cleanup(server.Close) - err := newBotAPI(server.URL, testBotToken).SendMessage(t.Context(), testOwner, "hi") + err := newBotAPI(server.URL, testBotToken).SendMessage(t.Context(), testOwner, "hi", nil) require.ErrorContains(t, err, tc.errorText) require.NotContains(t, err.Error(), testBotToken) require.NotContains(t, err.Error(), server.URL)