diff options
| author | Sam Anthony <sam@samanthony.xyz> | 2026-05-13 10:44:57 -0400 |
|---|---|---|
| committer | Sam Anthony <sam@samanthony.xyz> | 2026-05-13 10:45:41 -0400 |
| commit | 56523fc6a304c09f252449342b10c52f7836c4aa (patch) | |
| tree | 07cd85a92ba3c1393805a938fbc27b8ad18162b5 /ship_test.go | |
| parent | 520f392ca5207f5364bbed501615613e3485b84b (diff) | |
| download | lulu-56523fc6a304c09f252449342b10c52f7836c4aa.zip | |
create print job
Diffstat (limited to 'ship_test.go')
| -rw-r--r-- | ship_test.go | 94 |
1 files changed, 67 insertions, 27 deletions
diff --git a/ship_test.go b/ship_test.go index 7643cb3..bd5432d 100644 --- a/ship_test.go +++ b/ship_test.go @@ -3,37 +3,77 @@ package lulu import ( _ "embed" "testing" + + "github.com/stretchr/testify/require" ) //go:embed testdata/shipaddrresp.json var shipAddrRespJson string +var shipAddrSample = ShippingAddress{ + City: "Lübeck", + Country: "DE", + IsBusiness: false, + Name: "Hans Dampf", + Phone: MustParsePhoneNumber("844-212-0689"), + PostCode: "23552", + State: "", + Street1: "Holstenstr. 40", + Street2: "", +} +var shipWarningsSample = []ShippingAddressWarning{{ + Type: "validation_warning", + Path: "external", + Code: "REPLACED", + Msg: "street1: Holstenstr. 40 -> Holstenstraße 40", +}} +var suggestedShipAddrSample = ShippingAddress{ + Country: "DE", + State: "", + PostCode: "23552", + City: "Lübeck", + Street1: "Holstenstraße 40", +} +var shipAddrValidationSample = ShippingAddressValidation{ + Address: shipAddrSample, + Warnings: shipWarningsSample, + Suggested: suggestedShipAddrSample, +} + func TestUnmarshalShippingAddressValidation(t *testing.T) { - want := ShippingAddressValidation{ - Address: ShippingAddress{ - City: "Lübeck", - Country: "DE", - IsBusiness: false, - Name: "Hans Dampf", - Phone: MustParsePhoneNumber("844-212-0689"), - PostCode: "23552", - State: "", - Street1: "Holstenstr. 40", - Street2: "", - }, - Warnings: []ShippingAddressWarning{{ - Type: "validation_warning", - Path: "external", - Code: "REPLACED", - Msg: "street1: Holstenstr. 40 -> Holstenstraße 40", - }}, - Suggested: ShippingAddress{ - Country: "DE", - State: "", - PostCode: "23552", - City: "Lübeck", - Street1: "Holstenstraße 40", - }, - } - requireUnmarshalJsonEq(t, want, shipAddrRespJson) + requireUnmarshalJsonEq(t, shipAddrValidationSample, shipAddrRespJson) +} + +func requireMatchShipAddrValidationSample(t *testing.T, av ShippingAddressValidation) { + t.Helper() + requireMatchShipAddrSample(t, av.Address) + requireMatchShipWarningsSample(t, av.Warnings) + requireMatchSuggestedShipAddrSample(t, av.Suggested) +} + +func requireMatchShipAddrSample(t *testing.T, addr ShippingAddress) { + t.Helper() + require.Equal(t, shipAddrSample.City, addr.City) + require.Equal(t, shipAddrSample.Country, addr.Country) + require.Equal(t, shipAddrSample.IsBusiness, addr.IsBusiness) + require.Equal(t, shipAddrSample.Name, addr.Name) + require.Equal(t, shipAddrSample.Phone, addr.Phone) + require.Equal(t, shipAddrSample.PostCode, addr.PostCode) + require.Equal(t, shipAddrSample.State, addr.State) + require.Equal(t, shipAddrSample.Street1, addr.Street1) + require.Equal(t, shipAddrSample.Street2, addr.Street2) +} + +func requireMatchShipWarningsSample(t *testing.T, warns []ShippingAddressWarning) { + t.Helper() + require.Equal(t, shipWarningsSample, warns) +} + +func requireMatchSuggestedShipAddrSample(t *testing.T, sug ShippingAddress) { + t.Helper() + require.Equal(t, suggestedShipAddrSample.Country, sug.Country) + require.Equal(t, suggestedShipAddrSample.State, sug.State) + require.Equal(t, suggestedShipAddrSample.PostCode, sug.PostCode) + require.Equal(t, suggestedShipAddrSample.City, sug.City) + require.Equal(t, suggestedShipAddrSample.Street1, sug.Street1) } |