function it_publishes_the_timing_and_increment_metrics(MetricPublisher $metricPublisher, RequestMetricNamespaceResolver $requestMetricNamespaceResolver)
{
$request = new Request([], [], ['_tolerance_request_time' => 123456.789]);
$requestMetricNamespaceResolver->resolve($request)->willReturn('the_namespace');
$metricPublisher->publish(Argument::that(function ($metrics) {
if (!is_array($metrics)) {
return false;
} elseif (count($metrics) != 2) {
return false;
} elseif ($metrics[0]->getName() != 'the_namespace') {
return false;
}
return true;
}))->shouldBeCalled();
$this->onRequestEnd(new RequestEnded($request));
}