diff options
Diffstat (limited to 'ship_test.go')
| -rw-r--r-- | ship_test.go | 51 |
1 files changed, 51 insertions, 0 deletions
diff --git a/ship_test.go b/ship_test.go new file mode 100644 index 0000000..b91e671 --- /dev/null +++ b/ship_test.go @@ -0,0 +1,51 @@ +package lulu + +import ( + "testing" +) + +func TestMarshalUnmarshalShippingAddress(t *testing.T) { + for _, pair := range []struct { + j string + addr ShippingAddress + }{ + { + `{ + "city": "Lübeck", + "country_code": "DE", + "postcode": "23552", + "state_code": "", + "street1": "Holstenstr. 40", + "phone_number": "844-212-0689" + }`, + ShippingAddress{ + "Lübeck", + "DE", + "23552", + "", // TODO: does the API mind if this is "" instead of null? + "Holstenstr. 40", + "844-212-0689", + }, + }, { + `{ + "city": "Anytown", + "country_code": "CA", + "postcode": "A1A 1A1", + "state_code": "QC", + "street1": "123 Fake Street", + "phone_number": "123-456-7890" + }`, + ShippingAddress{ + "Anytown", + "CA", + "A1A 1A1", + "QC", + "123 Fake Street", + "123-456-7890", + }, + }, + } { + requireMarshalJsonEq(t, pair.j, pair.addr) + requireUnmarshalJsonEq(t, pair.addr, pair.j) + } +} |