Initial
This commit is contained in:
70
app/lib/helpers/util_test.go
Normal file
70
app/lib/helpers/util_test.go
Normal file
@ -0,0 +1,70 @@
|
||||
package helpers
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
"testing"
|
||||
|
||||
"github.com/stretchr/testify/assert"
|
||||
)
|
||||
|
||||
func Test_StructToMap(t *testing.T) {
|
||||
t.Run("Convert simple struct to map", func(t *testing.T) {
|
||||
type User struct {
|
||||
Name string `json:"name"`
|
||||
Age int `json:"age"`
|
||||
Height float32 `json:"height"`
|
||||
}
|
||||
|
||||
user := &User{
|
||||
Name: "Pero",
|
||||
Age: 66,
|
||||
Height: 187.6,
|
||||
}
|
||||
result, _ := StructToMap(user)
|
||||
|
||||
expected := make(map[string]interface{})
|
||||
expected["name"] = "Pero"
|
||||
expected["age"] = 66
|
||||
expected["height"] = 187.6
|
||||
|
||||
assert.Equal(t, fmt.Sprintf("%v", result), fmt.Sprintf("%v", expected))
|
||||
})
|
||||
|
||||
t.Run("Convert nested struct to map", func(t *testing.T) {
|
||||
type Address struct {
|
||||
City string `json:"city"`
|
||||
PostalCode int `json:"postalCode"`
|
||||
}
|
||||
|
||||
type User struct {
|
||||
Name string `json:"name"`
|
||||
Age int `json:"age"`
|
||||
Height float32 `json:"height"`
|
||||
Address Address `json:"address"`
|
||||
}
|
||||
|
||||
user := &User{
|
||||
Name: "Pero",
|
||||
Age: 66,
|
||||
Height: 187.6,
|
||||
Address: Address{
|
||||
City: "Zagreb",
|
||||
PostalCode: 10020,
|
||||
},
|
||||
}
|
||||
result, _ := StructToMap(user)
|
||||
|
||||
address := make(map[string]interface{})
|
||||
address["city"] = "Zagreb"
|
||||
address["postalCode"] = 10020
|
||||
|
||||
expected := make(map[string]interface{})
|
||||
expected["name"] = "Pero"
|
||||
expected["age"] = 66
|
||||
expected["height"] = 187.6
|
||||
expected["address"] = make(map[string]interface{})
|
||||
expected["address"] = address
|
||||
|
||||
assert.Equal(t, fmt.Sprintf("%v", result), fmt.Sprintf("%v", expected))
|
||||
})
|
||||
}
|
||||
Reference in New Issue
Block a user