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); }
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 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())); }