示例#1
0
        public void CreateUpdateDeleteNewsSubscriber()
        {
            var newsSubscriberRequest = new NewsSubscriberRequest
            {
                Email       = "*****@*****.**",
                IsValidated = false
            };

            var newsSubscriber = TestSetup.KayakoApiService.News.CreateNewsSubscriber(newsSubscriberRequest);

            Assert.IsNotNull(newsSubscriber);
            Assert.That(newsSubscriber.Email, Is.EqualTo(newsSubscriberRequest.Email));
            Assert.That(newsSubscriber.IsValidated, Is.EqualTo(newsSubscriberRequest.IsValidated));

            newsSubscriberRequest       = NewsSubscriberRequest.FromResponseData(newsSubscriber);
            newsSubscriberRequest.Email = "*****@*****.**";

            newsSubscriber = TestSetup.KayakoApiService.News.UpdateNewsSubscriber(newsSubscriberRequest);

            Assert.IsNotNull(newsSubscriber);
            Assert.That(newsSubscriber.Email, Is.EqualTo(newsSubscriberRequest.Email));
            Assert.That(newsSubscriber.IsValidated, Is.EqualTo(newsSubscriberRequest.IsValidated));

            var deleteSuccess = TestSetup.KayakoApiService.News.DeleteNewsSubscriber(newsSubscriber.Id);

            Assert.IsTrue(deleteSuccess);
        }
        public NewsSubscriber CreateNewsSubscriber(NewsSubscriberRequest newsSubscriberRequest)
        {
            RequestBodyBuilder parameters = PopulateRequestParameters(newsSubscriberRequest, RequestTypes.Create);

            NewsSubscriberCollection newsSubscriber = Connector.ExecutePost <NewsSubscriberCollection>(NewsSubscriberBaseUrl, parameters.ToString());

            if (newsSubscriber != null && newsSubscriber.Count > 0)
            {
                return(newsSubscriber[0]);
            }

            return(null);
        }
        private RequestBodyBuilder PopulateRequestParameters(NewsSubscriberRequest newsSubscriberRequest, RequestTypes requestTypes)
        {
            newsSubscriberRequest.EnsureValidData(requestTypes);

            var requestBodyBuilder = new RequestBodyBuilder();

            requestBodyBuilder.AppendRequestDataNonEmptyString("email", newsSubscriberRequest.Email);

            if (requestTypes == RequestTypes.Create)
            {
                requestBodyBuilder.AppendRequestDataBool("isvalidated", newsSubscriberRequest.IsValidated);
            }

            return(requestBodyBuilder);
        }
        public NewsSubscriber UpdateNewsSubscriber(NewsSubscriberRequest newsSubscriberRequest)
        {
            string apiMethod = string.Format("{0}/{1}", NewsSubscriberBaseUrl, newsSubscriberRequest.Id);

            RequestBodyBuilder parameters = PopulateRequestParameters(newsSubscriberRequest, RequestTypes.Update);

            NewsSubscriberCollection newsSubscriber = Connector.ExecutePut <NewsSubscriberCollection>(apiMethod, parameters.ToString());

            if (newsSubscriber != null && newsSubscriber.Count > 0)
            {
                return(newsSubscriber[0]);
            }

            return(null);
        }
示例#5
0
        public void UpdateNewsSubscriber()
        {
            var newsSubscriberRequest = new NewsSubscriberRequest
            {
                Id    = 1,
                Email = "*****@*****.**",
            };

            const string apiMethod  = "/News/Subscriber/1";
            const string parameters = "[email protected]";

            _kayakoApiRequest.Setup(x => x.ExecutePut <NewsSubscriberCollection>(apiMethod, parameters)).Returns(_responseNewsSubscriberCollection);

            var newsSubscriber = _newsController.UpdateNewsSubscriber(newsSubscriberRequest);

            _kayakoApiRequest.Verify(x => x.ExecutePut <NewsSubscriberCollection>(apiMethod, parameters), Times.Once());
            Assert.That(newsSubscriber, Is.EqualTo(_responseNewsSubscriberCollection.FirstOrDefault()));
        }
示例#6
0
        public void CreateNewsSubscriber()
        {
            var apiMethod  = "/News/Subscriber";
            var parameters = "[email protected]&isvalidated=1";

            var newsSubscriberRequest = new NewsSubscriberRequest
            {
                Email       = "*****@*****.**",
                IsValidated = true
            };

            _kayakoApiRequest.Setup(x => x.ExecutePost <NewsSubscriberCollection>(apiMethod, parameters)).Returns(_responseNewsSubscriberCollection);

            var newsSubscriber = _newsController.CreateNewsSubscriber(newsSubscriberRequest);

            _kayakoApiRequest.Verify(x => x.ExecutePost <NewsSubscriberCollection>(apiMethod, parameters), Times.Once());
            Assert.That(newsSubscriber, Is.EqualTo(_responseNewsSubscriberCollection.FirstOrDefault()));
        }