public async Task Should_wrap_exceptions_in_unhandled_exception()
        {
            var innerException = new Exception();

            _invoker.Invoke(_descriptor, _request, _requestGraph.CancellationToken)
            .Throws(innerException);

            var exception = await _messageHandler.Should().Throw <UnhandledGraphiteRequestException>(
                x => x.SendAsync(_request, _requestGraph.CancellationToken));

            exception.InnerException.ShouldEqual(innerException);
        }
        public async Task Should_call_unhandled_exception_handler_when_exception_is_thrown()
        {
            var exception = new Exception();

            _invoker.Invoke(_action, _request, _requestGraph.CancellationToken)
            .Throws(exception);

            var response = await _messageHandler.Should().Throw <UnhandledGraphiteException>(
                x => x.SendAsync(_request, _requestGraph.CancellationToken));

            response.ShouldBeType <UnhandledGraphiteException>();
            response.InnerException.ShouldEqual(exception);
        }