2024-02-11 18:22:37 +00:00
|
|
|
package client
|
|
|
|
|
|
|
|
import (
|
|
|
|
"bytes"
|
|
|
|
tgbotapi "github.com/go-telegram-bot-api/telegram-bot-api/v5"
|
|
|
|
"github.com/stretchr/testify/assert"
|
|
|
|
"go.uber.org/zap"
|
2024-11-21 07:29:18 +00:00
|
|
|
"gitea.pena/PenaSide/verification/internal/models"
|
2024-02-11 18:22:37 +00:00
|
|
|
"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)
|
|
|
|
})
|
|
|
|
}
|