Exemple #1
0
        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);
        }
Exemple #2
0
        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();
        }
Exemple #3
0
        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();
        }
Exemple #4
0
        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);
        }
Exemple #5
0
 public void ShouldBuildSubResourcePaths()
 {
     Assert.AreEqual("/admin/robots/42/parts", CalculonsParts.Path());
     Assert.AreEqual("/admin/robots/42/parts/67", CalculonsParts.InstancePath(67));
 }