コード例 #1
0
        public void Comment_EditingWithValidDataWithinDeadline_Successfully()
        {
            // Arrange
            var target                 = new CommentBuilder().SetupValidComment().Build();
            var originalId             = target.Id;
            var originalUserId         = target.UserId;
            var originalCreatedOn      = target.CreatedOn;
            var originalParentQuestion = target.ParentQuestion;
            var originalParentAnswer   = target.ParentAnswer;

            var userId  = new Guid("00000000-0000-0000-0000-000000000002");
            var newBody = "NewBodyNormal";
            var limits  = new LimitsBuilder().Build();

            // Act
            target.Edit(target.User, newBody, limits);

            // Assert
            Assert.Equal(originalId, target.Id);
            Assert.Equal(originalUserId, target.UserId);
            Assert.Equal(originalCreatedOn, target.CreatedOn);
            Assert.Equal(originalParentQuestion, target.ParentQuestion);
            Assert.Equal(originalParentAnswer, target.ParentAnswer);
            Assert.Equal(newBody, target.Body);
        }
コード例 #2
0
        public void Comment_EditingWithInvalidData_FailsValidation(string userId, string body)
        {
            // Arrange
            var target = new CommentBuilder().SetupValidComment().Build();
            var limits = new LimitsBuilder().Build();
            var user   = new UserBuilder().BuildUser(new Guid(userId)).Build();

            // Act, Assert
            Assert.Throws <BusinessException>(() =>
                                              target.Edit(user, body, limits));
        }
コード例 #3
0
        public void Comment_EditingOutsideDeadline_Fails()
        {
            // Arrange - Build Question, 1 minute after deadline.
            var limits = new LimitsBuilder().Build();
            var target = new CommentBuilder()
                         .SetupValidComment()
                         .MakeTimeGoBy()
                         .Build();

            // Arrange - Edit Data
            string editedBody = "BodyNormal";

            // Act, Assert
            Assert.Throws <BusinessException>(() =>
                                              target.Edit(target.User, editedBody, limits));
        }