コード例 #1
0
        public void Setup()
        {
            _transactionScope = new TransactionScope();
            _nickname         = "nickname";

            _post1 = BuildMeA.Post("Title", "Entry", DateTime.Today, DateTime.Today);

            _blog1 = BuildMeA
                     .Blog("title", "description", _nickname, DateTime.Now)
                     .WithPost(_post1);

            _user1 = BuildMeA.User("email", "name", "password")
                     .WithBlog(_blog1);

            _post2 = BuildMeA.Post("Title", "Entry", DateTime.Today, DateTime.Today, false);

            Blog blog2 = BuildMeA
                         .Blog("title", "description", "nickname2", DateTime.Now)
                         .WithPost(_post2);

            _user2 = BuildMeA.User("email", "name2", "password")
                     .WithBlog(blog2);

            _userRepository = new UserRepository(ConfigurationManager.ConnectionStrings["mblog"].ConnectionString);
            _postRepository = new PostRepository(ConfigurationManager.ConnectionStrings["mblog"].ConnectionString);
        }
コード例 #2
0
        public void Setup()
        {
            _transactionScope = new TransactionScope();
            _nickname         = "nickname";

            var posts = new List <Post>();

            for (int i = 0; i < NumberOfPosts; i++)
            {
                Post post = BuildMeA.Post("title " + i, "entry " + i, DateTime.Today, DateTime.Today);
                posts.Add(post);
            }


            _blog = BuildMeA
                    .Blog("title", "description", _nickname, DateTime.Now)
                    .WithPosts(posts);

            _user1 = BuildMeA.User("email", "name", "password")
                     .WithBlog(_blog);

            Blog blog2 = BuildMeA
                         .Blog("title", "description", "nickname2", DateTime.Now);

            _user2 = BuildMeA.User("email", "name", "password")
                     .WithBlog(blog2);

            _userRepository = new UserRepository(ConfigurationManager.ConnectionStrings["mblog"].ConnectionString);
            _blogRepository = new BlogRepository(ConfigurationManager.ConnectionStrings["mblog"].ConnectionString);
        }
コード例 #3
0
        public void GivenTheUserHasCreatedNoPosts_WhenIGetAllPosts_ThenIGetTheCorrectPosts()
        {
            Blog blog = BuildMeA
                        .Blog("title", "description", _nickname, DateTime.Now);

            _user1 = BuildMeA.User("email", "name", "password")
                     .WithBlog(blog);

            _userRepository.Create(_user1);

            IEnumerable <Post> newPosts = _postRepository.GetBlogPosts(_nickname);

            Assert.That(newPosts, Is.Not.Null);
            Assert.That(newPosts.Count(), Is.EqualTo(0));
        }
コード例 #4
0
        public void GivenABlogId_WhenIAskForItsOrderedPosts_ThenIGetThePostsInDateOrder()
        {
            var posts = new List <Post>
            {
                BuildMeA.Post("title 1", "entry 1", new DateTime(2000, 4, 19), DateTime.Today),
                BuildMeA.Post("title 2", "entry 1", new DateTime(2011, 4, 19), DateTime.Today)
            };

            Blog blog = BuildMeA
                        .Blog("title", "description", _nickname, DateTime.Now)
                        .WithPosts(posts);

            _user1 = BuildMeA.User("email", "name", "password")
                     .WithBlog(blog);
            _userRepository.Create(_user1);

            var newPosts = _postRepository.GetOrderedBlogPosts(blog.Id) as List <Post>;

            Assert.That(newPosts[0].Title, Is.StringEnding("2"));
        }
コード例 #5
0
        public void WhenIUpdateAPost_AndThePostDoesNotExist_ThenAnExceptionIsThrown()
        {
            var posts = new List <Post>
            {
                BuildMeA.Post("title 1", "entry 1", new DateTime(2010, 4, 19), DateTime.Today),
            };

            Blog blog = BuildMeA
                        .Blog("title", "description", _nickname, DateTime.Now)
                        .WithPosts(posts);

            _user1 = BuildMeA.User("email", "name", "password")
                     .WithBlog(blog);

            _userRepository.Create(_user1);

            Post post = _postRepository.Entities.Where(p => p.Title == "title 1").FirstOrDefault();

            Assert.Throws <MBlogException>(() => _postRepository.Update(post.Id + 1001, "new title", post.BlogPost));
        }
コード例 #6
0
        public void GivenThereIsAComment_WhenIRetriveTheOwningPost_ThenCommentIsRetrived()
        {
            Comment comment = BuildMeA.Comment("This is a comment", DateTime.Now);

            var posts = new List <Post>
            {
                BuildMeA.Post("title 1", "entry 1", new DateTime(2011, 4, 19), DateTime.Today).
                WithComment(comment)
            };

            Blog blog = BuildMeA
                        .Blog("title", "description", _nickname, DateTime.Now)
                        .WithPosts(posts);

            _user1 = BuildMeA.User("email", "name", "password")
                     .WithBlog(blog);
            _userRepository.Create(_user1);
            Post newPost = _postRepository.GetBlogPost(posts[0].Id);

            Assert.That(newPost.Comments.Count, Is.EqualTo(1));
        }
コード例 #7
0
        public void Setup()
        {
            _transactionScope = new TransactionScope();
            _nickname1        = "nickname1";

            _userRepository = new UserRepository(ConfigurationManager.ConnectionStrings["mblog"].ConnectionString);

            Blog blog1 = BuildMeA
                         .Blog("title1", "description1", _nickname1, DateTime.Now);
            Blog blog2 = BuildMeA
                         .Blog("title2", "description2", _nickname1, DateTime.Now);

            _user = BuildMeA.User("email1", "name1", "password1")
                    .WithBlog(blog1)
                    .WithBlog(blog2);

            _userRepository.Create(_user);

            _user2 = BuildMeA.User("email1", "name1", "password1");
            _userRepository.Create(_user2);
        }
