public void ShouldUpdateUser()
        {
            var request = new Common.Contracts.User
            {
                UserName = "******",
                IdentityId = "fooBar12345!",
                FirstName = "foo",
                LastName = "bar",
                EmailAddress = "*****@*****.**",
                BirthDate = DateTime.Now
            };
            var result = new User
            {
                UserName = "******",
                IdentityId = "fooBar12345!",
                FirstName = "foo",
                LastName = "bar",
                EmailAddress = "*****@*****.**",
                BirthDate = DateTime.Now
            };

            _userRepository = new Mock<IUserRepository>();
            _userRepository.Setup(a => a.Edit(It.IsAny<User>()))
                .Returns(result);

            _addressRepository = new Mock<IAddressRepository>();
            _educationRepository = new Mock<IEducationRepository>();
            _mediaRepository = new Mock<IMediaRepository>();

            _usersLogic = new UsersLogic(_userRepository.Object, _addressRepository.Object,
                _educationRepository.Object, _mediaRepository.Object);

            var user = _usersLogic.Update(request);

            Assert.NotNull(user);
            Assert.IsNull(user.Error);
        }
        public void ShouldAddComment()
        {
            var dbResult = new Comment
            {
                CommentId = 7,
                PostId = 1,
                ParentCommentId = null,
                CommentMessage = "Lorem ipsum dolor",
                UserId = 1
            };

            var dbUser = new User {UserId = 1, UserName = "******"};

            _commentsRepository = new Mock<ICommentRepository>();
            _commentsRepository.Setup(a => a.Add(It.IsAny<Comment>())).Returns(dbResult);

            _userRepository = new Mock<IUserRepository>();
            _userRepository.Setup(a => a.Find(It.IsAny<Expression<Func<User, bool>>>(), false)).Returns(new List<User> { dbUser });

            _commentsLogic = new CommentsLogic(_commentsRepository.Object, _userRepository.Object);

            var result = _commentsLogic.Add(new Common.Contracts.Comment
            {
                Id = 7,
                PostId = 1,
                ParentCommentId = null,
                CommentMessage = "Lorem ipsum dolor",
                User = new Common.Contracts.User
                {
                    Id = 1,
                    UserName = "******"
                }
            });

            Assert.IsNotNull(result);
        }