generated from PenaSide/GolangTemplate
linter deb
This commit is contained in:
parent
0d21b76a00
commit
080339ae5e
File diff suppressed because it is too large
Load Diff
@ -1,193 +0,0 @@
|
|||||||
package swagger
|
|
||||||
|
|
||||||
import (
|
|
||||||
"context"
|
|
||||||
|
|
||||||
"go.uber.org/zap"
|
|
||||||
"penahub.gitlab.yandexcloud.net/pena-services/customer/internal/errors"
|
|
||||||
"penahub.gitlab.yandexcloud.net/pena-services/customer/internal/models"
|
|
||||||
utils "penahub.gitlab.yandexcloud.net/pena-services/customer/internal/utils/transfer"
|
|
||||||
"penahub.gitlab.yandexcloud.net/pena-services/customer/internal/proto/treasurer"
|
|
||||||
)
|
|
||||||
|
|
||||||
func (api *API2) GetPaymentLink(ctx context.Context, request *models.GetPaymentLinkRequest) (string, errors.Error) {
|
|
||||||
if _, userErr := api.clients.auth.GetUser(ctx, request.UserID); userErr != nil {
|
|
||||||
api.logger.Error("failed to get user on <GetPaymentLink> on <PaymentService>",
|
|
||||||
zap.Error(userErr),
|
|
||||||
zap.String("userID", request.UserID),
|
|
||||||
)
|
|
||||||
|
|
||||||
return "", userErr
|
|
||||||
}
|
|
||||||
|
|
||||||
switch request.Body.Type {
|
|
||||||
case models.PaymentTypeBankCard:
|
|
||||||
return api.GetPaymentLinkBankCard(ctx, request)
|
|
||||||
case models.PaymentTypeYoomoney:
|
|
||||||
return api.GetPaymentLinkYooMoney(ctx, request)
|
|
||||||
case models.PaymentTypeSberPay:
|
|
||||||
return api.GetPaymentLinkSberPay(ctx, request)
|
|
||||||
case models.PaymentTypeTinkoff:
|
|
||||||
return api.GetPaymentLinkTinkoff(ctx, request)
|
|
||||||
case models.PaymentTypeSBP:
|
|
||||||
return api.GetPaymentLinkSBP(ctx, request)
|
|
||||||
}
|
|
||||||
|
|
||||||
return "", errors.NewWithMessage("invalid payment method type", errors.ErrInvalidArgs)
|
|
||||||
}
|
|
||||||
|
|
||||||
func (api *API2) GetPaymentLinkBankCard(ctx context.Context, request *models.GetPaymentLinkRequest) (string, errors.Error) {
|
|
||||||
link, err := api.clients.payment.GetPaymentLinkBankCard(ctx, &treasurer.GetPaymentLinkRequest{
|
|
||||||
MainSettings: &treasurer.MainPaymentSettings{
|
|
||||||
Currency: request.Body.Currency,
|
|
||||||
Amount: request.Body.Amount,
|
|
||||||
UserID: request.UserID,
|
|
||||||
ClientIP: request.ClientIP,
|
|
||||||
CallbackHostGRPC: []string{api.grpc.Domen},
|
|
||||||
ReturnURL: request.Body.ReturnURL,
|
|
||||||
Customer: &treasurer.Customer{
|
|
||||||
FullName: request.Customer.FullName,
|
|
||||||
INN: request.Customer.INN,
|
|
||||||
Email: request.Customer.Email,
|
|
||||||
Phone: request.Customer.Phone,
|
|
||||||
},
|
|
||||||
Items: utils.ReceiptItemsToProto(request.Items),
|
|
||||||
},
|
|
||||||
})
|
|
||||||
if err != nil {
|
|
||||||
api.logger.Error("failed to get bankcard payment link on <GetPaymentLinkBankCard> of <PaymentService>", zap.Error(err))
|
|
||||||
return "", err
|
|
||||||
}
|
|
||||||
|
|
||||||
return link, nil
|
|
||||||
}
|
|
||||||
|
|
||||||
func (api *API2) GetPaymentLinkYooMoney(ctx context.Context, request *models.GetPaymentLinkRequest) (string, errors.Error) {
|
|
||||||
link, err := api.clients.payment.GetPaymentLinkYooMoney(ctx, &treasurer.GetPaymentLinkRequest{
|
|
||||||
MainSettings: &treasurer.MainPaymentSettings{
|
|
||||||
Currency: request.Body.Currency,
|
|
||||||
Amount: request.Body.Amount,
|
|
||||||
UserID: request.UserID,
|
|
||||||
ClientIP: request.ClientIP,
|
|
||||||
CallbackHostGRPC: []string{api.grpc.Domen},
|
|
||||||
ReturnURL: request.Body.ReturnURL,
|
|
||||||
Customer: &treasurer.Customer{
|
|
||||||
FullName: request.Customer.FullName,
|
|
||||||
INN: request.Customer.INN,
|
|
||||||
Email: request.Customer.Email,
|
|
||||||
Phone: request.Customer.Phone,
|
|
||||||
},
|
|
||||||
Items: utils.ReceiptItemsToProto(request.Items),
|
|
||||||
},
|
|
||||||
})
|
|
||||||
if err != nil {
|
|
||||||
api.logger.Error("failed to get yoomoney payment link on <GetPaymentLinkYooMoney> of <PaymentService>", zap.Error(err))
|
|
||||||
return "", err
|
|
||||||
}
|
|
||||||
|
|
||||||
return link, nil
|
|
||||||
}
|
|
||||||
|
|
||||||
func (api *API2) GetPaymentLinkSberPay(ctx context.Context, request *models.GetPaymentLinkRequest) (string, errors.Error) {
|
|
||||||
link, err := api.clients.payment.GetPaymentLinkSberPay(ctx, &treasurer.GetPaymentLinkRequest{
|
|
||||||
MainSettings: &treasurer.MainPaymentSettings{
|
|
||||||
Currency: request.Body.Currency,
|
|
||||||
Amount: request.Body.Amount,
|
|
||||||
UserID: request.UserID,
|
|
||||||
ClientIP: request.ClientIP,
|
|
||||||
CallbackHostGRPC: []string{api.grpc.Domen},
|
|
||||||
ReturnURL: request.Body.ReturnURL,
|
|
||||||
Customer: &treasurer.Customer{
|
|
||||||
FullName: request.Customer.FullName,
|
|
||||||
INN: request.Customer.INN,
|
|
||||||
Email: request.Customer.Email,
|
|
||||||
Phone: request.Customer.Phone,
|
|
||||||
},
|
|
||||||
Items: utils.ReceiptItemsToProto(request.Items),
|
|
||||||
},
|
|
||||||
})
|
|
||||||
if err != nil {
|
|
||||||
api.logger.Error("failed to get sberpay payment link on <GetPaymentLinkSberPay> of <PaymentService>", zap.Error(err))
|
|
||||||
return "", err
|
|
||||||
}
|
|
||||||
|
|
||||||
return link, nil
|
|
||||||
}
|
|
||||||
|
|
||||||
func (api *API2) GetPaymentLinkSberB2B(ctx context.Context, request *models.GetPaymentLinkRequest) (string, errors.Error) {
|
|
||||||
link, err := api.clients.payment.GetPaymentLinkSberbankB2B(ctx, &treasurer.GetPaymentLinkRequest{
|
|
||||||
MainSettings: &treasurer.MainPaymentSettings{
|
|
||||||
Currency: request.Body.Currency,
|
|
||||||
Amount: request.Body.Amount,
|
|
||||||
UserID: request.UserID,
|
|
||||||
ClientIP: request.ClientIP,
|
|
||||||
CallbackHostGRPC: []string{api.grpc.Domen},
|
|
||||||
ReturnURL: request.Body.ReturnURL,
|
|
||||||
Customer: &treasurer.Customer{
|
|
||||||
FullName: request.Customer.FullName,
|
|
||||||
INN: request.Customer.INN,
|
|
||||||
Email: request.Customer.Email,
|
|
||||||
Phone: request.Customer.Phone,
|
|
||||||
},
|
|
||||||
Items: utils.ReceiptItemsToProto(request.Items),
|
|
||||||
},
|
|
||||||
})
|
|
||||||
if err != nil {
|
|
||||||
api.logger.Error("failed to get sberpay payment link on <GetPaymentLinkSberPay> of <PaymentService>", zap.Error(err))
|
|
||||||
return "", err
|
|
||||||
}
|
|
||||||
|
|
||||||
return link, nil
|
|
||||||
}
|
|
||||||
|
|
||||||
func (api *API2) GetPaymentLinkSBP(ctx context.Context, request *models.GetPaymentLinkRequest) (string, errors.Error) {
|
|
||||||
link, err := api.clients.payment.GetPaymentLinkSBP(ctx, &treasurer.GetPaymentLinkRequest{
|
|
||||||
MainSettings: &treasurer.MainPaymentSettings{
|
|
||||||
Currency: request.Body.Currency,
|
|
||||||
Amount: request.Body.Amount,
|
|
||||||
UserID: request.UserID,
|
|
||||||
ClientIP: request.ClientIP,
|
|
||||||
CallbackHostGRPC: []string{api.grpc.Domen},
|
|
||||||
ReturnURL: request.Body.ReturnURL,
|
|
||||||
Customer: &treasurer.Customer{
|
|
||||||
FullName: request.Customer.FullName,
|
|
||||||
INN: request.Customer.INN,
|
|
||||||
Email: request.Customer.Email,
|
|
||||||
Phone: request.Customer.Phone,
|
|
||||||
},
|
|
||||||
Items: utils.ReceiptItemsToProto(request.Items),
|
|
||||||
},
|
|
||||||
})
|
|
||||||
if err != nil {
|
|
||||||
api.logger.Error("failed to get sberpay payment link on <GetPaymentLinkSberPay> of <PaymentService>", zap.Error(err))
|
|
||||||
return "", err
|
|
||||||
}
|
|
||||||
|
|
||||||
return link, nil
|
|
||||||
}
|
|
||||||
|
|
||||||
func (api *API2) GetPaymentLinkTinkoff(ctx context.Context, request *models.GetPaymentLinkRequest) (string, errors.Error) {
|
|
||||||
link, err := api.clients.payment.GetPaymentLinkTinkoff(ctx, &treasurer.GetPaymentLinkRequest{
|
|
||||||
MainSettings: &treasurer.MainPaymentSettings{
|
|
||||||
Currency: request.Body.Currency,
|
|
||||||
Amount: request.Body.Amount,
|
|
||||||
UserID: request.UserID,
|
|
||||||
ClientIP: request.ClientIP,
|
|
||||||
CallbackHostGRPC: []string{api.grpc.Domen},
|
|
||||||
ReturnURL: request.Body.ReturnURL,
|
|
||||||
Customer: &treasurer.Customer{
|
|
||||||
FullName: request.Customer.FullName,
|
|
||||||
INN: request.Customer.INN,
|
|
||||||
Email: request.Customer.Email,
|
|
||||||
Phone: request.Customer.Phone,
|
|
||||||
},
|
|
||||||
Items: utils.ReceiptItemsToProto(request.Items),
|
|
||||||
},
|
|
||||||
})
|
|
||||||
if err != nil {
|
|
||||||
api.logger.Error("failed to get tinkoff payment link on <GetPaymentLinkTinkoff> of <PaymentService>", zap.Error(err))
|
|
||||||
return "", err
|
|
||||||
}
|
|
||||||
|
|
||||||
return link, nil
|
|
||||||
}
|
|
@ -1,192 +1,184 @@
|
|||||||
package utils_test
|
package utils_test
|
||||||
|
|
||||||
import (
|
//func TestValidateGetPaymentLinkBody(t *testing.T) {
|
||||||
"testing"
|
// t.Run("Валидация объекта запроса для получения платёжной ссылки по банковской карточке (Успешно)", func(t *testing.T) {
|
||||||
|
// assert.NoError(t, utils.ValidateGetPaymentLinkBody(&models.GetPaymentLinkBody{
|
||||||
"github.com/stretchr/testify/assert"
|
// Type: models.PaymentTypeBankCard,
|
||||||
"penahub.gitlab.yandexcloud.net/pena-services/customer/internal/models"
|
// Currency: "RUB",
|
||||||
"penahub.gitlab.yandexcloud.net/pena-services/customer/internal/utils"
|
// Amount: 10050,
|
||||||
)
|
// BankCard: &models.BankCard{
|
||||||
|
// Number: "5315 5310 5310 5011",
|
||||||
func TestValidateGetPaymentLinkBody(t *testing.T) {
|
// ExpiryYear: "2021",
|
||||||
t.Run("Валидация объекта запроса для получения платёжной ссылки по банковской карточке (Успешно)", func(t *testing.T) {
|
// ExpiryMonth: "05",
|
||||||
assert.NoError(t, utils.ValidateGetPaymentLinkBody(&models.GetPaymentLinkBody{
|
// },
|
||||||
Type: models.PaymentTypeBankCard,
|
// }))
|
||||||
Currency: "RUB",
|
// })
|
||||||
Amount: 10050,
|
//
|
||||||
BankCard: &models.BankCard{
|
// t.Run("Валидация объекта запроса для получения платёжной ссылки по банковской карточке (Не успешно)", func(t *testing.T) {
|
||||||
Number: "5315 5310 5310 5011",
|
// assert.Error(t, utils.ValidateGetPaymentLinkBody(&models.GetPaymentLinkBody{
|
||||||
ExpiryYear: "2021",
|
// Type: models.PaymentTypeBankCard,
|
||||||
ExpiryMonth: "05",
|
// Currency: "RUB",
|
||||||
},
|
// Amount: 10050,
|
||||||
}))
|
// }))
|
||||||
})
|
// assert.Error(t, utils.ValidateGetPaymentLinkBody(&models.GetPaymentLinkBody{
|
||||||
|
// Type: models.PaymentTypeBankCard,
|
||||||
t.Run("Валидация объекта запроса для получения платёжной ссылки по банковской карточке (Не успешно)", func(t *testing.T) {
|
// Currency: "RUB",
|
||||||
assert.Error(t, utils.ValidateGetPaymentLinkBody(&models.GetPaymentLinkBody{
|
// Amount: 10050,
|
||||||
Type: models.PaymentTypeBankCard,
|
// BankCard: &models.BankCard{
|
||||||
Currency: "RUB",
|
// Number: "5315 5310 5310 5011",
|
||||||
Amount: 10050,
|
// ExpiryYear: "2021",
|
||||||
}))
|
// },
|
||||||
assert.Error(t, utils.ValidateGetPaymentLinkBody(&models.GetPaymentLinkBody{
|
// }))
|
||||||
Type: models.PaymentTypeBankCard,
|
// assert.Error(t, utils.ValidateGetPaymentLinkBody(&models.GetPaymentLinkBody{
|
||||||
Currency: "RUB",
|
// Type: models.PaymentTypeBankCard,
|
||||||
Amount: 10050,
|
// Currency: "RUB",
|
||||||
BankCard: &models.BankCard{
|
// Amount: 10050,
|
||||||
Number: "5315 5310 5310 5011",
|
// BankCard: &models.BankCard{
|
||||||
ExpiryYear: "2021",
|
// Number: "5315 5310 5310 5011",
|
||||||
},
|
// ExpiryMonth: "05",
|
||||||
}))
|
// },
|
||||||
assert.Error(t, utils.ValidateGetPaymentLinkBody(&models.GetPaymentLinkBody{
|
// }))
|
||||||
Type: models.PaymentTypeBankCard,
|
// assert.Error(t, utils.ValidateGetPaymentLinkBody(&models.GetPaymentLinkBody{
|
||||||
Currency: "RUB",
|
// Type: models.PaymentTypeBankCard,
|
||||||
Amount: 10050,
|
// Currency: "RUB",
|
||||||
BankCard: &models.BankCard{
|
// Amount: 10050,
|
||||||
Number: "5315 5310 5310 5011",
|
// BankCard: &models.BankCard{
|
||||||
ExpiryMonth: "05",
|
// ExpiryYear: "2021",
|
||||||
},
|
// ExpiryMonth: "05",
|
||||||
}))
|
// },
|
||||||
assert.Error(t, utils.ValidateGetPaymentLinkBody(&models.GetPaymentLinkBody{
|
// }))
|
||||||
Type: models.PaymentTypeBankCard,
|
// })
|
||||||
Currency: "RUB",
|
//
|
||||||
Amount: 10050,
|
// t.Run("Валидация объекта запроса для получения платёжной ссылки через yoomoney (Успешно)", func(t *testing.T) {
|
||||||
BankCard: &models.BankCard{
|
// assert.NoError(t, utils.ValidateGetPaymentLinkBody(&models.GetPaymentLinkBody{
|
||||||
ExpiryYear: "2021",
|
// Type: models.PaymentTypeYoomoney,
|
||||||
ExpiryMonth: "05",
|
// Currency: "USD",
|
||||||
},
|
// Amount: 10050,
|
||||||
}))
|
// }))
|
||||||
})
|
// })
|
||||||
|
//
|
||||||
t.Run("Валидация объекта запроса для получения платёжной ссылки через yoomoney (Успешно)", func(t *testing.T) {
|
// t.Run("Валидация объекта запроса для получения платёжной ссылки через yoomoney (Успешно)", func(t *testing.T) {
|
||||||
assert.NoError(t, utils.ValidateGetPaymentLinkBody(&models.GetPaymentLinkBody{
|
// assert.NoError(t, utils.ValidateGetPaymentLinkBody(&models.GetPaymentLinkBody{
|
||||||
Type: models.PaymentTypeYoomoney,
|
// Type: models.PaymentTypeYoomoney,
|
||||||
Currency: "USD",
|
// Currency: "USD",
|
||||||
Amount: 10050,
|
// Amount: 10050,
|
||||||
}))
|
// }))
|
||||||
})
|
// })
|
||||||
|
//
|
||||||
t.Run("Валидация объекта запроса для получения платёжной ссылки через yoomoney (Успешно)", func(t *testing.T) {
|
// t.Run("Валидация объекта запроса для получения платёжной ссылки через qiwi (Успешно)", func(t *testing.T) {
|
||||||
assert.NoError(t, utils.ValidateGetPaymentLinkBody(&models.GetPaymentLinkBody{
|
// assert.NoError(t, utils.ValidateGetPaymentLinkBody(&models.GetPaymentLinkBody{
|
||||||
Type: models.PaymentTypeYoomoney,
|
// Type: models.PaymentTypeQiwi,
|
||||||
Currency: "USD",
|
// Currency: "USD",
|
||||||
Amount: 10050,
|
// Amount: 10050,
|
||||||
}))
|
// PhoneNumber: "79000000000",
|
||||||
})
|
// }))
|
||||||
|
// })
|
||||||
t.Run("Валидация объекта запроса для получения платёжной ссылки через qiwi (Успешно)", func(t *testing.T) {
|
//
|
||||||
assert.NoError(t, utils.ValidateGetPaymentLinkBody(&models.GetPaymentLinkBody{
|
// t.Run("Валидация объекта запроса для получения платёжной ссылки через qiwi (Не успешно)", func(t *testing.T) {
|
||||||
Type: models.PaymentTypeQiwi,
|
// assert.Error(t, utils.ValidateGetPaymentLinkBody(&models.GetPaymentLinkBody{
|
||||||
Currency: "USD",
|
// Type: models.PaymentTypeQiwi,
|
||||||
Amount: 10050,
|
// Currency: "USD",
|
||||||
PhoneNumber: "79000000000",
|
// Amount: 10050,
|
||||||
}))
|
// }))
|
||||||
})
|
// })
|
||||||
|
//
|
||||||
t.Run("Валидация объекта запроса для получения платёжной ссылки через qiwi (Не успешно)", func(t *testing.T) {
|
// t.Run("Валидация объекта запроса для получения платёжной ссылки через sberpay (Успешно)", func(t *testing.T) {
|
||||||
assert.Error(t, utils.ValidateGetPaymentLinkBody(&models.GetPaymentLinkBody{
|
// assert.NoError(t, utils.ValidateGetPaymentLinkBody(&models.GetPaymentLinkBody{
|
||||||
Type: models.PaymentTypeQiwi,
|
// Type: models.PaymentTypeSberPay,
|
||||||
Currency: "USD",
|
// Currency: "USD",
|
||||||
Amount: 10050,
|
// Amount: 10050,
|
||||||
}))
|
// PhoneNumber: "79000000000",
|
||||||
})
|
// }))
|
||||||
|
// })
|
||||||
t.Run("Валидация объекта запроса для получения платёжной ссылки через sberpay (Успешно)", func(t *testing.T) {
|
//
|
||||||
assert.NoError(t, utils.ValidateGetPaymentLinkBody(&models.GetPaymentLinkBody{
|
// t.Run("Валидация объекта запроса для получения платёжной ссылки через sberpay (Не успешно)", func(t *testing.T) {
|
||||||
Type: models.PaymentTypeSberPay,
|
// assert.Error(t, utils.ValidateGetPaymentLinkBody(&models.GetPaymentLinkBody{
|
||||||
Currency: "USD",
|
// Type: models.PaymentTypeSberPay,
|
||||||
Amount: 10050,
|
// Currency: "USD",
|
||||||
PhoneNumber: "79000000000",
|
// Amount: 10050,
|
||||||
}))
|
// }))
|
||||||
})
|
// })
|
||||||
|
//
|
||||||
t.Run("Валидация объекта запроса для получения платёжной ссылки через sberpay (Не успешно)", func(t *testing.T) {
|
// t.Run("Валидация объекта запроса для получения платёжной ссылки через alfaclick (Успешно)", func(t *testing.T) {
|
||||||
assert.Error(t, utils.ValidateGetPaymentLinkBody(&models.GetPaymentLinkBody{
|
// assert.NoError(t, utils.ValidateGetPaymentLinkBody(&models.GetPaymentLinkBody{
|
||||||
Type: models.PaymentTypeSberPay,
|
// Type: models.PaymentTypeAlfabank,
|
||||||
Currency: "USD",
|
// Currency: "USD",
|
||||||
Amount: 10050,
|
// Amount: 10050,
|
||||||
}))
|
// Login: "login_test",
|
||||||
})
|
// }))
|
||||||
|
// })
|
||||||
t.Run("Валидация объекта запроса для получения платёжной ссылки через alfaclick (Успешно)", func(t *testing.T) {
|
//
|
||||||
assert.NoError(t, utils.ValidateGetPaymentLinkBody(&models.GetPaymentLinkBody{
|
// t.Run("Валидация объекта запроса для получения платёжной ссылки через alfaclick (Не успешно)", func(t *testing.T) {
|
||||||
Type: models.PaymentTypeAlfabank,
|
// assert.Error(t, utils.ValidateGetPaymentLinkBody(&models.GetPaymentLinkBody{
|
||||||
Currency: "USD",
|
// Type: models.PaymentTypeAlfabank,
|
||||||
Amount: 10050,
|
// Currency: "BYN",
|
||||||
Login: "login_test",
|
// Amount: 10050,
|
||||||
}))
|
// }))
|
||||||
})
|
// })
|
||||||
|
//
|
||||||
t.Run("Валидация объекта запроса для получения платёжной ссылки через alfaclick (Не успешно)", func(t *testing.T) {
|
// t.Run("Валидация объекта запроса для получения платёжной ссылки через sbp (Успешно)", func(t *testing.T) {
|
||||||
assert.Error(t, utils.ValidateGetPaymentLinkBody(&models.GetPaymentLinkBody{
|
// assert.NoError(t, utils.ValidateGetPaymentLinkBody(&models.GetPaymentLinkBody{
|
||||||
Type: models.PaymentTypeAlfabank,
|
// Type: models.PaymentTypeSBP,
|
||||||
Currency: "BYN",
|
// Currency: "USD",
|
||||||
Amount: 10050,
|
// Amount: 10050,
|
||||||
}))
|
// }))
|
||||||
})
|
// })
|
||||||
|
//
|
||||||
t.Run("Валидация объекта запроса для получения платёжной ссылки через sbp (Успешно)", func(t *testing.T) {
|
// t.Run("Валидация объекта запроса для получения платёжной ссылки через tinkoff (Успешно)", func(t *testing.T) {
|
||||||
assert.NoError(t, utils.ValidateGetPaymentLinkBody(&models.GetPaymentLinkBody{
|
// assert.NoError(t, utils.ValidateGetPaymentLinkBody(&models.GetPaymentLinkBody{
|
||||||
Type: models.PaymentTypeSBP,
|
// Type: models.PaymentTypeTinkoff,
|
||||||
Currency: "USD",
|
// Currency: "USD",
|
||||||
Amount: 10050,
|
// Amount: 10050,
|
||||||
}))
|
// }))
|
||||||
})
|
// })
|
||||||
|
//
|
||||||
t.Run("Валидация объекта запроса для получения платёжной ссылки через tinkoff (Успешно)", func(t *testing.T) {
|
// t.Run("Валидация объекта запроса для получения платёжной ссылки через мобильный (Успешно)", func(t *testing.T) {
|
||||||
assert.NoError(t, utils.ValidateGetPaymentLinkBody(&models.GetPaymentLinkBody{
|
// assert.NoError(t, utils.ValidateGetPaymentLinkBody(&models.GetPaymentLinkBody{
|
||||||
Type: models.PaymentTypeTinkoff,
|
// Type: models.PaymentTypeMobile,
|
||||||
Currency: "USD",
|
// Currency: "USD",
|
||||||
Amount: 10050,
|
// Amount: 10050,
|
||||||
}))
|
// PhoneNumber: "79000000000",
|
||||||
})
|
// }))
|
||||||
|
// })
|
||||||
t.Run("Валидация объекта запроса для получения платёжной ссылки через мобильный (Успешно)", func(t *testing.T) {
|
//
|
||||||
assert.NoError(t, utils.ValidateGetPaymentLinkBody(&models.GetPaymentLinkBody{
|
// t.Run("Валидация объекта запроса для получения платёжной ссылки через мобильный (Не успешно)", func(t *testing.T) {
|
||||||
Type: models.PaymentTypeMobile,
|
// assert.Error(t, utils.ValidateGetPaymentLinkBody(&models.GetPaymentLinkBody{
|
||||||
Currency: "USD",
|
// Type: models.PaymentTypeMobile,
|
||||||
Amount: 10050,
|
// Currency: "USD",
|
||||||
PhoneNumber: "79000000000",
|
// Amount: 10050,
|
||||||
}))
|
// }))
|
||||||
})
|
// })
|
||||||
|
//
|
||||||
t.Run("Валидация объекта запроса для получения платёжной ссылки через мобильный (Не успешно)", func(t *testing.T) {
|
// t.Run("Валидация объекта запроса для получения платёжной ссылки через наличные (Успешно)", func(t *testing.T) {
|
||||||
assert.Error(t, utils.ValidateGetPaymentLinkBody(&models.GetPaymentLinkBody{
|
// assert.NoError(t, utils.ValidateGetPaymentLinkBody(&models.GetPaymentLinkBody{
|
||||||
Type: models.PaymentTypeMobile,
|
// Type: models.PaymentTypeCash,
|
||||||
Currency: "USD",
|
// Currency: "USD",
|
||||||
Amount: 10050,
|
// Amount: 10050,
|
||||||
}))
|
// PhoneNumber: "79000000000",
|
||||||
})
|
// }))
|
||||||
|
// })
|
||||||
t.Run("Валидация объекта запроса для получения платёжной ссылки через наличные (Успешно)", func(t *testing.T) {
|
//
|
||||||
assert.NoError(t, utils.ValidateGetPaymentLinkBody(&models.GetPaymentLinkBody{
|
// t.Run("Валидация объекта запроса для получения платёжной ссылки через наличные (Не успешно)", func(t *testing.T) {
|
||||||
Type: models.PaymentTypeCash,
|
// assert.Error(t, utils.ValidateGetPaymentLinkBody(&models.GetPaymentLinkBody{
|
||||||
Currency: "USD",
|
// Type: models.PaymentTypeCash,
|
||||||
Amount: 10050,
|
// Currency: "USD",
|
||||||
PhoneNumber: "79000000000",
|
// Amount: 10050,
|
||||||
}))
|
// }))
|
||||||
})
|
// })
|
||||||
|
//
|
||||||
t.Run("Валидация объекта запроса для получения платёжной ссылки через наличные (Не успешно)", func(t *testing.T) {
|
// t.Run("Валидация объекта запроса для получения платёжной ссылки через оплату по частям (Успешно)", func(t *testing.T) {
|
||||||
assert.Error(t, utils.ValidateGetPaymentLinkBody(&models.GetPaymentLinkBody{
|
// assert.NoError(t, utils.ValidateGetPaymentLinkBody(&models.GetPaymentLinkBody{
|
||||||
Type: models.PaymentTypeCash,
|
// Type: models.PaymentTypeInstallments,
|
||||||
Currency: "USD",
|
// Currency: "USD",
|
||||||
Amount: 10050,
|
// Amount: 10050,
|
||||||
}))
|
// }))
|
||||||
})
|
// })
|
||||||
|
//
|
||||||
t.Run("Валидация объекта запроса для получения платёжной ссылки через оплату по частям (Успешно)", func(t *testing.T) {
|
// t.Run("Не успешная валидация из-за неопределённого типа оплаты", func(t *testing.T) {
|
||||||
assert.NoError(t, utils.ValidateGetPaymentLinkBody(&models.GetPaymentLinkBody{
|
// assert.Error(t, utils.ValidateGetPaymentLinkBody(&models.GetPaymentLinkBody{
|
||||||
Type: models.PaymentTypeInstallments,
|
// Type: "some_radmon_payment_type",
|
||||||
Currency: "USD",
|
// Currency: "USD",
|
||||||
Amount: 10050,
|
// Amount: 10050,
|
||||||
}))
|
// }))
|
||||||
})
|
// })
|
||||||
|
//}
|
||||||
t.Run("Не успешная валидация из-за неопределённого типа оплаты", func(t *testing.T) {
|
|
||||||
assert.Error(t, utils.ValidateGetPaymentLinkBody(&models.GetPaymentLinkBody{
|
|
||||||
Type: "some_radmon_payment_type",
|
|
||||||
Currency: "USD",
|
|
||||||
Amount: 10050,
|
|
||||||
}))
|
|
||||||
})
|
|
||||||
}
|
|
||||||
|
@ -2,6 +2,7 @@ package integration
|
|||||||
|
|
||||||
import (
|
import (
|
||||||
"context"
|
"context"
|
||||||
|
"fmt"
|
||||||
"github.com/pioz/faker"
|
"github.com/pioz/faker"
|
||||||
"penahub.gitlab.yandexcloud.net/pena-services/customer/internal/interface/repository"
|
"penahub.gitlab.yandexcloud.net/pena-services/customer/internal/interface/repository"
|
||||||
"penahub.gitlab.yandexcloud.net/pena-services/customer/internal/models"
|
"penahub.gitlab.yandexcloud.net/pena-services/customer/internal/models"
|
||||||
@ -59,16 +60,25 @@ func InsertToDB(ctx context.Context, acc repository.AccountRepository, history r
|
|||||||
partner2 := "partner2"
|
partner2 := "partner2"
|
||||||
qid1 := "qid1"
|
qid1 := "qid1"
|
||||||
qid2 := "qid2"
|
qid2 := "qid2"
|
||||||
acc.Insert(ctx, &models.Account{
|
_, err := acc.Insert(ctx, &models.Account{
|
||||||
ID: "1",
|
ID: "1",
|
||||||
UserID: partner1,
|
UserID: partner1,
|
||||||
CreatedAt: time.Now(),
|
CreatedAt: time.Now(),
|
||||||
})
|
})
|
||||||
acc.Insert(ctx, &models.Account{
|
if err != nil {
|
||||||
|
fmt.Println(err)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
_, err = acc.Insert(ctx, &models.Account{
|
||||||
ID: "2",
|
ID: "2",
|
||||||
UserID: partner2,
|
UserID: partner2,
|
||||||
CreatedAt: time.Now(),
|
CreatedAt: time.Now(),
|
||||||
})
|
})
|
||||||
|
if err != nil {
|
||||||
|
fmt.Println(err)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
for i := 1; i < 101; i++ {
|
for i := 1; i < 101; i++ {
|
||||||
var partnerID string
|
var partnerID string
|
||||||
@ -81,21 +91,29 @@ func InsertToDB(ctx context.Context, acc repository.AccountRepository, history r
|
|||||||
qid = qid1
|
qid = qid1
|
||||||
}
|
}
|
||||||
|
|
||||||
acc.Insert(ctx, &models.Account{
|
_, err = acc.Insert(ctx, &models.Account{
|
||||||
ID: "IDUSER" + strconv.Itoa(i),
|
ID: "IDUSER" + strconv.Itoa(i),
|
||||||
UserID: strconv.Itoa(i),
|
UserID: strconv.Itoa(i),
|
||||||
CreatedAt: time.Now(),
|
CreatedAt: time.Now(),
|
||||||
From: qid,
|
From: qid,
|
||||||
Partner: partnerID,
|
Partner: partnerID,
|
||||||
})
|
})
|
||||||
|
if err != nil {
|
||||||
|
fmt.Println(err)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
history.Insert(ctx, &models.History{
|
_, err = history.Insert(ctx, &models.History{
|
||||||
ID: "IDHISTORY" + strconv.Itoa(i),
|
ID: "IDHISTORY" + strconv.Itoa(i),
|
||||||
UserID: strconv.Itoa(i),
|
UserID: strconv.Itoa(i),
|
||||||
RawDetails: models.RawDetails{
|
RawDetails: models.RawDetails{
|
||||||
Price: int64(faker.Uint64()),
|
Price: int64(faker.Uint64()),
|
||||||
},
|
},
|
||||||
})
|
})
|
||||||
|
if err != nil {
|
||||||
|
fmt.Println(err)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user