public void GetUserNameQueryHandler_Throws_Exception_For_Nonexistent_User()
        {
            var handler = new GetUserNameQueryHandler(_context);
            var query   = new GetUserNameQuery("*****@*****.**");

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

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

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

            _context.Users.Add(user);

            var result = handler.Execute(query);

            result.Should().Be("*****@*****.**");
        }