verification/internal/client/telegram_test.go
2024-11-21 10:29:18 +03:00

71 lines
1.9 KiB
Go

package client
import (
"bytes"
tgbotapi "github.com/go-telegram-bot-api/telegram-bot-api/v5"
"github.com/stretchr/testify/assert"
"go.uber.org/zap"
"gitea.pena/PenaSide/verification/internal/models"
"testing"
"text/template"
"time"
)
func TestTelegram_SendVerification(t *testing.T) {
logger, _ := zap.NewDevelopment()
bot, _ := tgbotapi.NewBotAPI("6712573453:AAFddRtlsF4ZH977xZDexWj6DhqeJD66hYw")
chatID := int64(542073142)
client := NewTelegram(Deps{Logger: logger, Bot: bot, ChatID: chatID, StagingURL: "https://sadmin.pena"})
t.Run("SendVerification-success", func(t *testing.T) {
data := &models.Verification{
ID: "641b2d73e0e07a7e90b59616",
UserID: "test-user",
Accepted: false,
Status: "nko",
UpdatedAt: time.Now(),
Comment: "test",
Files: []models.VerificationFile{
{Name: "file1.txt", Url: "http://test.com/file1.txt"},
{Name: "file2.txt", Url: "http://test.com/file2.txt"},
},
}
isUpdate := false
tpl := template.Must(template.New("verification").Parse("Verification: {{.UserID}}"))
var text bytes.Buffer
err := tpl.Execute(&text, data)
assert.NoError(t, err)
err = client.SendVerification(data, "https://admin.pena", isUpdate)
assert.NoError(t, err)
})
t.Run("SendVerification-success", func(t *testing.T) {
data := &models.Verification{
ID: "641b2d73e0e07a7e90b59616",
UserID: "test-user",
Accepted: false,
Status: "nko",
UpdatedAt: time.Now(),
Comment: "test",
Files: []models.VerificationFile{
{Name: "file1.txt", Url: "http://test.com/file1.txt"},
{Name: "file2.txt", Url: "http://test.com/file2.txt"},
},
}
isUpdate := true
tpl := template.Must(template.New("verification").Parse("Verification: {{.UserID}}"))
var text bytes.Buffer
err := tpl.Execute(&text, data)
assert.NoError(t, err)
err = client.SendVerification(data, "https://sadmin.pena", isUpdate)
assert.NoError(t, err)
})
}