Crud\Test\TestCase\Error\ExceptionRendererTest::testNormalNestedExceptionRendering PHP Method

testNormalNestedExceptionRendering() public method

    public function testNormalNestedExceptionRendering()
    {
        $Exception = new Exception('Hello World');
        $Controller = $this->getMockBuilder('Cake\\Controller\\Controller')->setMethods(['render'])->getMock();
        $Controller->request = new Request();
        $Controller->response = new Response();
        $Renderer = $this->getMockBuilder('Crud\\Error\\ExceptionRenderer')->setMethods(['_getController'])->disableOriginalConstructor()->getMock();
        $Renderer->expects($this->once())->method('_getController')->with()->will($this->returnValue($Controller));
        $Renderer->__construct($Exception);
        $Renderer->render();
        $viewVars = $Controller->viewVars;
        $this->assertTrue(!empty($viewVars['_serialize']));
        $expected = ['success', 'data'];
        $actual = $viewVars['_serialize'];
        $this->assertEquals($expected, $actual);
        $expected = ['code' => 500, 'url' => $Controller->request->here(), 'message' => 'Hello World', 'exception' => ['class' => 'Cake\\Core\\Exception\\Exception', 'code' => 500, 'message' => 'Hello World']];
        $actual = $viewVars['data'];
        unset($actual['trace']);
        $this->assertEquals($expected, $actual);
        $this->assertTrue(isset($viewVars['success']));
        $this->assertFalse($viewVars['success']);
        $this->assertTrue(isset($viewVars['code']));
        $this->assertSame(500, $viewVars['code']);
        $this->assertTrue(isset($viewVars['url']));
        $this->assertSame($Controller->request->here(), $viewVars['url']);
        $this->assertTrue(isset($viewVars['message']));
        $this->assertSame('Hello World', $viewVars['message']);
        $this->assertTrue(isset($viewVars['error']));
        $this->assertSame($Exception, $viewVars['error']);
    }