public void ShouldFetchASubResourceRecord() { var callRawExpectation = A.CallTo(() => Shopify.CallRaw(HttpMethod.Get, JsonFormatExpectation(), "/admin/robots/42/parts/69", EmptyQueryParametersExpectation(), null)); callRawExpectation.Returns(TaskForResult <string>("robot #42's part #69 json")); var translationExpectation = A.CallTo(() => Shopify.TranslateObject <Part>("part", "robot #42's part #69 json")); var translatedPart = new Part { Id = 69 }; translationExpectation.Returns(translatedPart); var answer = CalculonsParts.Find(69); answer.Wait(); Assert.AreSame(translatedPart, answer.Result); }
public void ShouldDeleteASubResourceRecord() { var partToPost = new Part() { Id = 83 }; partToPost.SetExisting(); var deleteRawExpectation = A.CallTo(() => Shopify.CallRaw(HttpMethod.Delete, JsonFormatExpectation(), "/admin/robots/42/parts/83", null, null)); deleteRawExpectation.Returns(TaskForResult <string>("")); var answer = CalculonsParts.Delete <Part>(partToPost); answer.Wait(); deleteRawExpectation.MustHaveHappened(); }
public void ShouldUpdateASubResourceRecord() { var partToPost = new Part() { Id = 9777 }; var translationExpectation = A.CallTo(() => Shopify.ObjectTranslate <Part>("part", partToPost)); translationExpectation.Returns("PART 988 JSON"); var putRawExpectation = A.CallTo(() => Shopify.CallRaw(HttpMethod.Put, JsonFormatExpectation(), "/admin/robots/42/parts/9777", null, "PART 988 JSON")); putRawExpectation.Returns(TaskForResult <string>("")); var answer = CalculonsParts.Update <Part>(partToPost); answer.Wait(); translationExpectation.MustHaveHappened(); putRawExpectation.MustHaveHappened(); }
public void ShouldCreateASubResourceRecord() { var partToPost = new Part() { Sku = "0xdeadbeef" }; var translationExpectation = A.CallTo(() => Shopify.ObjectTranslate <Part>("part", partToPost)); translationExpectation.Returns("PART 988 JSON"); var postRawExpectation = A.CallTo(() => Shopify.CallRaw(HttpMethod.Post, JsonFormatExpectation(), "/admin/robots/42/parts", null, "PART 988 JSON")); postRawExpectation.Returns(TaskForResult <string>("PART 988 REAL JSON")); var resultTranslationExpectation = A.CallTo(() => Shopify.TranslateObject <Part>("part", "PART 988 REAL JSON")); // it got the id of 90 on the server var resultantPart = new Part() { Id = 90 }; resultTranslationExpectation.Returns(resultantPart); var answer = CalculonsParts.Create <Part>(partToPost); answer.Wait(); translationExpectation.MustHaveHappened(); postRawExpectation.MustHaveHappened(); resultTranslationExpectation.MustHaveHappened(); Assert.AreSame(resultantPart, answer.Result); }
public void ShouldBuildSubResourcePaths() { Assert.AreEqual("/admin/robots/42/parts", CalculonsParts.Path()); Assert.AreEqual("/admin/robots/42/parts/67", CalculonsParts.InstancePath(67)); }