Move tests into tgbotapi package.
This commit is contained in:
parent
cdcb93df5f
commit
a746f39d22
3 changed files with 163 additions and 170 deletions
134
types_test.go
134
types_test.go
|
@ -1,14 +1,12 @@
|
|||
package tgbotapi_test
|
||||
package tgbotapi
|
||||
|
||||
import (
|
||||
"testing"
|
||||
"time"
|
||||
|
||||
"github.com/go-telegram-bot-api/telegram-bot-api"
|
||||
)
|
||||
|
||||
func TestUserStringWith(t *testing.T) {
|
||||
user := tgbotapi.User{
|
||||
user := User{
|
||||
ID: 0,
|
||||
FirstName: "Test",
|
||||
LastName: "Test",
|
||||
|
@ -23,7 +21,7 @@ func TestUserStringWith(t *testing.T) {
|
|||
}
|
||||
|
||||
func TestUserStringWithUserName(t *testing.T) {
|
||||
user := tgbotapi.User{
|
||||
user := User{
|
||||
ID: 0,
|
||||
FirstName: "Test",
|
||||
LastName: "Test",
|
||||
|
@ -37,7 +35,7 @@ func TestUserStringWithUserName(t *testing.T) {
|
|||
}
|
||||
|
||||
func TestMessageTime(t *testing.T) {
|
||||
message := tgbotapi.Message{Date: 0}
|
||||
message := Message{Date: 0}
|
||||
|
||||
date := time.Unix(0, 0)
|
||||
if message.Time() != date {
|
||||
|
@ -46,8 +44,8 @@ func TestMessageTime(t *testing.T) {
|
|||
}
|
||||
|
||||
func TestMessageIsCommandWithCommand(t *testing.T) {
|
||||
message := tgbotapi.Message{Text: "/command"}
|
||||
message.Entities = []tgbotapi.MessageEntity{{Type: "bot_command", Offset: 0, Length: 8}}
|
||||
message := Message{Text: "/command"}
|
||||
message.Entities = []MessageEntity{{Type: "bot_command", Offset: 0, Length: 8}}
|
||||
|
||||
if !message.IsCommand() {
|
||||
t.Fail()
|
||||
|
@ -55,7 +53,7 @@ func TestMessageIsCommandWithCommand(t *testing.T) {
|
|||
}
|
||||
|
||||
func TestIsCommandWithText(t *testing.T) {
|
||||
message := tgbotapi.Message{Text: "some text"}
|
||||
message := Message{Text: "some text"}
|
||||
|
||||
if message.IsCommand() {
|
||||
t.Fail()
|
||||
|
@ -63,7 +61,7 @@ func TestIsCommandWithText(t *testing.T) {
|
|||
}
|
||||
|
||||
func TestIsCommandWithEmptyText(t *testing.T) {
|
||||
message := tgbotapi.Message{Text: ""}
|
||||
message := Message{Text: ""}
|
||||
|
||||
if message.IsCommand() {
|
||||
t.Fail()
|
||||
|
@ -71,8 +69,8 @@ func TestIsCommandWithEmptyText(t *testing.T) {
|
|||
}
|
||||
|
||||
func TestCommandWithCommand(t *testing.T) {
|
||||
message := tgbotapi.Message{Text: "/command"}
|
||||
message.Entities = []tgbotapi.MessageEntity{{Type: "bot_command", Offset: 0, Length: 8}}
|
||||
message := Message{Text: "/command"}
|
||||
message.Entities = []MessageEntity{{Type: "bot_command", Offset: 0, Length: 8}}
|
||||
|
||||
if message.Command() != "command" {
|
||||
t.Fail()
|
||||
|
@ -80,7 +78,7 @@ func TestCommandWithCommand(t *testing.T) {
|
|||
}
|
||||
|
||||
func TestCommandWithEmptyText(t *testing.T) {
|
||||
message := tgbotapi.Message{Text: ""}
|
||||
message := Message{Text: ""}
|
||||
|
||||
if message.Command() != "" {
|
||||
t.Fail()
|
||||
|
@ -88,7 +86,7 @@ func TestCommandWithEmptyText(t *testing.T) {
|
|||
}
|
||||
|
||||
func TestCommandWithNonCommand(t *testing.T) {
|
||||
message := tgbotapi.Message{Text: "test text"}
|
||||
message := Message{Text: "test text"}
|
||||
|
||||
if message.Command() != "" {
|
||||
t.Fail()
|
||||
|
@ -96,8 +94,8 @@ func TestCommandWithNonCommand(t *testing.T) {
|
|||
}
|
||||
|
||||
func TestCommandWithBotName(t *testing.T) {
|
||||
message := tgbotapi.Message{Text: "/command@testbot"}
|
||||
message.Entities = []tgbotapi.MessageEntity{{Type: "bot_command", Offset: 0, Length: 16}}
|
||||
message := Message{Text: "/command@testbot"}
|
||||
message.Entities = []MessageEntity{{Type: "bot_command", Offset: 0, Length: 16}}
|
||||
|
||||
if message.Command() != "command" {
|
||||
t.Fail()
|
||||
|
@ -105,8 +103,8 @@ func TestCommandWithBotName(t *testing.T) {
|
|||
}
|
||||
|
||||
func TestCommandWithAtWithBotName(t *testing.T) {
|
||||
message := tgbotapi.Message{Text: "/command@testbot"}
|
||||
message.Entities = []tgbotapi.MessageEntity{{Type: "bot_command", Offset: 0, Length: 16}}
|
||||
message := Message{Text: "/command@testbot"}
|
||||
message.Entities = []MessageEntity{{Type: "bot_command", Offset: 0, Length: 16}}
|
||||
|
||||
if message.CommandWithAt() != "command@testbot" {
|
||||
t.Fail()
|
||||
|
@ -114,37 +112,37 @@ func TestCommandWithAtWithBotName(t *testing.T) {
|
|||
}
|
||||
|
||||
func TestMessageCommandArgumentsWithArguments(t *testing.T) {
|
||||
message := tgbotapi.Message{Text: "/command with arguments"}
|
||||
message.Entities = []tgbotapi.MessageEntity{{Type: "bot_command", Offset: 0, Length: 8}}
|
||||
message := Message{Text: "/command with arguments"}
|
||||
message.Entities = []MessageEntity{{Type: "bot_command", Offset: 0, Length: 8}}
|
||||
if message.CommandArguments() != "with arguments" {
|
||||
t.Fail()
|
||||
}
|
||||
}
|
||||
|
||||
func TestMessageCommandArgumentsWithMalformedArguments(t *testing.T) {
|
||||
message := tgbotapi.Message{Text: "/command-without argument space"}
|
||||
message.Entities = []tgbotapi.MessageEntity{{Type: "bot_command", Offset: 0, Length: 8}}
|
||||
message := Message{Text: "/command-without argument space"}
|
||||
message.Entities = []MessageEntity{{Type: "bot_command", Offset: 0, Length: 8}}
|
||||
if message.CommandArguments() != "without argument space" {
|
||||
t.Fail()
|
||||
}
|
||||
}
|
||||
|
||||
func TestMessageCommandArgumentsWithoutArguments(t *testing.T) {
|
||||
message := tgbotapi.Message{Text: "/command"}
|
||||
message := Message{Text: "/command"}
|
||||
if message.CommandArguments() != "" {
|
||||
t.Fail()
|
||||
}
|
||||
}
|
||||
|
||||
func TestMessageCommandArgumentsForNonCommand(t *testing.T) {
|
||||
message := tgbotapi.Message{Text: "test text"}
|
||||
message := Message{Text: "test text"}
|
||||
if message.CommandArguments() != "" {
|
||||
t.Fail()
|
||||
}
|
||||
}
|
||||
|
||||
func TestMessageEntityParseURLGood(t *testing.T) {
|
||||
entity := tgbotapi.MessageEntity{URL: "https://www.google.com"}
|
||||
entity := MessageEntity{URL: "https://www.google.com"}
|
||||
|
||||
if _, err := entity.ParseURL(); err != nil {
|
||||
t.Fail()
|
||||
|
@ -152,7 +150,7 @@ func TestMessageEntityParseURLGood(t *testing.T) {
|
|||
}
|
||||
|
||||
func TestMessageEntityParseURLBad(t *testing.T) {
|
||||
entity := tgbotapi.MessageEntity{URL: ""}
|
||||
entity := MessageEntity{URL: ""}
|
||||
|
||||
if _, err := entity.ParseURL(); err == nil {
|
||||
t.Fail()
|
||||
|
@ -160,7 +158,7 @@ func TestMessageEntityParseURLBad(t *testing.T) {
|
|||
}
|
||||
|
||||
func TestChatIsPrivate(t *testing.T) {
|
||||
chat := tgbotapi.Chat{ID: 10, Type: "private"}
|
||||
chat := Chat{ID: 10, Type: "private"}
|
||||
|
||||
if !chat.IsPrivate() {
|
||||
t.Fail()
|
||||
|
@ -168,7 +166,7 @@ func TestChatIsPrivate(t *testing.T) {
|
|||
}
|
||||
|
||||
func TestChatIsGroup(t *testing.T) {
|
||||
chat := tgbotapi.Chat{ID: 10, Type: "group"}
|
||||
chat := Chat{ID: 10, Type: "group"}
|
||||
|
||||
if !chat.IsGroup() {
|
||||
t.Fail()
|
||||
|
@ -176,7 +174,7 @@ func TestChatIsGroup(t *testing.T) {
|
|||
}
|
||||
|
||||
func TestChatIsChannel(t *testing.T) {
|
||||
chat := tgbotapi.Chat{ID: 10, Type: "channel"}
|
||||
chat := Chat{ID: 10, Type: "channel"}
|
||||
|
||||
if !chat.IsChannel() {
|
||||
t.Fail()
|
||||
|
@ -184,7 +182,7 @@ func TestChatIsChannel(t *testing.T) {
|
|||
}
|
||||
|
||||
func TestChatIsSuperGroup(t *testing.T) {
|
||||
chat := tgbotapi.Chat{ID: 10, Type: "supergroup"}
|
||||
chat := Chat{ID: 10, Type: "supergroup"}
|
||||
|
||||
if !chat.IsSuperGroup() {
|
||||
t.Fail()
|
||||
|
@ -192,7 +190,7 @@ func TestChatIsSuperGroup(t *testing.T) {
|
|||
}
|
||||
|
||||
func TestFileLink(t *testing.T) {
|
||||
file := tgbotapi.File{FilePath: "test/test.txt"}
|
||||
file := File{FilePath: "test/test.txt"}
|
||||
|
||||
if file.Link("token") != "https://api.telegram.org/file/bottoken/test/test.txt" {
|
||||
t.Fail()
|
||||
|
@ -201,41 +199,41 @@ func TestFileLink(t *testing.T) {
|
|||
|
||||
// Ensure all configs are sendable
|
||||
var (
|
||||
_ tgbotapi.Chattable = tgbotapi.AnimationConfig{}
|
||||
_ tgbotapi.Chattable = tgbotapi.AudioConfig{}
|
||||
_ tgbotapi.Chattable = tgbotapi.CallbackConfig{}
|
||||
_ tgbotapi.Chattable = tgbotapi.ChatActionConfig{}
|
||||
_ tgbotapi.Chattable = tgbotapi.ContactConfig{}
|
||||
_ tgbotapi.Chattable = tgbotapi.DeleteChatPhotoConfig{}
|
||||
_ tgbotapi.Chattable = tgbotapi.DeleteChatStickerSetConfig{}
|
||||
_ tgbotapi.Chattable = tgbotapi.DeleteMessageConfig{}
|
||||
_ tgbotapi.Chattable = tgbotapi.DocumentConfig{}
|
||||
_ tgbotapi.Chattable = tgbotapi.EditMessageCaptionConfig{}
|
||||
_ tgbotapi.Chattable = tgbotapi.EditMessageLiveLocationConfig{}
|
||||
_ tgbotapi.Chattable = tgbotapi.EditMessageReplyMarkupConfig{}
|
||||
_ tgbotapi.Chattable = tgbotapi.EditMessageTextConfig{}
|
||||
_ tgbotapi.Chattable = tgbotapi.ForwardConfig{}
|
||||
_ tgbotapi.Chattable = tgbotapi.GameConfig{}
|
||||
_ tgbotapi.Chattable = tgbotapi.GetGameHighScoresConfig{}
|
||||
_ tgbotapi.Chattable = tgbotapi.InlineConfig{}
|
||||
_ tgbotapi.Chattable = tgbotapi.InvoiceConfig{}
|
||||
_ tgbotapi.Chattable = tgbotapi.KickChatMemberConfig{}
|
||||
_ tgbotapi.Chattable = tgbotapi.LocationConfig{}
|
||||
_ tgbotapi.Chattable = tgbotapi.MediaGroupConfig{}
|
||||
_ tgbotapi.Chattable = tgbotapi.MessageConfig{}
|
||||
_ tgbotapi.Chattable = tgbotapi.PhotoConfig{}
|
||||
_ tgbotapi.Chattable = tgbotapi.PinChatMessageConfig{}
|
||||
_ tgbotapi.Chattable = tgbotapi.SetChatDescriptionConfig{}
|
||||
_ tgbotapi.Chattable = tgbotapi.SetChatPhotoConfig{}
|
||||
_ tgbotapi.Chattable = tgbotapi.SetChatTitleConfig{}
|
||||
_ tgbotapi.Chattable = tgbotapi.SetGameScoreConfig{}
|
||||
_ tgbotapi.Chattable = tgbotapi.StickerConfig{}
|
||||
_ tgbotapi.Chattable = tgbotapi.UnpinChatMessageConfig{}
|
||||
_ tgbotapi.Chattable = tgbotapi.UpdateConfig{}
|
||||
_ tgbotapi.Chattable = tgbotapi.UserProfilePhotosConfig{}
|
||||
_ tgbotapi.Chattable = tgbotapi.VenueConfig{}
|
||||
_ tgbotapi.Chattable = tgbotapi.VideoConfig{}
|
||||
_ tgbotapi.Chattable = tgbotapi.VideoNoteConfig{}
|
||||
_ tgbotapi.Chattable = tgbotapi.VoiceConfig{}
|
||||
_ tgbotapi.Chattable = tgbotapi.WebhookConfig{}
|
||||
_ Chattable = AnimationConfig{}
|
||||
_ Chattable = AudioConfig{}
|
||||
_ Chattable = CallbackConfig{}
|
||||
_ Chattable = ChatActionConfig{}
|
||||
_ Chattable = ContactConfig{}
|
||||
_ Chattable = DeleteChatPhotoConfig{}
|
||||
_ Chattable = DeleteChatStickerSetConfig{}
|
||||
_ Chattable = DeleteMessageConfig{}
|
||||
_ Chattable = DocumentConfig{}
|
||||
_ Chattable = EditMessageCaptionConfig{}
|
||||
_ Chattable = EditMessageLiveLocationConfig{}
|
||||
_ Chattable = EditMessageReplyMarkupConfig{}
|
||||
_ Chattable = EditMessageTextConfig{}
|
||||
_ Chattable = ForwardConfig{}
|
||||
_ Chattable = GameConfig{}
|
||||
_ Chattable = GetGameHighScoresConfig{}
|
||||
_ Chattable = InlineConfig{}
|
||||
_ Chattable = InvoiceConfig{}
|
||||
_ Chattable = KickChatMemberConfig{}
|
||||
_ Chattable = LocationConfig{}
|
||||
_ Chattable = MediaGroupConfig{}
|
||||
_ Chattable = MessageConfig{}
|
||||
_ Chattable = PhotoConfig{}
|
||||
_ Chattable = PinChatMessageConfig{}
|
||||
_ Chattable = SetChatDescriptionConfig{}
|
||||
_ Chattable = SetChatPhotoConfig{}
|
||||
_ Chattable = SetChatTitleConfig{}
|
||||
_ Chattable = SetGameScoreConfig{}
|
||||
_ Chattable = StickerConfig{}
|
||||
_ Chattable = UnpinChatMessageConfig{}
|
||||
_ Chattable = UpdateConfig{}
|
||||
_ Chattable = UserProfilePhotosConfig{}
|
||||
_ Chattable = VenueConfig{}
|
||||
_ Chattable = VideoConfig{}
|
||||
_ Chattable = VideoNoteConfig{}
|
||||
_ Chattable = VoiceConfig{}
|
||||
_ Chattable = WebhookConfig{}
|
||||
)
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue