public async Task RouteEventAsync_ShouldProcessEvent()
        {
            _pipelineMock
            .Setup(x => x.ProcessEventAsync(_pipelineEvent, _eventsScopeMock.Object))
            .Returns(Task.CompletedTask)
            .Verifiable();

            _pipelinesServiceMock
            .Setup(x => x.GetPipelines(typeof(object)))
            .Returns(new [] { _pipelineMock.Object })
            .Verifiable();

            _loggerScopeMock
            .Setup(x => x.Dispose())
            .Verifiable();

            _loggerMock
            .Setup(x => x.BeginScope(It.IsAny <object>()))
            .Returns(_loggerScopeMock.Object)
            .Verifiable();

            _loggerMock
            .Setup(x => x.IsEnabled(LogLevel.Information))
            .Returns(true)
            .Verifiable();

            _loggerMock
            .Setup(x => x.Log(
                       LogLevel.Information,
                       RoutingLoggerMessages.EventIds.EventRoutedToPipeline,
                       It.IsAny <object>(),
                       null,
                       It.IsAny <Func <object, Exception, string> >()
                       ))
            .Verifiable();

            await _routingService.RouteEventAsync(_pipelineEvent, _eventsScopeMock.Object);
        }