public void When_GetBlogArticle_is_called_with_an_Id_and_there_is_no_BlogArticle_in_the_collection_with_that_Id_then_an_InvalidOperationException_is_thrown() { var blogArticles = BlogArticleCreator.CreateCollection(); var blogArticleId = Guid.NewGuid(); BandCatalog .Expect(catalog => catalog.BlogArticles) .Return(blogArticles) .Repeat.Once(); BandCatalog.Replay(); Repository.GetBlogArticle(blogArticleId); }
public void When_Index_is_called_GetBlogArticles_on_IBlogProcess_is_called_and_the_result_is_mapped_with_BlogArticleMapper() { var user = UserCreator.CreateSingle(); var blogArticles = BlogArticleCreator.CreateCollection(); foreach (var blogArticle in blogArticles) { blogArticle.AuthorId = user.Id; } UserProcess .Expect(process => process.GetUser(user.Id)) .Return(user) .Repeat.Once(); UserProcess.Replay(); BlogProcess .Expect(process => process.GetBlogArticles()) .Return(blogArticles) .Repeat.Once(); BlogProcess.Replay(); var blogArticleDetailsModelcollection = CreateBlogArticleDetailsModelCollection(); BlogArticleMapper .Expect(mapper => mapper.Map( Arg <IEnumerable <BlogArticle> > .Matches(articles => blogArticles.All(blogArticle => articles.Any(article => article.Id == blogArticle.Id))), Arg <IEnumerable <User> > .Matches(users => users.Any(u => u == user)))) .Return(blogArticleDetailsModelcollection) .Repeat.Once(); BlogArticleMapper.Replay(); var result = Controller.Index().Result as ViewResult; Assert.IsNotNull(result); var model = result.Model as ItemListModel <BlogArticleDetailsModel>; Assert.IsNotNull(model); UserProcess.VerifyAllExpectations(); BlogProcess.VerifyAllExpectations(); BlogArticleMapper.VerifyAllExpectations(); }
public void When_GetBlogArticle_is_called_with_a_valid_Guid_then_GetBlogArticle_on_the_BandRepository_is_called_with_that_Guid() { var articles = BlogArticleCreator.CreateCollection(); BandRepository .Expect(repository => repository.GetAllBlogArticles()) .Return(articles) .Repeat.Once(); BandRepository.Replay(); Process.GetBlogArticles(); BandRepository.VerifyAllExpectations(); }
public void When_GetAllBlogArticles_is_called_then_all_BlogArticles_are_retrieved_from_the_collection() { var blogArticles = BlogArticleCreator.CreateCollection(); BandCatalog .Expect(catalog => catalog.BlogArticles) .Return(blogArticles) .Repeat.Once(); BandCatalog.Replay(); var result = Repository.GetAllBlogArticles(); Assert.IsNotNull(result); Assert.AreEqual(blogArticles.Count(), result.Count()); BandCatalog.VerifyAllExpectations(); }
public void When_GetBlogArticle_is_called_with_an_Id_then_the_BlogArticle_with_the_corresponding_Id_is_retrieved_from_the_collection() { var blogArticles = BlogArticleCreator.CreateCollection(); var blogArticleId = blogArticles.ElementAt(2).Id; BandCatalog .Expect(catalog => catalog.BlogArticles) .Return(blogArticles) .Repeat.Once(); BandCatalog.Replay(); var blogArticle = Repository.GetBlogArticle(blogArticleId); Assert.IsNotNull(blogArticle); Assert.AreEqual(blogArticleId, blogArticle.Id); BandCatalog.VerifyAllExpectations(); }
public void When_a_list_of_BlogArticles_is_mapped_to_a_BlogArticleDetailsModels_then_no_data_is_retrieved_from_process_classes() { BlogProcess .Expect(process => process.GetBlogArticle(Arg <Guid> .Is.Anything)) .Repeat.Never(); BlogProcess.Replay(); UserProcess .Expect(process => process.GetUser(Arg <Guid> .Is.Anything)) .Repeat.Never(); UserProcess.Replay(); var blogArticles = BlogArticleCreator.CreateCollection(); var user = UserCreator.CreateSingle(); foreach (var blogArticle in blogArticles) { blogArticle.AuthorId = user.Id; } var result = Mapper.Map(blogArticles, new[] { user }); foreach (var blogarticleDetailsModel in result.Items) { Assert.AreEqual(user.Login.LoginName, blogarticleDetailsModel.AuthorName); } foreach (var blogArticle in blogArticles) { Assert.IsTrue(result.Items.Single(model => model.Id == blogArticle.Id && model.ModificationDate == blogArticle.ModificationDate && model.PublishDate == blogArticle.PublishDate && model.Title == blogArticle.Title && model.Content == blogArticle.Content && model.CreationDate == blogArticle.CreationDate) != null); } }