func Test_EditAddress(t *testing.T) { Convey("with shop identifier", t, func() { shopID := cart.InsertTestData() So(shopID, ShouldNotBeNil) qs := make(url.Values, 0) qs.Add("shop", shopID.Hex()) cust := cart.Customer{ ShopId: *shopID, FirstName: "Alex", LastName: "Ninneman", Email: time.Now().Format(time.RFC3339Nano) + "@gmail.com", Password: "******", } response = httprunner.JsonRequest("POST", "/shopify/customers", &qs, cust, AddCustomer) So(response.Code, ShouldEqual, 200) So(json.Unmarshal(response.Body.Bytes(), &cust), ShouldBeNil) addr := cart.CustomerAddress{ Address1: "1119 Sunset Lane", City: "Altoona", Company: "AN & Co.", FirstName: "Alex", LastName: "Ninneman", Phone: "7153082604", Province: "Wisconsin", ProvinceCode: "WI", Country: "US", CountryCode: "US", CountryName: "United States", Zip: "54720", } response = httprunner.ParameterizedJsonRequest("POST", "/shopify/customers/:id/addresses", "/shopify/customers/"+cust.Id.Hex()+"/addresses", &qs, &addr, AddAddress) So(response.Code, ShouldEqual, 200) So(json.Unmarshal(response.Body.Bytes(), &addr), ShouldBeNil) response = httprunner.ParameterizedJsonRequest("PUT", "/shopify/customers/:id/addresses/:address", "/shopify/customers/1234/addresses/1234", &qs, &addr, EditAddress) So(response.Code, ShouldEqual, 500) So(json.Unmarshal(response.Body.Bytes(), &apierror.ApiErr{}), ShouldBeNil) response = httprunner.ParameterizedJsonRequest("PUT", "/shopify/customers/:id/addresses/:address", "/shopify/customers/"+shopID.Hex()+"/addresses/1234", &qs, &cust, EditAddress) So(response.Code, ShouldEqual, 500) So(json.Unmarshal(response.Body.Bytes(), &apierror.ApiErr{}), ShouldBeNil) response = httprunner.ParameterizedJsonRequest("PUT", "/shopify/customers/:id/addresses/:address", "/shopify/customers/"+cust.Id.Hex()+"/addresses/1234", &qs, &cust, EditAddress) So(response.Code, ShouldEqual, 500) So(json.Unmarshal(response.Body.Bytes(), &apierror.ApiErr{}), ShouldBeNil) response = httprunner.ParameterizedJsonRequest("PUT", "/shopify/customers/:id/addresses/:address", "/shopify/customers/"+cust.Id.Hex()+"/addresses/"+addr.Id.Hex(), &qs, &cart.Shop{}, EditAddress) So(response.Code, ShouldEqual, 500) So(json.Unmarshal(response.Body.Bytes(), &apierror.ApiErr{}), ShouldBeNil) response = httprunner.ParameterizedJsonRequest("PUT", "/shopify/customers/:id/addresses/:address", "/shopify/customers/"+cust.Id.Hex()+"/addresses/"+addr.Id.Hex(), &qs, &cart.CustomerAddress{}, EditAddress) So(response.Code, ShouldEqual, 500) So(json.Unmarshal(response.Body.Bytes(), &apierror.ApiErr{}), ShouldBeNil) response = httprunner.ParameterizedJsonRequest("PUT", "/shopify/customers/:id/addresses/:address", "/shopify/customers/"+cust.Id.Hex()+"/addresses/"+cust.Id.Hex(), &qs, &addr, EditAddress) So(response.Code, ShouldEqual, 500) So(json.Unmarshal(response.Body.Bytes(), &apierror.ApiErr{}), ShouldBeNil) addr.Name = "Test Address" response = httprunner.ParameterizedJsonRequest("PUT", "/shopify/customers/:id/addresses/:address", "/shopify/customers/"+cust.Id.Hex()+"/addresses/"+addr.Id.Hex(), &qs, &addr, EditAddress) So(response.Code, ShouldEqual, 200) So(json.Unmarshal(response.Body.Bytes(), &addr), ShouldBeNil) }) }