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 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()));
        }
		public static NewsCategory ToResponseData(NewsCategoryRequest requestData)
		{
			return ToResponseType<NewsCategoryRequest, NewsCategory>(requestData);
		}
 public static NewsCategory ToResponseData(NewsCategoryRequest requestData) => ToResponseType <NewsCategoryRequest, NewsCategory>(requestData);
예제 #5
0
 public static NewsCategory ToResponseData(NewsCategoryRequest requestData)
 {
     return(ToResponseType <NewsCategoryRequest, NewsCategory>(requestData));
 }
		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;
		}
		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;
		}
		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;
		}