generated from PenaSide/GolangTemplate
193 lines
7.5 KiB
Go
193 lines
7.5 KiB
Go
![]() |
package utils_test
|
|||
|
|
|||
|
import (
|
|||
|
"testing"
|
|||
|
|
|||
|
"github.com/stretchr/testify/assert"
|
|||
|
"penahub.gitlab.yandexcloud.net/pena-services/customer/internal/models"
|
|||
|
"penahub.gitlab.yandexcloud.net/pena-services/customer/internal/utils"
|
|||
|
)
|
|||
|
|
|||
|
func TestValidateGetPaymentLinkBody(t *testing.T) {
|
|||
|
t.Run("Валидация объекта запроса для получения платёжной ссылки по банковской карточке (Успешно)", func(t *testing.T) {
|
|||
|
assert.NoError(t, utils.ValidateGetPaymentLinkBody(&models.GetPaymentLinkBody{
|
|||
|
Type: models.PaymentTypeBankCard,
|
|||
|
Currency: "RUB",
|
|||
|
Amount: 10050,
|
|||
|
BankCard: &models.BankCard{
|
|||
|
Number: "5315 5310 5310 5011",
|
|||
|
ExpiryYear: "2021",
|
|||
|
ExpiryMonth: "05",
|
|||
|
},
|
|||
|
}))
|
|||
|
})
|
|||
|
|
|||
|
t.Run("Валидация объекта запроса для получения платёжной ссылки по банковской карточке (Не успешно)", func(t *testing.T) {
|
|||
|
assert.Error(t, utils.ValidateGetPaymentLinkBody(&models.GetPaymentLinkBody{
|
|||
|
Type: models.PaymentTypeBankCard,
|
|||
|
Currency: "RUB",
|
|||
|
Amount: 10050,
|
|||
|
}))
|
|||
|
assert.Error(t, utils.ValidateGetPaymentLinkBody(&models.GetPaymentLinkBody{
|
|||
|
Type: models.PaymentTypeBankCard,
|
|||
|
Currency: "RUB",
|
|||
|
Amount: 10050,
|
|||
|
BankCard: &models.BankCard{
|
|||
|
Number: "5315 5310 5310 5011",
|
|||
|
ExpiryYear: "2021",
|
|||
|
},
|
|||
|
}))
|
|||
|
assert.Error(t, utils.ValidateGetPaymentLinkBody(&models.GetPaymentLinkBody{
|
|||
|
Type: models.PaymentTypeBankCard,
|
|||
|
Currency: "RUB",
|
|||
|
Amount: 10050,
|
|||
|
BankCard: &models.BankCard{
|
|||
|
Number: "5315 5310 5310 5011",
|
|||
|
ExpiryMonth: "05",
|
|||
|
},
|
|||
|
}))
|
|||
|
assert.Error(t, utils.ValidateGetPaymentLinkBody(&models.GetPaymentLinkBody{
|
|||
|
Type: models.PaymentTypeBankCard,
|
|||
|
Currency: "RUB",
|
|||
|
Amount: 10050,
|
|||
|
BankCard: &models.BankCard{
|
|||
|
ExpiryYear: "2021",
|
|||
|
ExpiryMonth: "05",
|
|||
|
},
|
|||
|
}))
|
|||
|
})
|
|||
|
|
|||
|
t.Run("Валидация объекта запроса для получения платёжной ссылки через yoomoney (Успешно)", func(t *testing.T) {
|
|||
|
assert.NoError(t, utils.ValidateGetPaymentLinkBody(&models.GetPaymentLinkBody{
|
|||
|
Type: models.PaymentTypeYoomoney,
|
|||
|
Currency: "USD",
|
|||
|
Amount: 10050,
|
|||
|
}))
|
|||
|
})
|
|||
|
|
|||
|
t.Run("Валидация объекта запроса для получения платёжной ссылки через yoomoney (Успешно)", func(t *testing.T) {
|
|||
|
assert.NoError(t, utils.ValidateGetPaymentLinkBody(&models.GetPaymentLinkBody{
|
|||
|
Type: models.PaymentTypeYoomoney,
|
|||
|
Currency: "USD",
|
|||
|
Amount: 10050,
|
|||
|
}))
|
|||
|
})
|
|||
|
|
|||
|
t.Run("Валидация объекта запроса для получения платёжной ссылки через qiwi (Успешно)", func(t *testing.T) {
|
|||
|
assert.NoError(t, utils.ValidateGetPaymentLinkBody(&models.GetPaymentLinkBody{
|
|||
|
Type: models.PaymentTypeQiwi,
|
|||
|
Currency: "USD",
|
|||
|
Amount: 10050,
|
|||
|
PhoneNumber: "79000000000",
|
|||
|
}))
|
|||
|
})
|
|||
|
|
|||
|
t.Run("Валидация объекта запроса для получения платёжной ссылки через qiwi (Не успешно)", func(t *testing.T) {
|
|||
|
assert.Error(t, utils.ValidateGetPaymentLinkBody(&models.GetPaymentLinkBody{
|
|||
|
Type: models.PaymentTypeQiwi,
|
|||
|
Currency: "USD",
|
|||
|
Amount: 10050,
|
|||
|
}))
|
|||
|
})
|
|||
|
|
|||
|
t.Run("Валидация объекта запроса для получения платёжной ссылки через sberpay (Успешно)", func(t *testing.T) {
|
|||
|
assert.NoError(t, utils.ValidateGetPaymentLinkBody(&models.GetPaymentLinkBody{
|
|||
|
Type: models.PaymentTypeSberPay,
|
|||
|
Currency: "USD",
|
|||
|
Amount: 10050,
|
|||
|
PhoneNumber: "79000000000",
|
|||
|
}))
|
|||
|
})
|
|||
|
|
|||
|
t.Run("Валидация объекта запроса для получения платёжной ссылки через sberpay (Не успешно)", func(t *testing.T) {
|
|||
|
assert.Error(t, utils.ValidateGetPaymentLinkBody(&models.GetPaymentLinkBody{
|
|||
|
Type: models.PaymentTypeSberPay,
|
|||
|
Currency: "USD",
|
|||
|
Amount: 10050,
|
|||
|
}))
|
|||
|
})
|
|||
|
|
|||
|
t.Run("Валидация объекта запроса для получения платёжной ссылки через alfaclick (Успешно)", func(t *testing.T) {
|
|||
|
assert.NoError(t, utils.ValidateGetPaymentLinkBody(&models.GetPaymentLinkBody{
|
|||
|
Type: models.PaymentTypeAlfabank,
|
|||
|
Currency: "USD",
|
|||
|
Amount: 10050,
|
|||
|
Login: "login_test",
|
|||
|
}))
|
|||
|
})
|
|||
|
|
|||
|
t.Run("Валидация объекта запроса для получения платёжной ссылки через alfaclick (Не успешно)", func(t *testing.T) {
|
|||
|
assert.Error(t, utils.ValidateGetPaymentLinkBody(&models.GetPaymentLinkBody{
|
|||
|
Type: models.PaymentTypeAlfabank,
|
|||
|
Currency: "BYN",
|
|||
|
Amount: 10050,
|
|||
|
}))
|
|||
|
})
|
|||
|
|
|||
|
t.Run("Валидация объекта запроса для получения платёжной ссылки через sbp (Успешно)", func(t *testing.T) {
|
|||
|
assert.NoError(t, utils.ValidateGetPaymentLinkBody(&models.GetPaymentLinkBody{
|
|||
|
Type: models.PaymentTypeSBP,
|
|||
|
Currency: "USD",
|
|||
|
Amount: 10050,
|
|||
|
}))
|
|||
|
})
|
|||
|
|
|||
|
t.Run("Валидация объекта запроса для получения платёжной ссылки через tinkoff (Успешно)", func(t *testing.T) {
|
|||
|
assert.NoError(t, utils.ValidateGetPaymentLinkBody(&models.GetPaymentLinkBody{
|
|||
|
Type: models.PaymentTypeTinkoff,
|
|||
|
Currency: "USD",
|
|||
|
Amount: 10050,
|
|||
|
}))
|
|||
|
})
|
|||
|
|
|||
|
t.Run("Валидация объекта запроса для получения платёжной ссылки через мобильный (Успешно)", func(t *testing.T) {
|
|||
|
assert.NoError(t, utils.ValidateGetPaymentLinkBody(&models.GetPaymentLinkBody{
|
|||
|
Type: models.PaymentTypeMobile,
|
|||
|
Currency: "USD",
|
|||
|
Amount: 10050,
|
|||
|
PhoneNumber: "79000000000",
|
|||
|
}))
|
|||
|
})
|
|||
|
|
|||
|
t.Run("Валидация объекта запроса для получения платёжной ссылки через мобильный (Не успешно)", func(t *testing.T) {
|
|||
|
assert.Error(t, utils.ValidateGetPaymentLinkBody(&models.GetPaymentLinkBody{
|
|||
|
Type: models.PaymentTypeMobile,
|
|||
|
Currency: "USD",
|
|||
|
Amount: 10050,
|
|||
|
}))
|
|||
|
})
|
|||
|
|
|||
|
t.Run("Валидация объекта запроса для получения платёжной ссылки через наличные (Успешно)", func(t *testing.T) {
|
|||
|
assert.NoError(t, utils.ValidateGetPaymentLinkBody(&models.GetPaymentLinkBody{
|
|||
|
Type: models.PaymentTypeCash,
|
|||
|
Currency: "USD",
|
|||
|
Amount: 10050,
|
|||
|
PhoneNumber: "79000000000",
|
|||
|
}))
|
|||
|
})
|
|||
|
|
|||
|
t.Run("Валидация объекта запроса для получения платёжной ссылки через наличные (Не успешно)", func(t *testing.T) {
|
|||
|
assert.Error(t, utils.ValidateGetPaymentLinkBody(&models.GetPaymentLinkBody{
|
|||
|
Type: models.PaymentTypeCash,
|
|||
|
Currency: "USD",
|
|||
|
Amount: 10050,
|
|||
|
}))
|
|||
|
})
|
|||
|
|
|||
|
t.Run("Валидация объекта запроса для получения платёжной ссылки через оплату по частям (Успешно)", func(t *testing.T) {
|
|||
|
assert.NoError(t, utils.ValidateGetPaymentLinkBody(&models.GetPaymentLinkBody{
|
|||
|
Type: models.PaymentTypeInstallments,
|
|||
|
Currency: "USD",
|
|||
|
Amount: 10050,
|
|||
|
}))
|
|||
|
})
|
|||
|
|
|||
|
t.Run("Не успешная валидация из-за неопределённого типа оплаты", func(t *testing.T) {
|
|||
|
assert.Error(t, utils.ValidateGetPaymentLinkBody(&models.GetPaymentLinkBody{
|
|||
|
Type: "some_radmon_payment_type",
|
|||
|
Currency: "USD",
|
|||
|
Amount: 10050,
|
|||
|
}))
|
|||
|
})
|
|||
|
}
|