Exemple #1
0
        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);
        }
Exemple #2
0
        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();
        }
Exemple #3
0
        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();
        }
Exemple #4
0
        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();
        }
Exemple #5
0
        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();
        }
Exemple #6
0
        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);
            }
        }