paypal/types_test.go
Aliaksandr Pliutau b46adc7bf2 goreport badge
2016-12-22 12:06:00 +07:00

55 lines
1.2 KiB
Go

package paypalsdk
// These tests test responses conversion from JSON to golang structs
import (
"encoding/json"
"testing"
)
func TestTypeUserInfo(t *testing.T) {
response := `{
"user_id": "https://www.paypal.com/webapps/auth/server/64ghr894040044",
"name": "Peter Pepper",
"given_name": "Peter",
"family_name": "Pepper",
"email": "ppuser@example.com"
}`
u := &UserInfo{}
err := json.Unmarshal([]byte(response), u)
if err != nil {
t.Errorf("UserInfo Unmarshal failed")
}
if u.ID != "https://www.paypal.com/webapps/auth/server/64ghr894040044" ||
u.Name != "Peter Pepper" ||
u.GivenName != "Peter" ||
u.FamilyName != "Pepper" ||
u.Email != "ppuser@example.com" {
t.Errorf("UserInfo decoded result is incorrect, Given: %v", u)
}
}
func TestTypeItem(t *testing.T) {
response := `{
"name":"Item",
"price":"22.99",
"currency":"GBP",
"quantity":"1"
}`
i := &Item{}
err := json.Unmarshal([]byte(response), i)
if err != nil {
t.Errorf("Item Unmarshal failed")
}
if i.Name != "Item" ||
i.Price != "22.99" ||
i.Currency != "GBP" ||
i.Quantity != "1" {
t.Errorf("Item decoded result is incorrect, Given: %v", i)
}
}