feedback/internal/client/telegram_test.go
2023-04-20 07:03:21 +05:00

44 lines
1.1 KiB
Go

package client
import (
tgbotapi "github.com/go-telegram-bot-api/telegram-bot-api/v5"
"github.com/stretchr/testify/suite"
"go.uber.org/zap"
"penahub.gitlab.yandexcloud.net/backend/templategen_feedback/internal/config"
"penahub.gitlab.yandexcloud.net/backend/templategen_feedback/internal/models"
"testing"
)
type TelegramTestSuite struct {
suite.Suite
bot *Telegram
}
func (suite *TelegramTestSuite) SetupSuite() {
cfg, err := config.NewConfig("test.env")
suite.NoError(err)
logger := zap.NewNop()
bot, err := tgbotapi.NewBotAPI(cfg.TelegramToken)
suite.NoError(err)
suite.bot = NewTelegram(logger, bot, cfg.TelegramChannelID, cfg.TemplatePath)
}
func (suite *TelegramTestSuite) TestTelegram_SendFeedback() {
arg := models.NewFeedback("test.client.telegram.sendFeedback", "suite test", "suite test")
err := suite.bot.SendFeedback(arg)
suite.NoError(err)
}
func (suite *TelegramTestSuite) TestTelegram_SendMessage() {
arg := "test.client.telegram.sendMessage: test message"
err := suite.bot.SendMessage(arg)
suite.NoError(err)
}
func TestTelegramTestSuite(t *testing.T) {
suite.Run(t, new(TelegramTestSuite))
}