Slug: "some-eula", ID: 15, }, } patchURL := fmt.Sprintf("%s/products/%s/releases/%d", apiPrefix, "banana-slug", release.ID) server.AppendHandlers( ghttp.CombineHandlers( ghttp.VerifyRequest("PATCH", patchURL), ghttp.VerifyJSON(`{"release":{"id": 42, "eula":{"slug":"some-eula","id":15}}}`), ghttp.RespondWith(http.StatusOK, nil), ), ) Expect(client.UpdateRelease("banana-slug", release)).To(Succeed()) }) Context("when the server responds with a non-200 status code", func() { It("returns the error", func() { release := pivnet.Release{ID: 111} patchURL := fmt.Sprintf("%s/products/%s/releases/%d", apiPrefix, "banana-slug", release.ID) server.AppendHandlers( ghttp.CombineHandlers( ghttp.VerifyRequest("PATCH", patchURL), ghttp.RespondWith(http.StatusTeapot, nil), ), ) err := client.UpdateRelease("banana-slug", release)