public void Save_AfterSavingArticle_ArticleIsInRepository() { FakeNewsRepository fakeNewsRepository = new FakeNewsRepository(); NewsAdminController controller = CreateNewsAdminController(fakeNewsRepository); string testTitle = "TestTitle"; NewsArticle newNewsArticle = new NewsArticle(); newNewsArticle.Id = 0; newNewsArticle.Title = testTitle; newNewsArticle.Content = "TestContent"; newNewsArticle.Category = "TestCategory"; newNewsArticle.PictureUrl = "TestURL"; int previousNumberOfArticles = fakeNewsRepository.News.Count; RedirectToRouteResult result = controller.Save(newNewsArticle) as RedirectToRouteResult; NewsArticle savedArticle = fakeNewsRepository.News.Find(a => a.Title == testTitle); Assert.IsTrue(previousNumberOfArticles + 1 == fakeNewsRepository.News.Count); Assert.IsTrue(TestHelper.NewsArticlesAreSame(newNewsArticle, savedArticle)); if (savedArticle != null) { fakeNewsRepository.News.Remove(savedArticle); } }
public void EditNews_OnRequestForEditNonExistingArticle_Redirected() { FakeNewsRepository fakeNewsRepository = new FakeNewsRepository(); NewsAdminController controller = CreateNewsAdminController(fakeNewsRepository); object result = controller.EditNews(int.MaxValue); Assert.IsTrue(result is HttpNotFoundResult); }
public void NewNews_OnRequest_ReturnsCorrectView() { FakeNewsRepository fakeNewsRepository = new FakeNewsRepository(); NewsAdminController controller = CreateNewsAdminController(fakeNewsRepository); ViewResult result = controller.NewNews(); Assert.IsNotNull(result); Assert.IsTrue(result.ViewName == "NewsForm"); }
public void EditNews_OnRequestForEdit_HaveCorrectArticleForEdit() { FakeNewsRepository fakeNewsRepository = new FakeNewsRepository(); NewsAdminController controller = CreateNewsAdminController(fakeNewsRepository); ViewResult result = controller.EditNews(2) as ViewResult; NewsArticle editArticle = ((NewsFormViewModel)result.Model).NewsArticle; Assert.IsTrue(TestHelper.NewsArticlesAreSame(editArticle, fakeNewsRepository.News[1])); }
public void SingleNews_OnRequest_HaveCorrectDataForNews() { FakeNewsRepository fakeNewsRepository = new FakeNewsRepository(); HomeController controller = new HomeController(fakeNewsRepository); ViewResult result = controller.SingleNews(1); var newsOnPage = ((NewsArticle)result.Model); Assert.IsTrue(TestHelper.NewsArticlesAreSame(newsOnPage, fakeNewsRepository.News[0])); }
public void IndexAdmin_OnRequest_ReturnsCorrectView() { FakeNewsRepository fakeNewsRepository = new FakeNewsRepository(); NewsAdminController controller = CreateNewsAdminController(fakeNewsRepository); SearchViewModel viewModel = new SearchViewModel(); ViewResult result = controller.IndexAdmin(viewModel); Assert.IsNotNull(result); Assert.IsTrue(result.ViewName == "IndexAdmin"); }
public void Setup() { _unitOfWorkFactory = new FakeUnitOfWorkFactory(); FakeNewsRepository newsRepository = new FakeNewsRepository(_unitOfWorkFactory); FakeNewsTextRepository newsTextRepository = new FakeNewsTextRepository(_unitOfWorkFactory); _authenticationData = new FakeAuthenticationData(); _authenticationData.IsAuthenticated = true; _authenticationData.IsAdministrator = false; _newsLogic = new NewsLogic(newsRepository, newsTextRepository, _unitOfWorkFactory, _authenticationData); CreateTestData(); }
public void Save_AfterSavingArticle_RedirectsToTableView() { FakeNewsRepository fakeNewsRepository = new FakeNewsRepository(); NewsAdminController controller = CreateNewsAdminController(fakeNewsRepository); NewsArticle existingArticle = fakeNewsRepository.News[0]; RedirectToRouteResult result = controller.Save(existingArticle) as RedirectToRouteResult; Assert.IsNotNull(result); Assert.IsTrue(result.RouteValues["action"].ToString() == "IndexAdmin"); Assert.IsTrue(result.RouteValues["controller"].ToString() == "NewsAdmin"); }
public void Index_WhenDisplayed_HaveAllNewsCategories() { FakeNewsRepository fakeNewsRepository = new FakeNewsRepository(); HomeController controller = new HomeController(fakeNewsRepository); ViewResult result = controller.Index(); var newsCategoriesInView = ((CommonViewModel)result.Model).NewsCategories.ToList(); List <int> expectedCategories = new List <int> { 0, 1, 2, 3, 4 }; Assert.IsTrue(TestHelper.AreDataAsExpected <NewsCategory>(newsCategoriesInView, fakeNewsRepository.Categories, expectedCategories, TestHelper.NewsCategoriesAreSame)); }
public void Index_WhenDisplayed_HaveThreeLatestNewsForEachCategory() { FakeNewsRepository fakeNewsRepository = new FakeNewsRepository(); HomeController controller = new HomeController(fakeNewsRepository); ViewResult result = controller.Index(); var newsArticlesInView = ((CommonViewModel)result.Model).NewsArticles.ToList(); List <int> expectedArticles = new List <int> { 2, 1, 0, 4, 5, 6, 3 }; Assert.IsTrue(TestHelper.AreDataAsExpected <NewsArticle>(newsArticlesInView, fakeNewsRepository.News, expectedArticles, TestHelper.NewsArticlesAreSame)); }
public void NewsInCategory_AfterChoosingNewsCategory_HaveAllNewsForChosenCategory() { FakeNewsRepository fakeNewsRepository = new FakeNewsRepository(); HomeController controller = new HomeController(fakeNewsRepository); ViewResult result = controller.NewsInCategory(1); List <NewsArticle> foundNews = ((NewsListViewModel)result.Model).NewsArticles; List <int> expectedArticles = new List <int> { 2, 1, 0 }; Assert.IsTrue(TestHelper.AreDataAsExpected <NewsArticle>(foundNews, fakeNewsRepository.News, expectedArticles, TestHelper.NewsArticlesAreSame)); }
public void NewsList_AfterSearch_HaveCorrectDataForNews() { FakeNewsRepository fakeNewsRepository = new FakeNewsRepository(); HomeController controller = new HomeController(fakeNewsRepository); SearchViewModel viewModel = new SearchViewModel { SearchTerm = "Climate change", }; ViewResult result = controller.NewsList(viewModel); List <NewsArticle> foundNews = ((NewsListViewModel)result.Model).NewsArticles; Assert.IsTrue(foundNews.Count == 1); Assert.IsTrue(TestHelper.NewsArticlesAreSame(foundNews[0], fakeNewsRepository.News[3])); }
public void Save_AfterUpdatingArticle_ChangesAreInRepository() { FakeNewsRepository fakeNewsRepository = new FakeNewsRepository(); NewsAdminController controller = CreateNewsAdminController(fakeNewsRepository); NewsArticle existingArticle = fakeNewsRepository.News[0]; string oldTitle = existingArticle.Title; string newTitle = "TestTitle"; existingArticle.Title = newTitle; RedirectToRouteResult result = controller.Save(existingArticle) as RedirectToRouteResult; NewsArticle savedArticle = fakeNewsRepository.News.Find(a => a.Id == existingArticle.Id); Assert.IsTrue(savedArticle.Title == newTitle); }
public void IndexAdmin_OnRequest_ReturnAllNewsForUser() { FakeNewsRepository fakeNewsRepository = new FakeNewsRepository(); NewsAdminController controller = CreateNewsAdminController(fakeNewsRepository); SearchViewModel viewModel = new SearchViewModel(); ViewResult result = controller.IndexAdmin(viewModel); List <NewsArticle> articlesByUser = ((IEnumerable <NewsArticle>)result.Model).ToList(); List <int> expectedArticlesForUser = new List <int> { 0, 1, 2 }; Assert.IsTrue(TestHelper.AreDataAsExpected(articlesByUser, fakeNewsRepository.News, expectedArticlesForUser, TestHelper.NewsArticlesAreSame)); }
public void NewNews_OnRequest_HaveEmptyArticleAndAllCategories() { FakeNewsRepository fakeNewsRepository = new FakeNewsRepository(); NewsAdminController controller = CreateNewsAdminController(fakeNewsRepository); ViewResult result = controller.NewNews(); NewsFormViewModel viewModel = (NewsFormViewModel)result.Model; List <int> expectedCategories = new List <int> { 0, 1, 2, 3, 4 }; Assert.IsTrue(TestHelper.NewsArticlesAreSame(viewModel.NewsArticle, new NewsArticle())); Assert.IsTrue(TestHelper.AreDataAsExpected <NewsCategory>(viewModel.NewsCategories.ToList(), fakeNewsRepository.Categories, expectedCategories, TestHelper.NewsCategoriesAreSame)); }
private HomeController CreateTestHomeController() { FakeNewsRepository fakeNewsRepository = new FakeNewsRepository(); return(new HomeController(fakeNewsRepository)); }