Пример #1
0
 static void Main(string[] args)
 {
     using (var client = new ChktrClient("test", "A-KEY-GNERATED-BY-A-KEY-MANAGEMENT-SYSTEM"))
     {
         try
         {
             var cartId = client.Create(new Cart
             {
                 Firstname = "First Test Name",
                 Lastname  = "Last Test Name",
                 Items     = new[] {
                     new CartItem {
                         Description = "Prod Test 1",
                         Quantity    = 4,
                         UnitPrice   = 7
                     }
                 }
             }).Result;
             Console.WriteLine($"Created new Cart: {cartId.ToString()}");
         }
         catch (Exception ex)
         {
             Console.WriteLine(ex.Message);
         }
     }
 }
Пример #2
0
 public void WhenGetCartIdEmpty_ShouldThrow()
 {
     using (var client = new ChktrClient("test", "test", "http://test.com", _restSharpClient.Object))
     {
         var cart = client.Get(Guid.Empty).GetAwaiter().GetResult();
     }
 }
Пример #3
0
        public void WhenCreateEmptyFirstnameCart_ShouldReturnThrowException()
        {
            var cart = GetDummyCart();

            cart.Firstname = string.Empty;

            _restSharpClient
            .Setup(c => c.ExecutePostTaskAsync <Guid>(
                       It.Is <IRestRequest>(r =>
                                            r.Parameters
                                            .Any(p => string.IsNullOrEmpty(JsonConvert.DeserializeObject <Cart>(p.Value.ToString()).Firstname))
                                            )))
            .ReturnsAsync(new RestResponse <Guid>
            {
                StatusCode = HttpStatusCode.BadRequest,
                Data       = Guid.Empty
            });

            using (var client = new ChktrClient("test", "test", "http://test.com", _restSharpClient.Object))
            {
                var task = client.Create(cart);
                _restSharpClient.VerifyAll();
                var cartId = task.GetAwaiter().GetResult();
            }
        }
Пример #4
0
 public void WhenDeleteCartIsEmpty_ShouldThrow()
 {
     using (var client = new ChktrClient("test", "test", "http://test.com", _restSharpClient.Object))
     {
         Assert.IsFalse(client.Delete(Guid.Empty).GetAwaiter().GetResult(), "Should return false as cart do not exist.");
     }
 }
Пример #5
0
 public void WhenCreateEmptyCart_ShouldThrowException()
 {
     using (var client = new ChktrClient("test", "test", "http://test.com", _restSharpClient.Object))
     {
         var cartId = client.Create(null).GetAwaiter().GetResult();
     }
 }
Пример #6
0
 public void WhenUpdateEmptyCartId_ShouldReturnThrowException()
 {
     using (var client = new ChktrClient("test", "test", "http://test.com", _restSharpClient.Object))
     {
         var updated = client.Update(Guid.Empty, GetDummyCart()).GetAwaiter().GetResult();
     }
 }
Пример #7
0
        public void WhenUpdateEmptyCart_ShouldReturnThrowException()
        {
            var cartId = Guid.NewGuid();

            using (var client = new ChktrClient("test", "test", "http://test.com", _restSharpClient.Object))
            {
                var created = client.Update(cartId, null).GetAwaiter().GetResult();
            }
        }
Пример #8
0
        public void WhenDeleteCartButServerThrows_ShouldThrowError()
        {
            _restSharpClient
            .Setup(c => c.ExecuteTaskAsync <bool>(It.IsAny <IRestRequest>()))
            .ThrowsAsync(new ApplicationException("SOMETHING WRONG IN THE SERVER"));

            using (var client = new ChktrClient("test", "test", "http://test.com", _restSharpClient.Object))
            {
                var cart = client.Delete(Guid.NewGuid()).GetAwaiter().GetResult();
            }
        }
Пример #9
0
        public void WhenDeleteAndCartExists_ShouldReturnTrue()
        {
            _restSharpClient
            .Setup(c => c.ExecuteTaskAsync <bool>(It.IsAny <IRestRequest>()))
            .ReturnsAsync(new RestResponse <bool> {
                StatusCode = HttpStatusCode.OK, Data = true
            });

            using (var client = new ChktrClient("test", "test", "http://test.com", _restSharpClient.Object))
            {
                Assert.IsTrue(client.Delete(Guid.NewGuid()).GetAwaiter().GetResult(), "Should return true as cart do exist.");
            }
        }
Пример #10
0
        public void WhenDeleteCartButDoNotExists_ShouldReturnFalse()
        {
            _restSharpClient
            .Setup(c => c.ExecuteTaskAsync <bool>(It.IsAny <IRestRequest>()))
            .ReturnsAsync(new RestResponse <bool> {
                StatusCode = HttpStatusCode.NotFound
            });

            using (var client = new ChktrClient("test", "test", "http://test.com", _restSharpClient.Object))
            {
                Assert.IsFalse(client.Delete(Guid.NewGuid()).GetAwaiter().GetResult(), "Should return false as cart do not exist.");
            }
        }
