package tests import ( _ "embed" "github.com/gofiber/fiber/v2" "penahub.gitlab.yandexcloud.net/backend/quiz/common.git/clients" "penahub.gitlab.yandexcloud.net/backend/quiz/common.git/model" "penahub.gitlab.yandexcloud.net/backend/quiz/worker.git/senders" "testing" "time" ) //go:embed mail/to_client.tmpl var toClientTemplate string //go:embed mail/reminder.tmpl var reminderTemplate string func TestProcessMessageToSMTP(t *testing.T) { clientDeps := clients.Deps{ SmtpHost: "connect.mailclient.bz", SmtpPort: "587", SmtpSender: "skeris@mailing.pena.digital", ApiKey: "P0YsjUB137upXrr1NiJefHmXVKW1hmBWlpev", SmtpApiUrl: "https://api.smtp.bz/v1/smtp/send", FiberClient: &fiber.Client{}, } client := clients.NewSmtpClient(clientDeps) recipient := "pashamullin2001@gmail.com" subject := "Test" data := senders.TemplateData{ QuizConfig: model.ResultInfo{ Theme: "

Taemplste Quiz

", }, AnswerContent: model.ResultContent{ Name: "Pasha", Phone: "
+723456789@test
", Wechat: "test_wechat", Viber: "+723456789", Vk: "test_vk", Skype: "test_skype", Whatsup: "test_whatsup", Messenger: "test_messenger", }, AllAnswers: []model.ResultAnswer{ {AnswerID: 1, QuestionID: 1, Content: "https://www.google.com/search?sca_esv=c51a80de1a7d45f0&sxsrf=ACQVn08xG-a0eH1Vds246-fONoSvvjzVMw:1707762485524&q=ku,n&tbm=isch&source=lnms&sa=X&ved=2ahUKEwi7ub2Ct6aEAxVVb_UHHQIQBVoQ0pQJegQIDRAB&biw=1536&bih=703&dpr=1.25#imgrc=0PWwTuuH2uBQ3M|html", CreatedAt: time.Now()}, {AnswerID: 2, QuestionID: 2, Content: "From a friend", CreatedAt: time.Now()}, {AnswerID: 3, QuestionID: 3, Content: "From a friend", CreatedAt: time.Now()}, {AnswerID: 4, QuestionID: 4, Content: `{"Image":"https://letsenhance.io/static/8f5e523ee6b2479e26ecc91b9c25261e/1015f/MainAfter.jpg","Description":"Gekon"}`, CreatedAt: time.Now()}, }, QuestionsMap: map[uint64]string{ 1: "?", 2: "How did you hear about us?", 3: "que 3", 4: "que 4", }, AnswerTime: time.Now().Format("Monday, 2 January 2006 г., 15:04 UTC-07:00"), } mailSender := senders.NewMailLeadSender(client) err := mailSender.SendMailWithAttachment(recipient, subject, toClientTemplate, data, nil) if err != nil { t.Errorf("Error sending email: %v", err) } } func TestProcessReminderToClient(t *testing.T) { clientDeps := clients.Deps{ SmtpHost: "connect.mailclient.bz", SmtpPort: "587", SmtpSender: "skeris@mailing.pena.digital", ApiKey: "P0YsjUB137upXrr1NiJefHmXVKW1hmBWlpev", FiberClient: &fiber.Client{}, } client := clients.NewSmtpClient(clientDeps) recipient := "mullinp@internet.ru" subject := "Test Reminder" quizConfig := model.ResultInfo{ ReplName: "Test Quiz", Reply: "mullinp@internet.ru", Theme: "Reminder Theme", } mailSender := senders.NewMailLeadSender(client) err := mailSender.SendMailWithAttachment(recipient, subject, reminderTemplate, senders.TemplateData{ QuizConfig: quizConfig, AnswerContent: model.ResultContent{}, AllAnswers: []model.ResultAnswer{}, QuestionsMap: nil, }, nil) if err != nil { t.Errorf("Error sending email: %v", err) } } //func TestProcessMessageToClient(t *testing.T) { // smtpData := clients.Deps{ // SmtpHost: "connect.mailclient.bz", // SmtpPort: "587", // SmtpSender: "skeris@mailing.pena.digital", // ApiKey: "P0YsjUB137upXrr1NiJefHmXVKW1hmBWlpev", // FiberClient: &fiber.Client{}, // } // // mailClient := clients.NewSmtpClient(smtpData) // mailSender := senders.NewMailLeadSender(mailClient) // // deps := answerwc.DepsSendToClient{ // Redis: nil, // Dal: nil, // LeadSenders: []senders.LeadSender{mailSender}, // CustomerService: nil, // } // // errChan := make(chan<- error) // // w := answerwc.NewSendToClient(deps, errChan) // // quizConfig := model.QuizConfig{ // Mailing: model.ResultInfo{ // Theme: faker.String(), // }, // } // // questionsMap := map[uint64]string{ // 1: faker.String(), // 2: faker.String(), // } // // account := model.Account{ // Email: "pashamullin2001@gmail.com", // } // // allAnswers := []model.ResultAnswer{ // { // Content: `{"Image":"https://letsenhance.io/static/8f5e523ee6b2479e26ecc91b9c25261e/1015f/MainAfter.jpg","Description":"Gekon"}`, // AnswerID: 1, // QuestionID: 1, // }, // { // AnswerID: 2, // QuestionID: 2, // }, // } // // answerContent := model.ResultContent{ // Name: "Pasha", // Phone: "+723456789", // Email: "test@example.com", // //Adress: "chtoto tam", // Telegram: "@test", // Wechat: "test_wechat", // Viber: "+723456789", // Vk: "test_vk", // Skype: "test_skype", // Whatsup: "test_whatsup", // Messenger: "test_messenger", // } // // answerTime := time.Now() // // err := w.ProcessMessageToClient(quizConfig, questionsMap, account, allAnswers, answerContent, answerTime) // // assert.NoError(t, err) //}