private Index ( string displayName, string tag ) : System.Web.Mvc.ActionResult | ||
displayName | string | |
tag | string | |
리턴 | System.Web.Mvc.ActionResult |
public void GivenNoAuthenticatedUser_Index_ReturnsFavouriteTagsViewModelWithNoTags() { IndexesToExecute = new List<Type> {typeof (Questions_Search), typeof (RecentPopularTags)}; // Arrange. // Note: we're faking that no user has been authenticated. var homeController = new HomeController(DocumentStore); ControllerUtilities.SetUpControllerContext(homeController); // Act. var result = homeController.Index(null, null) as ViewResult; // Assert. Assert.NotNull(result); var model = result.Model as IndexViewModel; Assert.NotNull(model); UserTagListViewModel userFavoriteTagListViewModel = model.UserFavoriteTagListViewModel; Assert.NotNull(userFavoriteTagListViewModel); Assert.Equal("Favorite Tags", userFavoriteTagListViewModel.Header); Assert.Equal("interesting-tags", userFavoriteTagListViewModel.DivId1); Assert.Equal("interestingtags", userFavoriteTagListViewModel.DivId2); Assert.Null(userFavoriteTagListViewModel.Tags); }
public void GivenNoAuthenticatedUser_Index_ReturnsFavouriteTagsViewModelWithNoTags() { using (IDocumentSession documentSession = DocumentStore.OpenSession()) { // Arrange. // Note: we're faking that no user has been authenticated. var homeController = new HomeController(documentSession); ControllerUtilities.SetUpControllerContext(homeController); // Act. var result = homeController.Index(null, null) as ViewResult; // Assert. Assert.NotNull(result); var model = result.Model as IndexViewModel; Assert.NotNull(model); UserTagListViewModel userFavoriteTagListViewModel = model.UserFavoriteTagListViewModel; Assert.NotNull(userFavoriteTagListViewModel); Assert.Equal("Favorite Tags", userFavoriteTagListViewModel.Header); Assert.Equal("interesting-tags", userFavoriteTagListViewModel.DivId1); Assert.Equal("interestingtags", userFavoriteTagListViewModel.DivId2); Assert.Null(userFavoriteTagListViewModel.Tags); } }
public void GivenAnAuthenticatedUserWithSomeFavouriteTags_Index_ReturnsAFavouriteTagsViewModelWithContent() { IndexesToExecute = new List<Type> {typeof (Questions_Search), typeof (RecentPopularTags)}; // Arrange. // Note: we're faking that a user has authenticated. var homeController = new HomeController(DocumentSession); ControllerUtilities.SetUpControllerContext(homeController, displayName: "Pure.Krome"); // Act. var result = homeController.Index(null, null) as ViewResult; // Assert. Assert.NotNull(result); var model = result.Model as IndexViewModel; Assert.NotNull(model); UserTagListViewModel userFavoriteTagListViewModel = model.UserFavoriteTagListViewModel; Assert.NotNull(userFavoriteTagListViewModel); Assert.Equal("Favorite Tags", userFavoriteTagListViewModel.Header); Assert.Equal("interesting-tags", userFavoriteTagListViewModel.DivId1); Assert.Equal("interestingtags", userFavoriteTagListViewModel.DivId2); Assert.NotNull(userFavoriteTagListViewModel.Tags); Assert.Equal(3, userFavoriteTagListViewModel.Tags.Count); }
public void GivenSomeQuestions_Index_ReturnsTheMostRecentQuestions() { using (IDocumentSession documentSession = DocumentStore.OpenSession()) { // Arrange. var homeController = new HomeController(documentSession); ControllerUtilities.SetUpControllerContext(homeController); // Act. var result = homeController.Index(null, null) as ViewResult; // Assert. Assert.NotNull(result); var model = result.Model as IndexViewModel; Assert.NotNull(model); Assert.NotNull(model.QuestionListViewModel); Assert.NotNull(model.QuestionListViewModel.Questions); Assert.Equal(20, model.QuestionListViewModel.Questions.Count); // Make sure all the items are ordered correctly. DateTime? previousQuestion = null; foreach (QuestionWithDisplayName question in model.QuestionListViewModel.Questions) { if (previousQuestion.HasValue) { Assert.True(previousQuestion.Value >= question.CreatedOn); } previousQuestion = question.CreatedOn; } // Now lets test that our fixed questions come back correctly. List<Question> fixedQuestions = FakeQuestions.CreateFakeQuestions(null, 5).ToList(); for (int i = 0; i < 5; i++) { // Can Assert anything except // * Id (these new fakes haven't been Stored) // * CreatedByUserId - this is randomized when fakes are created. // * CreatedOn - these fakes were made AFTER the Stored data. // ASSUMPTION: the first 5 fixed questions are the first 5 documents in the Document Store. QuestionWithDisplayName question = model.QuestionListViewModel.Questions[i]; Assert.Equal(fixedQuestions[i].Subject, question.Subject); Assert.Equal(fixedQuestions[i].Content, question.Content); Assert.Equal(fixedQuestions[i].NumberOfViews, question.NumberOfViews); Assert.Equal(fixedQuestions[i].Vote.DownVoteCount, question.Vote.DownVoteCount); Assert.Equal(fixedQuestions[i].Vote.FavoriteCount, question.Vote.FavoriteCount); Assert.Equal(fixedQuestions[i].Vote.UpVoteCount, question.Vote.UpVoteCount); } } }
public void GivenSomeQuestions_Index_ReturnsTheMostRecentPopularTagsInTheLast30Days() { using (IDocumentSession documentSession = DocumentStore.OpenSession()) { // Arrange. var homeController = new HomeController(documentSession); ControllerUtilities.SetUpControllerContext(homeController); // Act. var result = homeController.Index(null, null) as ViewResult; // Assert. Assert.NotNull(result); var model = result.Model as IndexViewModel; Assert.NotNull(model); Assert.NotNull(model.RecentPopularTags); Assert.True(model.RecentPopularTags.Count > 0); // Make sure all the items are ordered correctly. int? previousCount = null; foreach (var keyValuePair in model.RecentPopularTags) { if (previousCount.HasValue) { Assert.True(previousCount.Value >= keyValuePair.Value); } previousCount = keyValuePair.Value; } // ToDo: test fixed tags. } }
public void GivenSomeQuestions_Index_ReturnsTheMostRecentPopularTagsInTheLast30Days() { IndexesToExecute = new List<Type> {typeof (Questions_Search), typeof (RecentPopularTags)}; // Arrange. var homeController = new HomeController(DocumentStore); ControllerUtilities.SetUpControllerContext(homeController); // Act. var result = homeController.Index(null, null) as ViewResult; // Assert. Assert.NotNull(result); var model = result.Model as IndexViewModel; Assert.NotNull(model); Assert.NotNull(model.RecentPopularTags); Assert.True(model.RecentPopularTags.Count > 0); // Make sure all the items are ordered correctly. int? previousCount = null; foreach (var keyValuePair in model.RecentPopularTags) { if (previousCount.HasValue) { Assert.True(previousCount.Value >= keyValuePair.Value); } previousCount = keyValuePair.Value; } }
public void GivenSomeQuestionsAndATag_Index_ReturnsAViewResult() { IndexesToExecute = new List<Type> {typeof (Questions_Search), typeof (RecentPopularTags)}; // Arrange. const string tag = "ravendb"; var homeController = new HomeController(DocumentStore); ControllerUtilities.SetUpControllerContext(homeController); // Act. var result = homeController.Index(null, tag) as ViewResult; // Assert. Assert.NotNull(result); var model = result.Model as IndexViewModel; Assert.NotNull(model); Assert.NotNull(model.QuestionListViewModel); Assert.NotNull(model.QuestionListViewModel.Questions); // Make sure each question is tagged with the defined tag-value. Assert.True(model.QuestionListViewModel.Questions.All(x => x.Tags.Contains(tag))); }