1
bot/models/boost_test.go

118 lines
2.3 KiB
Go
Raw Permalink Normal View History

2024-01-10 20:16:04 +08:00
package models
import (
"encoding/json"
"testing"
)
func TestChatBoostSource_premium(t *testing.T) {
src := `{"source":"premium","user":{"id":123}}`
var cbs ChatBoostSource
err := json.Unmarshal([]byte(src), &cbs)
if err != nil {
t.Fatal(err)
}
if cbs.Source != ChatBoostSourceTypePremium {
t.Fatal("invalid type")
}
if cbs.ChatBoostSourcePremium == nil {
t.Fatal("invalid ChatBoostSourcePremium")
}
if cbs.ChatBoostSourcePremium.User.ID != 123 {
t.Fatal("invalid user id")
}
}
func TestChatBoostSource_gift_code(t *testing.T) {
src := `{"source":"gift_code","user":{"id":123}}`
var cbs ChatBoostSource
err := json.Unmarshal([]byte(src), &cbs)
if err != nil {
t.Fatal(err)
}
if cbs.Source != ChatBoostSourceTypeGiftCode {
t.Fatal("invalid type")
}
if cbs.ChatBoostSourceGiftCode == nil {
t.Fatal("invalid ChatBoostSourceGiftCode")
}
if cbs.ChatBoostSourceGiftCode.User.ID != 123 {
t.Fatal("invalid user id")
}
}
func TestChatBoostSource_giveaway(t *testing.T) {
src := `{"source":"giveaway","user":{"id":123}}`
var cbs ChatBoostSource
err := json.Unmarshal([]byte(src), &cbs)
if err != nil {
t.Fatal(err)
}
if cbs.Source != ChatBoostSourceTypeGiveaway {
t.Fatal("invalid type")
}
if cbs.ChatBoostSourceGiveaway == nil {
t.Fatal("invalid ChatBoostSourceGiveaway")
}
if cbs.ChatBoostSourceGiveaway.User.ID != 123 {
t.Fatal("invalid user id")
}
}
func TestChatBoostSource_premium_marshal_unmarshal(t *testing.T) {
src := `{"source":"premium","user":{"id":123}}`
cbs := &ChatBoostSource{}
err := json.Unmarshal([]byte(src), cbs)
if err != nil {
t.Fatal(err)
}
if cbs.Source != ChatBoostSourceTypePremium {
t.Fatal("invalid type")
}
if cbs.ChatBoostSourcePremium == nil {
t.Fatal("invalid ChatBoostSourcePremium")
}
if cbs.ChatBoostSourcePremium.User.ID != 123 {
t.Fatal("invalid user id")
}
src2, err2 := json.Marshal(cbs)
if err2 != nil {
t.Fatal(err2)
}
var cbs2 ChatBoostSource
err = json.Unmarshal(src2, &cbs2)
if err != nil {
t.Fatal(err)
}
if cbs2.Source != ChatBoostSourceTypePremium {
t.Fatal("invalid type")
}
if cbs2.ChatBoostSourcePremium == nil {
t.Fatal("invalid ChatBoostSourcePremium")
}
if cbs2.ChatBoostSourcePremium.User.ID != 123 {
t.Fatal("invalid user id")
}
}