Exemple #1
0
        public void CreateUpdateDeleteNewsCategory()
        {
            NewsCategoryRequest newsCategoryRequest = new NewsCategoryRequest
            {
                Title          = "TitleFromIntegrationTest",
                VisibilityType = NewsCategoryVisibilityType.Public
            };

            var newsCategory = TestSetup.KayakoApiService.News.CreateNewsCategory(newsCategoryRequest);

            Assert.IsNotNull(newsCategory);
            Assert.That(newsCategory.Title, Is.EqualTo(newsCategoryRequest.Title));
            Assert.That(newsCategory.VisibilityType, Is.EqualTo(newsCategoryRequest.VisibilityType));

            newsCategoryRequest.Id     = newsCategory.Id;
            newsCategoryRequest.Title += "_Updated";

            newsCategory = TestSetup.KayakoApiService.News.UpdateNewsCategory(newsCategoryRequest);

            Assert.IsNotNull(newsCategory);
            Assert.That(newsCategory.Title, Is.EqualTo(newsCategoryRequest.Title));
            Assert.That(newsCategory.VisibilityType, Is.EqualTo(newsCategoryRequest.VisibilityType));

            var deleteResult = TestSetup.KayakoApiService.News.DeleteNewsCategory(newsCategory.Id);

            Assert.IsTrue(deleteResult);
        }
        public NewsCategory CreateNewsCategory(NewsCategoryRequest newsCategoryRequest)
        {
            RequestBodyBuilder parameters = PopulateRequestParameters(newsCategoryRequest, RequestTypes.Create);

            NewsCategoryCollection newsCategories = Connector.ExecutePost <NewsCategoryCollection>(NewsCategoryBaseUrl, parameters.ToString());

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

            return(null);
        }
        public NewsCategory UpdateNewsCategory(NewsCategoryRequest newsCategoryRequest)
        {
            string             apiMethod  = String.Format("{0}/{1}", NewsCategoryBaseUrl, newsCategoryRequest.Id);
            RequestBodyBuilder parameters = PopulateRequestParameters(newsCategoryRequest, RequestTypes.Update);

            NewsCategoryCollection newsCategories = Connector.ExecutePut <NewsCategoryCollection>(apiMethod, parameters.ToString());

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

            return(null);
        }
        private static RequestBodyBuilder PopulateRequestParameters(NewsCategoryRequest newsCategory, RequestTypes requestType)
        {
            newsCategory.EnsureValidData(requestType);

            RequestBodyBuilder parameters = new RequestBodyBuilder();

            if (!String.IsNullOrEmpty(newsCategory.Title))
            {
                parameters.AppendRequestData("title", newsCategory.Title);
            }

            parameters.AppendRequestData("visibilitytype", EnumUtility.ToApiString(newsCategory.VisibilityType));

            return(parameters);
        }
Exemple #5
0
        public void CreateNewsCategory()
        {
            var newsCategoryRequest = new NewsCategoryRequest
            {
                Title          = "TitleCategory",
                VisibilityType = NewsCategoryVisibilityType.Private
            };

            string apiMethod  = "/News/Category";
            string parameters = "title=TitleCategory&visibilitytype=private";

            _kayakoApiRequest.Setup(x => x.ExecutePost <NewsCategoryCollection>(apiMethod, parameters)).Returns(_responseNewsCategoryCollection);

            var newsCategory = _newsController.CreateNewsCategory(newsCategoryRequest);

            _kayakoApiRequest.Verify(x => x.ExecutePost <NewsCategoryCollection>(apiMethod, parameters), Times.Once());
            Assert.That(newsCategory, Is.EqualTo(_responseNewsCategoryCollection.FirstOrDefault()));
        }
Exemple #6
0
        public void UpdateNewsCategory()
        {
            var newsCategoryRequest = new NewsCategoryRequest
            {
                Id             = 1,
                Title          = "TitleCategory",
                VisibilityType = NewsCategoryVisibilityType.Private
            };

            var          apiMethod  = string.Format("/News/Category/{0}", newsCategoryRequest.Id);
            const string parameters = "title=TitleCategory&visibilitytype=private";

            this.kayakoApiRequest.Setup(x => x.ExecutePut <NewsCategoryCollection>(apiMethod, parameters)).Returns(this.responseNewsCategoryCollection);

            var newsCategory = this.newsController.UpdateNewsCategory(newsCategoryRequest);

            this.kayakoApiRequest.Verify(x => x.ExecutePut <NewsCategoryCollection>(apiMethod, parameters), Times.Once());
            Assert.That(newsCategory, Is.EqualTo(this.responseNewsCategoryCollection.FirstOrDefault()));
        }