86 lines
		
	
	
		
			2.2 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
			
		
		
	
	
			86 lines
		
	
	
		
			2.2 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
<?php
 | 
						|
/**
 | 
						|
 * CakePHP(tm) : Rapid Development Framework (http://cakephp.org)
 | 
						|
 * Copyright (c) Cake Software Foundation, Inc. (http://cakefoundation.org)
 | 
						|
 *
 | 
						|
 * Licensed under The MIT License
 | 
						|
 * For full copyright and license information, please see the LICENSE.txt
 | 
						|
 * Redistributions of files must retain the above copyright notice
 | 
						|
 *
 | 
						|
 * @copyright     Copyright (c) Cake Software Foundation, Inc. (http://cakefoundation.org)
 | 
						|
 * @link          http://cakephp.org CakePHP(tm) Project
 | 
						|
 * @since         1.2.0
 | 
						|
 * @license       http://www.opensource.org/licenses/mit-license.php MIT License
 | 
						|
 */
 | 
						|
namespace App\Test\TestCase\Controller;
 | 
						|
 | 
						|
use App\Controller\PagesController;
 | 
						|
use Cake\Core\App;
 | 
						|
use Cake\Core\Configure;
 | 
						|
use Cake\Network\Request;
 | 
						|
use Cake\Network\Response;
 | 
						|
use Cake\TestSuite\IntegrationTestCase;
 | 
						|
use Cake\View\Exception\MissingTemplateException;
 | 
						|
 | 
						|
/**
 | 
						|
 * PagesControllerTest class
 | 
						|
 */
 | 
						|
class PagesControllerTest extends IntegrationTestCase
 | 
						|
{
 | 
						|
    /**
 | 
						|
     * testMutlipleGet method
 | 
						|
     *
 | 
						|
     * @return void
 | 
						|
     */
 | 
						|
    public function testMutlipleGet()
 | 
						|
    {
 | 
						|
        $this->get('/');
 | 
						|
        $this->assertResponseOk();
 | 
						|
        $this->get('/');
 | 
						|
        $this->assertResponseOk();
 | 
						|
    }
 | 
						|
 | 
						|
    /**
 | 
						|
     * testDisplay method
 | 
						|
     *
 | 
						|
     * @return void
 | 
						|
     */
 | 
						|
    public function testDisplay()
 | 
						|
    {
 | 
						|
        $this->get('/pages/home');
 | 
						|
        $this->assertResponseOk();
 | 
						|
        $this->assertResponseContains('CakePHP');
 | 
						|
        $this->assertResponseContains('<html>');
 | 
						|
    }
 | 
						|
 | 
						|
    /**
 | 
						|
     * Test that missing template renders 404 page in production
 | 
						|
     *
 | 
						|
     * @return void
 | 
						|
     */
 | 
						|
    public function testMissingTemplate()
 | 
						|
    {
 | 
						|
        Configure::write('debug', false);
 | 
						|
        $this->get('/pages/not_existing');
 | 
						|
 | 
						|
        $this->assertResponseError();
 | 
						|
        $this->assertResponseContains('Error');
 | 
						|
    }
 | 
						|
 | 
						|
    /**
 | 
						|
     * Test that missing template in debug mode renders missing_template error page
 | 
						|
     *
 | 
						|
     * @return void
 | 
						|
     */
 | 
						|
    public function testMissingTemplateInDebug()
 | 
						|
    {
 | 
						|
        Configure::write('debug', true);
 | 
						|
        $this->get('/pages/not_existing');
 | 
						|
 | 
						|
        $this->assertResponseFailure();
 | 
						|
        $this->assertResponseContains('Missing Template');
 | 
						|
        $this->assertResponseContains('Stacktrace');
 | 
						|
        $this->assertResponseContains('not_existing.ctp');
 | 
						|
    }
 | 
						|
}
 |