コード例 #1
0
        public void getAllBlogPosts()
        {
            List <BlogPost> fakeBlogPosts = new List <BlogPost> {
                new BlogPost {
                    BlogPostAuthor = "Arthur", BlogPostTitle = "Arthur på tur", BlogPostPost = "Arthur dro på en tur"
                },
                new BlogPost {
                    BlogPostAuthor = "Kåre", BlogPostTitle = "Kåre på tur", BlogPostPost = "Kåre dro på en tur"
                },
                new BlogPost {
                    BlogPostAuthor = "Jenny", BlogPostTitle = "Jenny på tur", BlogPostPost = "Jenny dro på en tur"
                }
            };

            _repo.Setup(x => x.getAllBlogPosts(1)).Returns(fakeBlogPosts);
            var controller = new BlogPostsController(_repo.Object);

            var result = controller.Index(1) as ViewResult;

            CollectionAssert.AllItemsAreInstancesOfType((ICollection)result.ViewData.Model, typeof(BlogPost));
            Assert.IsNotNull(result, "View result is null.");
            var op = result.ViewData.Model as List <BlogPost>;

            Assert.AreEqual(3, op.Count, "Got wrong number of BlogPosts");
        }
コード例 #2
0
        public void DeleteBlogPostNegative()
        {
            var repo = new Mock <BlogPostRepository>(db);
            BlogPostsController controller = new BlogPostsController(repo.Object);
            var data = controller.Delete(9);

            Assert.AreEqual("Post could not be deleted", data);
        }
コード例 #3
0
        public void DeleteBlogPostPositive()
        {
            var repo = new Mock <BlogPostRepository>(db);
            BlogPostsController controller = new BlogPostsController(repo.Object);
            var data = controller.Delete(3);

            Assert.AreEqual("Post deleted successfully", data);
        }
コード例 #4
0
        public void BeforeEachTest()
        {
            Context.BlogPosts.Add(Post);

            Target = new BlogPostsController(Context, Service, WordpressService)
            {
                MapPath = "Doesn't matter"
            };
        }
コード例 #5
0
        public void GetByBlogPostIdNegative()
        {
            var repo = new Mock <BlogPostRepository>(db);
            BlogPostsController controller = new BlogPostsController(repo.Object);
            var data   = controller.Get(4);
            var result = data as ObjectResult;

            Assert.AreEqual(400, result.StatusCode);
        }
コード例 #6
0
        public void PutBlogPostNegative()
        {
            var repo = new Mock <BlogPostRepository>(db);
            BlogPostsController controller = new BlogPostsController(repo.Object);
            BlogPost            user       = new BlogPost {
                Title = "My Food BlogPost", Content = "An awesome food BlogPost"
            };
            var data = controller.Put(8, user);

            Assert.AreEqual("Post could not be updated", data);
        }
コード例 #7
0
        public void PostBlogPost()
        {
            var repo = new Mock <BlogPostRepository>(db);
            BlogPostsController controller = new BlogPostsController(repo.Object);
            BlogPost            user       = new BlogPost {
                Id = 5, Title = "My Food BlogPost", Content = "An awesome food BlogPost"
            };
            var data = controller.Post(user);

            Assert.AreEqual("Blog Post Added", data);
        }
コード例 #8
0
        public void PutBlogPostPositive()
        {
            var repo = new Mock <BlogPostRepository>(db);
            BlogPostsController controller = new BlogPostsController(repo.Object);
            BlogPost            user       = new BlogPost {
                Title = "My Photography BlogPost", Content = "An awesome photography BlogPost"
            };
            var data = controller.Put(2, user);

            Assert.AreEqual("Post updated successfully", data);
        }
コード例 #9
0
        public void TestInit()
        {
            _mockRepository = new Mock <IBlogPostRepository>();
            _blogPosts      = new List <BlogPost>();
            _mockRepository.Setup(b => b.BlogPosts).Returns(_blogPosts.AsQueryable());
            _mockRepository.Setup(b => b.GetById(1)).Returns(new BlogPost {
                Id = 1
            });

            _controller = new BlogPostsController(_mockRepository.Object);
        }
コード例 #10
0
        public void BeforeEachTest()
        {
            WordpressService.Arrange(ws => ws.AuthorizeUser(Arg.AnyString));
            WordpressService.Arrange(wps => wps.GetBlogPostById(Post.WordpressId)).Returns(Post);

            Context.BlogPosts.Add(Post);

            Target = new BlogPostsController(Context, Mock.Create <WritingCalendarService>(), WordpressService)
            {
                MapPath = "Doesn't matter"
            };
        }
