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) }) }