コード例 #8
0
        GivenTheUserHasMultiplePostsForTheSameYearMonthDayAndTitle_WhenIGetAllPostsForThatYearMonthDayWithTheWrongTitleTitle_ThenIGetNoPosts
            ()
        {
            var posts = new List <Post>
            {
                BuildMeA.Post("title 1", "entry 1", new DateTime(2010, 4, 19), DateTime.Today),
                BuildMeA.Post("title 2", "entry 1", new DateTime(2011, 4, 19), DateTime.Today),
                BuildMeA.Post("title 3", "entry 1", new DateTime(2011, 4, 19), DateTime.Today),
                BuildMeA.Post("title 4", "entry 1", new DateTime(2011, 6, 21), DateTime.Today),
            };

            Blog blog = BuildMeA
                        .Blog("title", "description", _nickname, DateTime.Now)
                        .WithPosts(posts);

            _user1 = BuildMeA.User("email", "name", "password")
                     .WithBlog(blog);

            var posts2 = new List <Post>
            {
                BuildMeA.Post("title 2", "entry 1", new DateTime(2010, 4, 19), DateTime.Today),
                BuildMeA.Post("title 2", "entry 1", new DateTime(2011, 4, 19), DateTime.Today),
                BuildMeA.Post("title 2", "entry 1", new DateTime(2011, 4, 20), DateTime.Today),
            };

            Blog blog2 = BuildMeA
                         .Blog("title2", "description2", "nickname2", DateTime.Now)
                         .WithPosts(posts2);

            _user2 = BuildMeA.User("email2", "name2", "password2")
                     .WithBlog(blog2);

            _userRepository.Create(_user1);
            _userRepository.Create(_user2);

            IEnumerable <Post> newPosts = _postRepository.GetBlogPosts(2011, 4, 19, _nickname, "title-3");

            Assert.That(newPosts, Is.Not.Null);
            Assert.That(newPosts.Count(), Is.EqualTo(1));
        }
コード例 #9
0
        public void GivenTheUserHasMultiplePosts_WhenIGetAllPostsForThatNickname_ThenIGetTheCorrectPosts()
        {
            var posts = new List <Post>
            {
                BuildMeA.Post("title 1", "entry 1", new DateTime(2010, 4, 19), DateTime.Today),
                BuildMeA.Post("title 1", "entry 1", new DateTime(2011, 4, 19), DateTime.Today),
                BuildMeA.Post("title 1", "entry 1", new DateTime(2011, 5, 20), DateTime.Today),
                BuildMeA.Post("title 1", "entry 1", new DateTime(2011, 6, 21), DateTime.Today),
            };

            Blog blog = BuildMeA
                        .Blog("title", "description", _nickname, DateTime.Now)
                        .WithPosts(posts);

            _user1 = BuildMeA.User("email", "name", "password")
                     .WithBlog(blog);

            var posts2 = new List <Post>
            {
                BuildMeA.Post("title 2", "entry 1", new DateTime(2010, 4, 18), DateTime.Today),
                BuildMeA.Post("title 2", "entry 1", new DateTime(2011, 3, 19), DateTime.Today),
                BuildMeA.Post("title 2", "entry 1", new DateTime(2011, 4, 20), DateTime.Today),
            };

            Blog blog2 = BuildMeA
                         .Blog("title2", "description2", "nickname2", DateTime.Now)
                         .WithPosts(posts2);

            _user2 = BuildMeA.User("email2", "name2", "password2")
                     .WithBlog(blog2);

            _userRepository.Create(_user1);
            _userRepository.Create(_user2);

            IEnumerable <Post> newPosts = _postRepository.GetBlogPosts(0, 0, 0, _nickname, null);

            Assert.That(newPosts, Is.Not.Null);
            Assert.That(newPosts.Count(), Is.EqualTo(4));
        }
コード例 #10
0
        public void GivenTheUserHasCreatedMultiplePosts_WhenIGetAllPosts_ThenIGetTheCorrectPosts()
        {
            var posts = new List <Post>
            {
                BuildMeA.Post("title 1", "entry 1", DateTime.Today, DateTime.Today),
                BuildMeA.Post("title 1", "entry 1", DateTime.Today, DateTime.Today),
            };

            Blog blog = BuildMeA
                        .Blog("title", "description", _nickname, DateTime.Now)
                        .WithPosts(posts);

            _user1 = BuildMeA.User("email", "name", "password")
                     .WithBlog(blog);

            _userRepository.Create(_user1);

            IEnumerable <Post> newPosts = _postRepository.GetBlogPosts(_nickname);

            Assert.That(newPosts, Is.Not.Null);
            Assert.That(newPosts.Count(), Is.EqualTo(posts.Count));
        }
コード例 #11
0
        public void WhenIUpdateAPost_ThenIPostIsUpdated()
        {
            var posts = new List <Post>
            {
                BuildMeA.Post("title 1", "entry 1", new DateTime(2010, 4, 19), DateTime.Today),
            };

            Blog blog = BuildMeA
                        .Blog("title", "description", _nickname, DateTime.Now)
                        .WithPosts(posts);

            _user1 = BuildMeA.User("email", "name", "password")
                     .WithBlog(blog);

            _userRepository.Create(_user1);

            Post post = _postRepository.Entities.Where(p => p.Title == "title 1").FirstOrDefault();

            _postRepository.Update(post.Id, "new title", post.BlogPost);
            post = _postRepository.Entities.Where(p => p.Title == "new title").FirstOrDefault();

            Assert.That(post, Is.Not.Null);
        }