public void GetUserNewEmailQueryHandler_Throws_Exception_For_Nonexistent_User()
        {
            var handler = new GetUserNewEmailQueryHandler(_context);
            var query   = new GetUserNewEmailQuery("*****@*****.**");

            Action queryAction = () => {
                var result = handler.Execute(query);
            };

            queryAction.Should().Throw <InvalidOperationException>();
        }
        public void GetUserNewEmailQueryHandler_Gives_Null_NewEmail_If_NewEmail_Is_Not_Available()
        {
            var handler = new GetUserNewEmailQueryHandler(_context);
            var query   = new GetUserNewEmailQuery("*****@*****.**");
            var user    = Substitute.For <User>();

            user.Email.Returns("*****@*****.**");
            user.NewEmail.Returns((string)null);

            _context.Users.Add(user);

            var result = handler.Execute(query);

            result.Should().BeNull();
        }