public void Delete_NonExisting_News_Should_Return_400BadRequest() { // Arrange int id = this.GenerateNonExistingId(); var mockContext = new Mock <INewsData>(); mockContext.Setup(c => c.News) .Returns(this.mock.NewsRepositoryMock.Object); var newsController = new NewsController(mockContext.Object); this.SetupController(newsController); // Act var response = newsController.DeleteNews(id) .ExecuteAsync(CancellationToken.None).Result; // Assert var fakeNewsAfterDeleting = this.mock.NewsRepositoryMock.Object.All().ToList(); Assert.AreEqual(HttpStatusCode.BadRequest, response.StatusCode); mockContext.Verify(c => c.SaveChanges(), Times.Never); Assert.AreEqual(5, fakeNewsAfterDeleting.Count); }
public void Delete_Existing_News_Should_Return_200OK_And_Delete_News_From_Repository() { // Arrange var fakeNewsBeforeDeleting = this.mock.NewsRepositoryMock.Object.All().ToList(); var fakeNewsToDelte = fakeNewsBeforeDeleting[0]; var mockContext = new Mock <INewsData>(); mockContext.Setup(c => c.News) .Returns(this.mock.NewsRepositoryMock.Object); var newsController = new NewsController(mockContext.Object); this.SetupController(newsController); // Act var response = newsController.DeleteNews(fakeNewsToDelte.Id) .ExecuteAsync(CancellationToken.None).Result; // Assert var fakeNewsAfterDeleting = this.mock.NewsRepositoryMock.Object.All().ToList(); var deletedFakeNewsInRepo = fakeNewsAfterDeleting .FirstOrDefault(n => n.Id == fakeNewsToDelte.Id); Assert.AreEqual(HttpStatusCode.OK, response.StatusCode); mockContext.Verify(c => c.SaveChanges(), Times.Once); Assert.IsNull(deletedFakeNewsInRepo); Assert.AreEqual(4, fakeNewsAfterDeleting.Count); }
public void DeleteUnexistingNewsItem_ShouldReturnBadRequest() { var controller = new NewsController(this.context); this.SetupController(controller); var response = controller.DeleteNews(2895).ExecuteAsync(CancellationToken.None).Result; Assert.AreEqual(HttpStatusCode.BadRequest, response.StatusCode); }
public void TestDeleteUnexistingNews() { var controller = new NewsController(repoMock.Object); SetupController(controller, "News"); repoMock.Setup(repo => repo.Find(It.IsAny <object>())).Returns(null as News); var result = controller.DeleteNews(22).ExecuteAsync(new CancellationToken()).Result; Assert.AreEqual(HttpStatusCode.BadRequest, result.StatusCode); }
public void TestDeleteValidNews() { var controller = new NewsController(repoMock.Object); SetupController(controller, "News"); var news = new News { Title = "Zaglavie", Content = "dadadada" }; repoMock.Setup(repo => repo.Find(It.IsAny <object>())).Returns(news); var result = controller.DeleteNews(22).ExecuteAsync(new CancellationToken()).Result; Assert.AreEqual(HttpStatusCode.OK, result.StatusCode); }
public void TestDeleteNewsWithExistingIdShouldDeleteNews() { // Setup fake news var fakeNews = new News() { Id = 1, Content = "NotChanged", Title = "NotChanged", PublishDate = DateTime.Now }; var isNewsSaved = false; // Setup repositories var mockedRepository = new Mock <IRepository <News> >(); mockedRepository.Setup(r => r.GetById(It.IsAny <int>())) .Returns(fakeNews); mockedRepository.Setup(r => r.Delete(It.Is <News>(n => n == fakeNews))) .Callback(() => { fakeNews = null; }); // Setup data layer var mockedContext = new Mock <INewsData>(); mockedContext.Setup(c => c.News).Returns(mockedRepository.Object); mockedContext.Setup(r => r.SaveChanges()) .Callback(() => { isNewsSaved = true; }); // Setup controller var controller = new NewsController(mockedContext.Object); controller.Request = new HttpRequestMessage(); controller.Configuration = new HttpConfiguration(); var response = controller.DeleteNews(1) .ExecuteAsync(CancellationToken.None).Result; Assert.AreEqual(HttpStatusCode.OK, response.StatusCode); Assert.IsNull(fakeNews); Assert.IsTrue(isNewsSaved); }
public void Deleteing_Non_Existing_Item_Should_Return_BadRequest() { var mockContext = new Mock <INewsData>(); mockContext.Setup(c => c.News) .Returns(_mocks.NewsRepoMock.Object); var newsController = new NewsController(mockContext.Object); SetupController(newsController); var response = newsController.DeleteNews(1000000).ExecuteAsync(CancellationToken.None).Result; Assert.AreEqual(response.StatusCode, HttpStatusCode.BadRequest); mockContext.Verify(c => c.SaveChanges(), Times.Never); }
public void DeleteNews_WhenNewsIdIsValid_ShouldReturnStatusCodeOkAndDeleteNews() { var repo = CreateRepo(); var controller = new NewsController(repo); SetupController(controller, "news"); var result = controller.DeleteNews(2).ExecuteAsync(new CancellationToken()).Result; Assert.AreEqual(HttpStatusCode.OK, result.StatusCode); Assert.AreEqual(2, repo.News.Count); var newsInRepo = repo.News.FirstOrDefault(n => n.Id == 2); Assert.IsNull(newsInRepo); }
public void DeleteNews_WhenNewsIdIsInvalid_ShouldReturnStatusCodeBadRequestAndNotAffectBase() { var repo = CreateRepo(); var controller = new NewsController(repo); SetupController(controller, "news"); var news = new NewsPostBindingModel() { Title = "Updated Title", Content = "Content4", PublishDate = DateTime.Parse("22.01.2014") }; var result = controller.DeleteNews(4).ExecuteAsync(new CancellationToken()).Result; Assert.AreEqual(HttpStatusCode.BadRequest, result.StatusCode); Assert.AreEqual(3, repo.News.Count); }
public void DeleteExistingItem_ShouldDeleteTheItem() { var controller = new NewsController(this.context); this.SetupController(controller); var news = new NewsModel { Id = 101, Title = "Fire in the motel", Content = "The fire fighters are doing their best.", PublishDate = DateTime.Now }; this.context.Add(news); var response = controller.DeleteNews(news.Id).ExecuteAsync(CancellationToken.None).Result; Assert.AreEqual(HttpStatusCode.OK, response.StatusCode); }
public void TestDeleteNewsWithNotExisingIdShouldReturnBadRequest() { // Setup repositories var mockedRepository = new Mock <IRepository <News> >(); mockedRepository.Setup(r => r.GetById(It.IsAny <int>())) .Returns((News)null); // Setup data layer var mockedContext = new Mock <INewsData>(); mockedContext.Setup(c => c.News).Returns(mockedRepository.Object); // Setup controller var controller = new NewsController(mockedContext.Object); controller.Request = new HttpRequestMessage(); controller.Configuration = new HttpConfiguration(); var response = controller.DeleteNews(1) .ExecuteAsync(CancellationToken.None).Result; Assert.AreEqual(HttpStatusCode.BadRequest, response.StatusCode); }