Пример #11
0
        public void WhenGetCartThatDoNotExists_ShouldReturnNull()
        {
            _restSharpClient
            .Setup(c => c.ExecuteGetTaskAsync <Cart>(It.IsAny <IRestRequest>()))
            .ReturnsAsync(new RestResponse <Cart> {
                StatusCode = HttpStatusCode.NotFound
            });

            using (var client = new ChktrClient("test", "test", "http://test.com", _restSharpClient.Object))
            {
                var cart = client.Get(Guid.NewGuid()).GetAwaiter().GetResult();
                Assert.IsNull(cart, "Should not get a Cart when it doesn't exists.");
            }
        }
Пример #12
0
        public void WhenGetCartThatExists_ShouldReturnValidInstance()
        {
            _restSharpClient
            .Setup(c => c.ExecuteGetTaskAsync <Cart>(It.IsAny <IRestRequest>()))
            .ReturnsAsync(new RestResponse <Cart>
            {
                StatusCode = HttpStatusCode.OK,
                Data       = GetDummyCart()
            });

            using (var client = new ChktrClient("test", "test", "http://test.com", _restSharpClient.Object))
            {
                var cart = client.Get(Guid.NewGuid()).GetAwaiter().GetResult();
                Assert.IsNotNull(cart, "Should get a Cart not matter what I pass as ID.");
            }
        }
Пример #13
0
        public void WhenCreateSuccess_ShouldReturnGuid()
        {
            var expectedGuid = Guid.NewGuid();

            _restSharpClient
            .Setup(c => c.ExecutePostTaskAsync <Guid>(It.IsAny <IRestRequest>()))
            .ReturnsAsync(new RestResponse <Guid>
            {
                StatusCode = HttpStatusCode.OK,
                Data       = expectedGuid
            });

            using (var client = new ChktrClient("test", "test", "http://test.com", _restSharpClient.Object))
            {
                var createdId = client.Create(GetDummyCart()).GetAwaiter().GetResult();
                Assert.AreEqual(expectedGuid, createdId, "Just created Cart should have the expected id.");
            }
        }
Пример #14
0
        public void WhenUpdateSuccess_ShouldReturnTrue()
        {
            var expectedGuid = Guid.NewGuid();

            _restSharpClient
            .Setup(c => c.ExecuteTaskAsync <Cart>(It.IsAny <IRestRequest>()))
            .ReturnsAsync(new RestResponse <Cart>
            {
                StatusCode = HttpStatusCode.OK,
                Data       = null
            });

            using (var client = new ChktrClient("test", "test", "http://test.com", _restSharpClient.Object))
            {
                var updated = client.Update(expectedGuid, GetDummyCart()).GetAwaiter().GetResult();
                Assert.IsTrue(updated, "Just created Cart should have the expected id.");
            }
        }
Пример #15
0
        public void WhenUpdateCartDoNotExists_ShouldReturnThrowException()
        {
            _restSharpClient
            .Setup(c => c.ExecuteTaskAsync <Cart>(
                       It.IsAny <IRestRequest>()))
            .ReturnsAsync(new RestResponse <Cart>
            {
                StatusCode = HttpStatusCode.NotFound,
                Data       = null
            })
            .Verifiable();

            using (var client = new ChktrClient("test", "test", "http://test.com", _restSharpClient.Object))
            {
                var updated = client.Update(Guid.NewGuid(), GetDummyCart()).GetAwaiter().GetResult();
                Assert.IsFalse(updated, "Should return false as it wasn't found.");
            }
            _restSharpClient.VerifyAll();
        }
Пример #16
0
        public void WhenUpdateEmptyFirstnameCart_ShouldReturnThrowException()
        {
            var cart = GetDummyCart();

            cart.Firstname = string.Empty;

            _restSharpClient
            .Setup(c => c.ExecuteTaskAsync <Cart>(
                       It.IsAny <IRestRequest>()))
            .ReturnsAsync(new RestResponse <Cart>
            {
                StatusCode        = HttpStatusCode.BadRequest,
                StatusDescription = "WhenUpdateEmptyFirstnameCart_ShouldReturnThrowException",
                Data = null
            })
            .Verifiable();

            using (var client = new ChktrClient("test", "test", "http://test.com", _restSharpClient.Object))
            {
                var updated = client.Update(Guid.NewGuid(), cart).GetAwaiter().GetResult();
            }
            _restSharpClient.VerifyAll();
        }
Пример #17
0
 public void WhenInvalidHost_ShouldThrowError()
 {
     var client = new ChktrClient("test", "test", "hp://!£$$%^test.com");
 }
Пример #18
0
 public void WhenEmptyHost_ShouldThrowError()
 {
     var client = new ChktrClient("test", "Test", "");
 }
Пример #19
0
 public void WhenEmptyAppKey_ShouldThrowError()
 {
     var client = new ChktrClient("test", "", "http://test.com");
 }