public async Task CreateMiddlewareAndInvokeHandling(
            RequestDelegate requestDelegate,
            VolatileResourceManager volatileResourceManager
            )
        {
            var transactionScopeUnitOfWorkMiddleware = new TransactionScopeUnitOfWorkDependencyInjectionMiddleware(
                requestDelegate,
                transactionScopeEnlistmentAction: volatileResourceManager.EnlistIntoTransactionScope
                );

            var httpContext = new DefaultHttpContext();
            var unitOfWork  = IoC.Resolve <IUnitOfWork>();

            await transactionScopeUnitOfWorkMiddleware.InvokeAsync(httpContext, unitOfWork);
        }
        public async Task next_request_delegate_is_invoked_even_with_unit_of_work_missing(string requestMethod)
        {
            var httpContext = new DefaultHttpContext();
            var httpRequest = (DefaultHttpRequest)httpContext.Request;

            httpRequest.Method = requestMethod;
            httpRequest.Path   = new PathString("/js/main.js");

            await _middleware.InvokeAsync(
                httpContext,
                unitOfWork : null
                );

            _nextRequestDelegateIsInvoked.ShouldBe(true);
        }