57 рядки
1.5 KiB
Go
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)
|
|
}
|
|
}
|