customer/internal/utils/transfer/privilege_test.go
Pasha 34a88a3a70
Some checks failed
Lint / Lint (push) Failing after 1m2s
rename go.mod
2024-11-18 21:44:09 +00:00

117 lines
3.1 KiB
Go

package transfer_test
import (
"testing"
"github.com/stretchr/testify/assert"
"gitea.pena/PenaSide/customer/internal/models"
"gitea.pena/PenaSide/customer/internal/proto/broker"
"gitea.pena/PenaSide/customer/internal/utils/transfer"
)
func TestPrivilegeModelToProto(t *testing.T) {
t.Run("Успешный перевод модели привелегии в прото", func(t *testing.T) {
assert.Equal(t,
&broker.PrivilegeMessage{
PrivilegeID: "12",
ServiceKey: "key-1",
Amount: 10,
Type: broker.PrivilegeType_Count,
Value: "12",
},
transfer.PrivilegeModelToProto(&models.Privilege{
ID: "1",
Name: "name",
PrivilegeID: "12",
ServiceKey: "key-1",
Description: "description",
Type: models.PrivilegeTypeCount,
Value: "12",
Price: 20,
Amount: 10,
}),
)
})
t.Run("Успешный перевод nil модели привелегии в прото", func(t *testing.T) {
assert.Equal(t, &broker.PrivilegeMessage{}, transfer.PrivilegeModelToProto(nil))
})
}
func TestPrivilegeArrayModelToProto(t *testing.T) {
t.Run("Успешный перевод массива модели привелегий в массив прото", func(t *testing.T) {
assert.Equal(t,
[]*broker.PrivilegeMessage{
{
PrivilegeID: "12",
ServiceKey: "key-1",
Type: broker.PrivilegeType_Full,
Value: "12",
},
},
transfer.PrivilegeArrayModelToProto([]models.Privilege{
{
ID: "1",
Name: "name",
PrivilegeID: "12",
ServiceKey: "key-1",
Description: "description",
Type: models.PrivilegeTypeFull,
Value: "12",
Price: 20,
},
}),
)
})
}
func TestPrivilegeProtoToModel(t *testing.T) {
t.Run("Успешный перевод прото привелегии в модель", func(t *testing.T) {
assert.Equal(t,
&models.Privilege{
PrivilegeID: "12",
ServiceKey: "key-1",
Type: models.PrivilegeTypeDay,
Value: "12",
Amount: 12,
},
transfer.PrivilegeProtoToModel(&broker.PrivilegeMessage{
PrivilegeID: "12",
ServiceKey: "key-1",
Type: broker.PrivilegeType_Day,
Value: "12",
Amount: 12,
}),
)
})
t.Run("Успешный перевод nil прото привелегии в модель", func(t *testing.T) {
assert.Equal(t, &models.Privilege{}, transfer.PrivilegeProtoToModel(nil))
})
}
func TestPrivilegeArrayProtoToModel(t *testing.T) {
t.Run("Успешный перевод массива прото привелегий в массив моделей", func(t *testing.T) {
assert.Equal(t,
[]models.Privilege{
{
PrivilegeID: "12",
ServiceKey: "key-1",
Type: models.PrivilegeTypeCount,
Value: "12",
},
{},
},
transfer.PrivilegeArrayProtoToModel([]*broker.PrivilegeMessage{
{
PrivilegeID: "12",
ServiceKey: "key-1",
Type: broker.PrivilegeType_Count,
Value: "12",
},
nil,
}),
)
})
}