Esempio n. 1
0
        public void GetAllCommentsCreatedInTimeRange_SomeAreOutOfRange_CorrectDataReturned()
        {
            // Arrange
            var until = DateTime.Now;
            var from  = until.AddDays(-5);

            var outOfRangeComment = RandomDataEntityGenerator.CreateCommentWithRandomData();

            outOfRangeComment.CreatedDateTime = until.AddMinutes(1);
            var comment2 = RandomDataEntityGenerator.CreateCommentWithRandomData();

            comment2.CreatedDateTime = from.AddDays(2);
            var outOfRangeComment1 = RandomDataEntityGenerator.CreateCommentWithRandomData();

            outOfRangeComment1.CreatedDateTime = from.AddMinutes(-1);

            TestDataContext.Comments.AddRange(new[] { outOfRangeComment, comment2, outOfRangeComment1 });
            TestDataContext.SaveChanges();

            // Act
            var result = _SUT.GetCommentsCreatedInRange(from, until);

            // Assert
            Assert.AreEqual(1, result.Count);
        }
Esempio n. 2
0
        public void GetPostsWithCommentsCreatedInRange_WhenMultipleCommentsPerPost_CorrectAmountReturned()
        {
            // Arrange
            var until = DateTime.Now.AddDays(-1);
            var from  = until.AddDays(-5);

            var user = RandomDataEntityGenerator.CreateUserWithRandomData();
            var post = RandomDataEntityGenerator.CreatePostWithRandomData(false);

            post.User        = user;
            post.CreatedTime = from.AddDays(1);

            var comment1 = RandomDataEntityGenerator.CreateCommentWithRandomData(false);

            comment1.User = user;
            comment1.Post = post;

            var comment2 = RandomDataEntityGenerator.CreateCommentWithRandomData(false);

            comment2.User = user;
            comment2.Post = post;

            TestDataContext.Comments.AddRange(new[] { comment1, comment2 });
            TestDataContext.SaveChanges();

            // Act
            var result = _SUT.GetPostsWithCommentsCreatedInRange(from, until);

            // Assert
            Assert.AreEqual(1, result.Count());
        }
Esempio n. 3
0
        public void GetAllCommentsCreatedInTimeRange_WhenAllInInclusiveRange_CorrectDataReturned()
        {
            // Arrange
            var until = DateTime.Now;
            var from  = until.AddDays(-5);

            var comment1 = RandomDataEntityGenerator.CreateCommentWithRandomData();

            comment1.CreatedDateTime = until;
            var comment2 = RandomDataEntityGenerator.CreateCommentWithRandomData();

            comment2.CreatedDateTime = from.AddDays(2);
            var comment3 = RandomDataEntityGenerator.CreateCommentWithRandomData();

            comment3.CreatedDateTime = from;

            TestDataContext.Comments.AddRange(new[] { comment1, comment2, comment3 });
            TestDataContext.SaveChanges();

            // Act
            var result = _SUT.GetCommentsCreatedInRange(from, until);

            // Assert
            Assert.AreEqual(3, result.Count);
        }
        public void LazyLoad_ForeignKeyNotNullable_FetchesProperly()
        {
            // Arrange
            var comment = RandomDataEntityGenerator.CreateCommentWithRandomData();

            using (var dbContext = CreateTestDataContext())
            {
                dbContext.Comments.Add(comment);
                dbContext.SaveChanges();
            }
            // Act
            var dbComment = TestDataContext.Comments.Find(comment.Id);
            // lazy loading
            var post = dbComment.Post;
            // second level
            var userOfPost = post.User;

            // Assert
            Assert.IsNotNull(post);
            Assert.IsNotNull(userOfPost);
        }
Esempio n. 5
0
        public void GetPostsWithCommentsCreatedInRange_WhenAllInExclusiveRange_CorrectDataReturned()
        {
            // Arrange
            var until = DateTime.Now.AddDays(-1);
            var from  = until.AddDays(-5);

            var comment1 = RandomDataEntityGenerator.CreateCommentWithRandomData();
            var comment2 = RandomDataEntityGenerator.CreateCommentWithRandomData();
            var comment3 = RandomDataEntityGenerator.CreateCommentWithRandomData();

            TestDataContext.Comments.AddRange(new[] { comment1, comment2, comment3 });
            TestDataContext.SaveChanges();

            // Act
            var result = _SUT.GetPostsWithCommentsCreatedInRange(from, until);

            // Assert
            Assert.IsNotNull(result.FirstOrDefault(c => c.Id == comment1.PostId));
            Assert.IsNotNull(result.FirstOrDefault(c => c.Id == comment2.PostId));
            Assert.IsNotNull(result.FirstOrDefault(c => c.Id == comment3.PostId));
        }