111 lines
2.1 KiB
Go
111 lines
2.1 KiB
Go
![]() |
package models
|
||
|
|
||
|
import (
|
||
|
"encoding/json"
|
||
|
"testing"
|
||
|
)
|
||
|
|
||
|
func TestUnmarshalMessageOrigin_user(t *testing.T) {
|
||
|
src := `{"type":"user","date":123,"sender_user":{"id":123}}`
|
||
|
|
||
|
var mo MessageOrigin
|
||
|
err := json.Unmarshal([]byte(src), &mo)
|
||
|
if err != nil {
|
||
|
t.Fatal(err)
|
||
|
}
|
||
|
|
||
|
if mo.Type != MessageOriginTypeUser {
|
||
|
t.Fatal("wrong type")
|
||
|
}
|
||
|
|
||
|
if mo.MessageOriginUser == nil {
|
||
|
t.Fatal("MessageOriginUser is nil")
|
||
|
}
|
||
|
|
||
|
if mo.MessageOriginUser.Date != 123 {
|
||
|
t.Fatal("wrong date")
|
||
|
}
|
||
|
|
||
|
if mo.MessageOriginUser.SenderUser.ID != 123 {
|
||
|
t.Fatal("wrong sender user id")
|
||
|
}
|
||
|
}
|
||
|
|
||
|
func TestUnmarshalMessageOrigin_hidden_user(t *testing.T) {
|
||
|
src := `{"type":"hidden_user","date":123,"sender_user_name":"bar"}`
|
||
|
|
||
|
var mo MessageOrigin
|
||
|
err := json.Unmarshal([]byte(src), &mo)
|
||
|
if err != nil {
|
||
|
t.Fatal(err)
|
||
|
}
|
||
|
|
||
|
if mo.Type != MessageOriginTypeHiddenUser {
|
||
|
t.Fatal("wrong type")
|
||
|
}
|
||
|
|
||
|
if mo.MessageOriginHiddenUser == nil {
|
||
|
t.Fatal("MessageOriginHiddenUser is nil")
|
||
|
}
|
||
|
|
||
|
if mo.MessageOriginHiddenUser.Date != 123 {
|
||
|
t.Fatal("wrong date")
|
||
|
}
|
||
|
|
||
|
if mo.MessageOriginHiddenUser.SenderUserName != "bar" {
|
||
|
t.Fatal("wrong sender user name")
|
||
|
}
|
||
|
}
|
||
|
|
||
|
func TestUnmarshalMessageOrigin_chat(t *testing.T) {
|
||
|
src := `{"type":"chat","date":123,"sender_chat":{"id":123}}`
|
||
|
|
||
|
var mo MessageOrigin
|
||
|
err := json.Unmarshal([]byte(src), &mo)
|
||
|
if err != nil {
|
||
|
t.Fatal(err)
|
||
|
}
|
||
|
|
||
|
if mo.Type != MessageOriginTypeChat {
|
||
|
t.Fatal("wrong type")
|
||
|
}
|
||
|
|
||
|
if mo.MessageOriginChat == nil {
|
||
|
t.Fatal("MessageOriginChat is nil")
|
||
|
}
|
||
|
|
||
|
if mo.MessageOriginChat.Date != 123 {
|
||
|
t.Fatal("wrong date")
|
||
|
}
|
||
|
|
||
|
if mo.MessageOriginChat.SenderChat.ID != 123 {
|
||
|
t.Fatal("wrong chat id")
|
||
|
}
|
||
|
}
|
||
|
|
||
|
func TestUnmarshalMessageOrigin_channel(t *testing.T) {
|
||
|
src := `{"type":"channel","date":123,"chat":{"id":123}}`
|
||
|
|
||
|
var mo MessageOrigin
|
||
|
err := json.Unmarshal([]byte(src), &mo)
|
||
|
if err != nil {
|
||
|
t.Fatal(err)
|
||
|
}
|
||
|
|
||
|
if mo.Type != MessageOriginTypeChannel {
|
||
|
t.Fatal("wrong type")
|
||
|
}
|
||
|
|
||
|
if mo.MessageOriginChannel == nil {
|
||
|
t.Fatal("MessageOriginChannel is nil")
|
||
|
}
|
||
|
|
||
|
if mo.MessageOriginChannel.Date != 123 {
|
||
|
t.Fatal("wrong date")
|
||
|
}
|
||
|
|
||
|
if mo.MessageOriginChannel.Chat.ID != 123 {
|
||
|
t.Fatal("wrong chat id")
|
||
|
}
|
||
|
}
|