customer/internal/utils/transfer/privilege_test.go

117 lines
3.1 KiB
Go
Raw Normal View History

2023-07-07 01:57:06 +00:00
package transfer_test
import (
"testing"
"github.com/stretchr/testify/assert"
2024-11-18 07:23:41 +00:00
"gitea.pena/PenaSide/customer/internal/models"
"gitea.pena/PenaSide/customer/internal/proto/broker"
"gitea.pena/PenaSide/customer/internal/utils/transfer"
2023-07-07 01:57:06 +00:00
)
func TestPrivilegeModelToProto(t *testing.T) {
t.Run("Успешный перевод модели привелегии в прото", func(t *testing.T) {
assert.Equal(t,
&broker.PrivilegeMessage{
PrivilegeID: "12",
ServiceKey: "key-1",
2023-08-02 14:28:31 +00:00
Amount: 10,
Type: broker.PrivilegeType_Count,
2023-07-07 01:57:06 +00:00
Value: "12",
},
transfer.PrivilegeModelToProto(&models.Privilege{
ID: "1",
Name: "name",
PrivilegeID: "12",
ServiceKey: "key-1",
Description: "description",
2023-08-02 14:28:31 +00:00
Type: models.PrivilegeTypeCount,
2023-07-07 01:57:06 +00:00
Value: "12",
Price: 20,
2023-08-02 14:28:31 +00:00
Amount: 10,
2023-07-07 01:57:06 +00:00
}),
)
})
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",
2023-08-02 14:28:31 +00:00
Type: broker.PrivilegeType_Full,
2023-07-07 01:57:06 +00:00
Value: "12",
},
},
transfer.PrivilegeArrayModelToProto([]models.Privilege{
{
ID: "1",
Name: "name",
PrivilegeID: "12",
ServiceKey: "key-1",
Description: "description",
2023-08-02 14:28:31 +00:00
Type: models.PrivilegeTypeFull,
2023-07-07 01:57:06 +00:00
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",
2023-08-02 14:28:31 +00:00
Type: models.PrivilegeTypeDay,
2023-07-07 01:57:06 +00:00
Value: "12",
2023-08-02 14:28:31 +00:00
Amount: 12,
2023-07-07 01:57:06 +00:00
},
transfer.PrivilegeProtoToModel(&broker.PrivilegeMessage{
PrivilegeID: "12",
ServiceKey: "key-1",
2023-08-02 14:28:31 +00:00
Type: broker.PrivilegeType_Day,
2023-07-07 01:57:06 +00:00
Value: "12",
2023-08-02 14:28:31 +00:00
Amount: 12,
2023-07-07 01:57:06 +00:00
}),
)
})
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",
2023-08-02 14:28:31 +00:00
Type: models.PrivilegeTypeCount,
2023-07-07 01:57:06 +00:00
Value: "12",
},
{},
},
transfer.PrivilegeArrayProtoToModel([]*broker.PrivilegeMessage{
{
PrivilegeID: "12",
ServiceKey: "key-1",
2023-08-02 14:28:31 +00:00
Type: broker.PrivilegeType_Count,
2023-07-07 01:57:06 +00:00
Value: "12",
},
nil,
}),
)
})
}