public void AddNewsItem_WhenDataIsIncorect_ReturnAddedNewsItemAndStatusCode401BadRequest() { // Arrange var news = new BindingNewsModel { Content = "News content", }; this.SetupController(controller, "news"); // Act var httpResponse = this.controller.Post(news).ExecuteAsync(new CancellationToken()).Result; var newsItem = httpResponse.Content.ReadAsAsync <NewsItem>().Result; }
public void AddNewsItem_WhenDataIsNull_ReturnAddedNewsItemAndStatusCode401BadRequest() { // Arrange BindingNewsModel news = null; this.SetupController(controller, "news"); // Act var httpResponse = this.controller.Post(news).ExecuteAsync(new CancellationToken()).Result; var message = httpResponse.Content.ReadAsAsync <Dictionary <string, string> >().Result; // Assert Assert.AreEqual(HttpStatusCode.BadRequest, httpResponse.StatusCode); Assert.AreEqual("Enter news!", message["Message"]); }
public IHttpActionResult Put(int id, [FromBody] BindingNewsModel model) { var newsItem = this.Data.News.All() .FirstOrDefault(u => u.Id == id); if (newsItem == null) { return(this.NotFound()); } newsItem.Title = model.Title; newsItem.Content = model.Content; this.Data.News.Update(newsItem); this.Data.SaveChanges(); return(this.Ok(newsItem)); }
public void AddNewsItem_WhenDataIsCorect_ReturnAddedNewsItemAndStatusCode200Ok() { // Arrange var news = new BindingNewsModel { Title = "news 1", Content = "News content", }; this.SetupController(controller, "news"); // Act var httpResponse = this.controller.Post(news).ExecuteAsync(new CancellationToken()).Result; var newsItem = httpResponse.Content.ReadAsAsync <NewsItem>().Result; // Assert Assert.AreEqual(HttpStatusCode.OK, httpResponse.StatusCode); }
public IHttpActionResult Post([FromBody] BindingNewsModel model) { if (model == null) { return(this.BadRequest("Enter news!")); } if (!ModelState.IsValid) { return(this.BadRequest(ModelState)); } var newsItem = new NewsItem { Title = model.Title, Content = model.Content, PublishDate = DateTime.Now }; this.Data.News.Add(newsItem); this.Data.SaveChanges(); return(this.Ok(newsItem)); }