Files
smsc/sms_test.go
2026-01-31 19:30:41 +03:00

50 lines
1.4 KiB
Go

package smsc
import (
"encoding/json"
"fmt"
"math/rand"
"testing"
)
func generateCode() string {
return fmt.Sprintf("%04d", rand.Intn(10000))
}
func TestSendSMS(t *testing.T) {
// Создаем тестовый запрос
req := RequestSMS{
ApiKey: "80g8w5-t4D5n2X5v2!8s1S3p5E2n2X68e", // Замените на реальный API-ключ для теста
Phone: "79397804368", // Замените на реальный номер телефона
Message: "Код подтверждения: " + generateCode(),
}
// Вызываем тестируемую функцию
resp := SendSMS(req)
// Проверяем, что нет ошибки
if resp.Error != "" {
t.Errorf("Ошибка при отправке SMS: %s", resp.Error)
}
// Проверяем, что ID и Cnt имеют ожидаемые значения (если применимо)
// Эти проверки могут быть опциональными, так как значения зависят от ответа сервера
if resp.ID == 0 {
t.Error("Ожидался ненулевой ID")
}
if resp.Cnt == 0 {
t.Error("Ожидался ненулевой Cnt")
}
printJSON(t, resp)
}
func printJSON(t *testing.T, data any) {
jsonData, err := json.MarshalIndent(data, "", " ")
if err != nil {
t.Errorf("Ошибка при преобразовании в JSON: %v", err)
return
}
fmt.Println(string(jsonData))
}