コード例 #11
0
        public void BlogPostsController_Get_All_BlogPosts_Result_Is_3_BlogPosts()
        {
            var context = new BlogPostsContext(_contextOptions);
            var repo    = new DataRepository <BlogPost>(context);


            BlogPostsController controller = new BlogPostsController(context, repo);
            var result = controller.GetBlogPost();

            Assert.NotNull(result);
            Assert.NotNull(result.Result);
            Assert.IsAssignableFrom <IEnumerable <BlogPost> >(result.Result.Value);
            Assert.Equal(3, result.Result.Value.Count());
        }
        public void BeforeEachTest()
        {
            Context.Blogs.Add(new Blog()
            {
                Id = 12, IsActive = true
            });
            Context.Authors.Add(new Author()
            {
                Id = 1
            });
            Context.Arrange(ctx => ctx.UpdateBlogPostDependencies(Arg.IsAny <BlogPost>())).DoInstead((BlogPost bp) => bp.Author = Context.Authors.First(a => a.Id == bp.AuthorId));

            Target = new BlogPostsController(Context, WritingCalendarService, WordpressService)
            {
                MapPath = "somepath"
            };
        }
コード例 #13
0
        public void BeforeEachTest()
        {
            BlogPost blogPost = new BlogPost()
            {
                Title      = Title,
                BlogId     = BlogId,
                AuthorId   = AuthorId,
                DraftDate  = Today,
                IsApproved = true
            };

            Context.BlogPosts.Add(blogPost);
            Context.Authors.Add(new Author());
            Context.Blogs.Add(new Blog());

            Target = new BlogPostsController(Context, Mock.Create <WritingCalendarService>(), Mock.Create <WordpressService>());
        }
コード例 #14
0
        public void GetPersonsTest()
        {
            // arrange
            var service = new Mock <IPostService>();

            var posts = GetFakeData();

            service.Setup(x => x.GetPostsWithoutDto()).Returns((Delegate)posts);

            var controller = new BlogPostsController(service.Object);

            // Act
            var results = controller.GetGetAllPostsWithoutDto();

            var count = results.Count();

            // Assert
            Assert.Equal(count, 3);
        }
コード例 #15
0
        public void BlogPostsController_Adds_BlogPosts_Result_Is_Not_Null_Repo_Add_and_Save_Once()
        {
            var blogPost = new Mock <BlogPost>();

            var context        = new BlogPostsContext(_contextOptions);
            var mockRepository = new Mock <IDataRepository <BlogPost> >();

            mockRepository.Setup(m => m.Add(It.IsAny <BlogPost>()));
            mockRepository.Setup(m => m.SaveAsync(It.IsAny <BlogPost>()));

            BlogPostsController controller = new BlogPostsController(context, mockRepository.Object);
            var result = controller.PostBlogPost(blogPost.Object);

            mockRepository.Verify(m => m.Add(It.IsAny <BlogPost>()), Times.Once());
            mockRepository.Verify(m => m.SaveAsync(It.IsAny <BlogPost>()), Times.Once());

            Assert.NotNull(result);
            Assert.NotNull(result.Result);
            Assert.IsType <ActionResult <BlogPost> >(result.Result);
        }
コード例 #16
0
        public void testCommentTrue()
        {
            BlogPost blogPost = new BlogPost {
                isOpen = true
            };

            Blog blog = new Blog
            {
                BlogTitle = "Test blogg"
            };

            _repo.Setup(x => x.getBlogpost(1)).Returns(blogPost);
            _repo.Setup(x => x.getBlog(1)).Returns(blog);
            var controller = new BlogPostsController(_repo.Object);

            var result   = controller.Details(1, 1) as ViewResult;
            var viewPost = (BlogPost)result.ViewData.Model;

            Assert.AreEqual(true, viewPost.isOpen);
        }
コード例 #17
0
        public async Task TestGetExistingBlogPost()
        {
            var options    = DbCreator.CreateInMemoryDatabase();
            var loggerMock = new Mock <ILogger <BlogPostsController> >();
            var mapper     = TestMapper.CreateMapper();

            FullBlogPost post;

            using (var ctx = new BlogsDataBaseContext(options))
            {
                var controller = new BlogPostsController(ctx, mapper, loggerMock.Object);

                // act
                var result = await controller.GetBlogPost(1);

                post = result.Value;
            }

            // check
            Assert.NotNull(post);
            Assert.Equal(DbCreator.postText, post.BodyText);
            Assert.Equal(DbCreator.postHeader, post.HeaderText);
        }
 public void BeforeEachTest()
 {
     Target = new BlogPostsController(Context, CalendarService);
 }
