public function testIsSuccessful() { $request = new RequestFailure($this->createMock(RequestInterface::class), '', '', [], []); $cgiResult = new CgiResult([$request]); $this->assertFalse($cgiResult->isSuccessful()); $cgiResult = new CgiResult([new Success($this->createMock(RequestInterface::class))]); $this->assertTrue($cgiResult->isSuccessful()); $cgiResult->add($request); $this->assertFalse($cgiResult->isSuccessful()); }
/** * Render the details of each failed request including the mismatching headers and body. * * @param ResultsRenderer $renderer * @return string */ public function render(ResultsRenderer $renderer) { $results = array_filter($this->result->getResults(), function (ResultInterface $result) { return $result instanceof FailureInterface; }); $output = ''; if (count($results)) { $output .= $renderer->center("Some requests to your solution produced incorrect output!\n"); } foreach ($results as $key => $request) { $output .= $renderer->lineBreak(); $output .= "\n"; $output .= $renderer->style(sprintf('Request %d', $key + 1), ['bold', 'underline', 'blue']); $output .= ' ' . $renderer->style(' FAILED ', ['bg_red', 'bold']) . "\n\n"; $output .= "Request Details:\n\n"; $output .= $this->requestRenderer->renderRequest($request->getRequest()) . "\n"; $output .= $renderer->renderResult($request) . "\n"; } return $output; }