Пример #1
0
        public void Get_By_Id_Returns_NotFound_When_Given_Unknown_id()
        {
            // Arrange
            var posts = new List <Post>(); // no posts

            var repo       = new InMemoryPostRepository(posts);
            var controller = new PostController(repo);

            // Act
            var result = controller.Get(1);

            // Assert
            Assert.IsType <NotFoundResult>(result);
        }
        public async Task ShouldGetAllPosts()
        {
            // Arrange
            const int       howMany        = 3;
            var             somePosts      = Enumerable.Range(0, howMany).Select(_ => _post);
            var             posts          = new List <IBlogPostData>(somePosts);
            IPostRepository postRepository = new InMemoryPostRepository(posts);

            // Act
            var allPosts = await postRepository.GetPosts();

            // Assert
            Check.That(allPosts).Not.IsEmpty();
            Check.That(allPosts.Count).IsEqualTo(howMany);
        }
Пример #3
0
        public void Delete_Method_Removes_A_Post()
        {
            // Arrange
            var testPostId = 99;
            var posts      = CreateTestPosts(5);

            posts[0].Id = testPostId; // Make sure we know the Id of one of the posts

            var repo       = new InMemoryPostRepository(posts);
            var controller = new PostController(repo);

            // Act
            controller.Delete(testPostId);

            // Assert
            var postFromDb = repo.InternalData.FirstOrDefault(p => p.Id == testPostId);

            Assert.Null(postFromDb);
        }
Пример #4
0
        public void Get_Returns_All_Posts()
        {
            // Arrange
            var postCount = 20;
            var posts     = CreateTestPosts(postCount);

            var repo       = new InMemoryPostRepository(posts);
            var controller = new PostController(repo);

            // Act
            var result = controller.Get();

            // Assert
            var okResult    = Assert.IsType <OkObjectResult>(result);
            var actualPosts = Assert.IsType <List <Post> >(okResult.Value);

            Assert.Equal(postCount, actualPosts.Count);
            Assert.Equal(posts, actualPosts);
        }
Пример #5
0
        public void Get_By_Id_Returns_Post_With_Given_Id()
        {
            // Arrange
            var testPostId = 99;
            var posts      = CreateTestPosts(5);

            posts[0].Id = testPostId; // Make sure we know the Id of one of the posts

            var repo       = new InMemoryPostRepository(posts);
            var controller = new PostController(repo);

            // Act
            var result = controller.Get(testPostId);

            // Assert
            var okResult   = Assert.IsType <OkObjectResult>(result);
            var actualPost = Assert.IsType <Post>(okResult.Value);

            Assert.Equal(testPostId, actualPost.Id);
        }
Пример #6
0
        protected override void Seed(VideoGameBlog.Data.EntityFramework.InitDbContext context)
        {
            var userMgr = new UserManager <BlogUser>(new UserStore <BlogUser>(context));
            var roleMgr = new RoleManager <BlogRole>(new RoleStore <BlogRole>(context));

            if (!roleMgr.RoleExists("Admin"))
            {
                roleMgr.Create(new BlogRole()
                {
                    Name = "Admin"
                });
            }
            if (!roleMgr.RoleExists("Marketing"))
            {
                roleMgr.Create(new BlogRole()
                {
                    Name = "Marketing"
                });
            }
            if (!roleMgr.RoleExists("Disabled"))
            {
                roleMgr.Create(new BlogRole()
                {
                    Name = "Disabled"
                });
            }

            // create the default user
            var admin = new BlogUser()
            {
                UserName    = "******",
                Email       = "*****@*****.**",
                PhoneNumber = "1111111111"
            };
            var marketing = new BlogUser()
            {
                UserName    = "******",
                Email       = "*****@*****.**",
                PhoneNumber = "2222222222"
            };
            var disabled = new BlogUser()
            {
                UserName    = "******",
                Email       = "*****@*****.**",
                PhoneNumber = "3333333333"
            };

            // create the user with the manager class
            if (userMgr.FindByName(admin.UserName) == null)
            {
                userMgr.Create(admin, "corndog123");
            }
            if (userMgr.FindByName(marketing.UserName) == null)
            {
                userMgr.Create(marketing, "corndog123");
            }
            if (userMgr.FindByName(disabled.UserName) == null)
            {
                userMgr.Create(disabled, "corndog123");
            }

            // add the user to the admin role
            userMgr.AddToRole(admin.Id, "Admin");
            userMgr.AddToRole(marketing.Id, "Marketing");
            userMgr.AddToRole(disabled.Id, "Disabled");

            InMemoryCategoryRepository catRepo = new InMemoryCategoryRepository();

            foreach (var c in catRepo.GetAll())
            {
                context.Categories.AddOrUpdate(c);
                context.SaveChanges();
            }

            InMemoryTagRepository tagRepo = new InMemoryTagRepository();

            foreach (var t in tagRepo.GetAll())
            {
                context.Tags.AddOrUpdate(t);
                context.SaveChanges();
            }

            InMemoryStaticPageRepository statRepo = new InMemoryStaticPageRepository();

            foreach (var s in statRepo.GetAll())
            {
                context.StaticPages.AddOrUpdate(s);
                context.SaveChanges();
            }

            InMemoryPostRepository postRepo = new InMemoryPostRepository();

            foreach (var p in postRepo.GetAll())
            {
                context.Posts.AddOrUpdate(p);
                context.SaveChanges();
            }
        }
Пример #7
0
 public PostController(InMemoryPostRepository repo)
 {
     this.repo = repo;
 }
Пример #8
0
        public void CanGetPostById()
        {
            var repo = new InMemoryPostRepository();

            Assert.IsNotNull(repo.Get(2));
        }