コード例 #19
0
        public async Task TestCase1(string user)
        {
            var context = this.fixture.GetCurrentDataContext();

            fixture.InitBlogTestData(context);

            var control   = new BlogPostsController(context);
            var userclaim = DataSetupUtility.GetClaimForUser(user);
            var httpctx   = UnitTestUtility.GetDefaultHttpContext(provider, userclaim);

            control.ControllerContext = new ControllerContext()
            {
                HttpContext = httpctx
            };

            var existedcoll = (from coll in context.BlogCollections where coll.Owner == user select coll).ToList();
            var existedamt  = (from coll in context.BlogPosts where coll.Owner == user select coll).ToList().Count();

            // Step 1. Read all
            var rsts    = control.Get();
            var rstscnt = await rsts.CountAsync();

            Assert.Equal(existedamt, rstscnt);

            // Step 2. Create one new post
            var newpost = new BlogPost()
            {
                Owner   = user,
                Title   = "TestCase1_Add_" + user,
                Brief   = "TestCase1_Add_" + user,
                Content = "TestCase1_Add_" + user,
            };
            var rst = await control.Post(newpost);

            Assert.NotNull(rst);
            var rst2 = Assert.IsType <CreatedODataResult <BlogPost> >(rst);

            objectsCreated.Add(rst2.Entity.ID);
            newpost.ID = rst2.Entity.ID;
            Assert.Equal(rst2.Entity.Title, newpost.Title);
            Assert.Equal(rst2.Entity.Brief, newpost.Brief);
            Assert.Equal(rst2.Entity.Content, newpost.Content);
            Assert.Equal(rst2.Entity.Owner, user);

            // Step 3. Read all
            rsts    = control.Get();
            rstscnt = await rsts.CountAsync();

            Assert.Equal(existedamt + 1, rstscnt);

            // Step 4. Change it - Title and Add new tag
            newpost.Title = "Tobe Delteed";
            newpost.BlogPostTags.Add(new BlogPostTag
            {
                Tag    = "Test",
                PostID = newpost.ID,
            });
            var rst3 = await control.Put(newpost.ID, newpost);

            Assert.NotNull(rst3);
            var rst3a = Assert.IsType <OkObjectResult>(rst3);
            var rst3b = rst3a.Value as BlogPost;

            Assert.Equal(newpost.Title, rst3b.Title);
            Assert.True(rst3b.BlogPostTags.Count == 1);
            Assert.Equal("Test", rst3b.BlogPostTags.ElementAt(0).Tag);

            // Step 4a. Change it - Remove tag and add two new tags
            newpost.BlogPostTags.Clear();
            newpost.BlogPostTags.Add(new BlogPostTag
            {
                Tag    = "Test2",
                PostID = newpost.ID,
            });
            newpost.BlogPostTags.Add(new BlogPostTag
            {
                Tag    = "Test2a",
                PostID = newpost.ID,
            });
            rst3 = await control.Put(newpost.ID, newpost);

            Assert.NotNull(rst3);
            rst3a = Assert.IsType <OkObjectResult>(rst3);
            rst3b = rst3a.Value as BlogPost;
            Assert.Equal(newpost.Title, rst3b.Title);
            Assert.True(rst3b.BlogPostTags.Count == 2);
            Assert.Equal("Test2", rst3b.BlogPostTags.ElementAt(0).Tag);
            Assert.Equal("Test2a", rst3b.BlogPostTags.ElementAt(1).Tag);

            // Step 4b. Change it - add new collection
            if (existedcoll.Count > 0)
            {
                newpost.BlogPostCollections.Add(new BlogPostCollection
                {
                    PostID       = newpost.ID,
                    CollectionID = existedcoll[0].ID
                });
                rst3 = await control.Put(newpost.ID, newpost);

                Assert.NotNull(rst3);
                rst3a = Assert.IsType <OkObjectResult>(rst3);
                rst3b = rst3a.Value as BlogPost;
                Assert.Equal(newpost.Title, rst3b.Title);
                Assert.True(rst3b.BlogPostTags.Count == 2);
                Assert.True(rst3b.BlogPostCollections.Count == 1);
                Assert.Equal(existedcoll[0].ID, rst3b.BlogPostCollections.ElementAt(0).CollectionID);

                if (existedcoll.Count > 1)
                {
                    newpost.BlogPostCollections.Clear();
                    newpost.BlogPostCollections.Add(new BlogPostCollection
                    {
                        PostID       = newpost.ID,
                        CollectionID = existedcoll[1].ID
                    });
                    rst3 = await control.Put(newpost.ID, newpost);

                    Assert.NotNull(rst3);
                    rst3a = Assert.IsType <OkObjectResult>(rst3);
                    rst3b = rst3a.Value as BlogPost;
                    Assert.Equal(newpost.Title, rst3b.Title);
                    Assert.True(rst3b.BlogPostTags.Count == 2);
                    Assert.True(rst3b.BlogPostCollections.Count == 1);
                    Assert.Equal(existedcoll[1].ID, rst3b.BlogPostCollections.ElementAt(0).CollectionID);
                }
            }

            // Step 5. Delete it
            var rst5 = await control.Delete(newpost.ID);

            Assert.NotNull(rst5);
            objectsCreated.Remove(newpost.ID);
            var rst5a = Assert.IsType <StatusCodeResult>(rst5);

            Assert.Equal(204, rst5a.StatusCode);

            // Step 6. Read it again
            rsts    = control.Get();
            rstscnt = await rsts.CountAsync();

            Assert.Equal(existedamt, rstscnt);

            await context.DisposeAsync();
        }