1
bot/models/paid_test.go

91 lines
1.6 KiB
Go
Raw Permalink Normal View History

package models
import "testing"
func TestPaidMedia_UnmarshalJSON_Preview(t *testing.T) {
src := `{"type":"preview","width":42,"height":43,"duration":44}`
p := &PaidMedia{}
err := p.UnmarshalJSON([]byte(src))
if err != nil {
t.Fatal(err)
}
if p.Type != PaidMediaTypePreview {
t.Fatal("wrong type")
}
if p.Preview == nil {
t.Fatal("Preview is nil")
}
if p.Preview.Width != 42 {
t.Fatal("wrong width")
}
if p.Preview.Height != 43 {
t.Fatal("wrong height")
}
if p.Preview.Duration != 44 {
t.Fatal("wrong duration")
}
}
func TestPaidMedia_UnmarshalJSON_Photo(t *testing.T) {
src := `{"type":"photo","photo":[{"width":42,"height":43}]}`
p := &PaidMedia{}
err := p.UnmarshalJSON([]byte(src))
if err != nil {
t.Fatal(err)
}
if p.Type != PaidMediaTypePhoto {
t.Fatal("wrong type")
}
if p.Photo == nil {
t.Fatal("Photo is nil")
}
if len(p.Photo.Photo) != 1 {
t.Fatal("wrong photo length")
}
if p.Photo.Photo[0].Width != 42 {
t.Fatal("wrong width")
}
if p.Photo.Photo[0].Height != 43 {
t.Fatal("wrong height")
}
}
func TestPaidMedia_UnmarshalJSON_Video(t *testing.T) {
src := `{"type":"video","video":{"width":42,"height":43,"duration":44}}`
p := &PaidMedia{}
err := p.UnmarshalJSON([]byte(src))
if err != nil {
t.Fatal(err)
}
if p.Type != PaidMediaTypeVideo {
t.Fatal("wrong type")
}
if p.Video == nil {
t.Fatal("Video is nil")
}
if p.Video.Video.Width != 42 {
t.Fatal("wrong width")
}
if p.Video.Video.Height != 43 {
t.Fatal("wrong height")
}
if p.Video.Video.Duration != 44 {
t.Fatal("wrong duration")
}
}