Файли
2026-11-08 03:46:11 +00:00

57 рядки
1.5 KiB
Go

package shared
import (
"encoding/json"
"strings"
"testing"
"github.com/mymmrac/telego"
tu "github.com/mymmrac/telego/telegoutil"
)
func TestSendParamsOmitNilKeyboard(t *testing.T) {
raw, err := json.Marshal(sendParams(1, "hello", nil))
if err != nil {
t.Fatalf("Marshal() error = %v", err)
}
if strings.Contains(string(raw), "reply_markup") {
t.Fatalf("send params contain reply_markup: %s", raw)
}
keyboard := tu.InlineKeyboard(tu.InlineKeyboardRow(Button("Go", "go")))
raw, err = json.Marshal(sendParams(1, "hello", keyboard))
if err != nil {
t.Fatalf("Marshal() error = %v", err)
}
if !strings.Contains(string(raw), "reply_markup") {
t.Fatalf("send params missing reply_markup: %s", raw)
}
raw, err = json.Marshal(sendParams(1, "hello", MainKeyboard()))
if err != nil {
t.Fatalf("Marshal() error = %v", err)
}
if !strings.Contains(string(raw), `"keyboard"`) {
t.Fatalf("send params missing reply keyboard: %s", raw)
}
}
func TestEditParamsOmitNilKeyboard(t *testing.T) {
raw, err := json.Marshal(editParams(1, 2, "hello", nil))
if err != nil {
t.Fatalf("Marshal() error = %v", err)
}
if strings.Contains(string(raw), "reply_markup") {
t.Fatalf("edit params contain reply_markup: %s", raw)
}
keyboard := &telego.InlineKeyboardMarkup{}
raw, err = json.Marshal(editParams(1, 2, "hello", keyboard))
if err != nil {
t.Fatalf("Marshal() error = %v", err)
}
if !strings.Contains(string(raw), "reply_markup") {
t.Fatalf("edit params missing reply_markup: %s", raw)
}
}