enhanced administration of activities/projects/customers added navbar for active records and recent activities added edit timesheet entry form added translation packages for errors and flashmessages upgraded composer packages
82 lines
2.2 KiB
PHP
82 lines
2.2 KiB
PHP
<?php
|
|
|
|
/*
|
|
* This file is part of the Symfony package.
|
|
*
|
|
* (c) Fabien Potencier <fabien@symfony.com>
|
|
*
|
|
* For the full copyright and license information, please view the LICENSE
|
|
* file that was distributed with this source code.
|
|
*/
|
|
|
|
namespace AppBundle\Tests\Controller;
|
|
|
|
use Symfony\Bundle\FrameworkBundle\Test\WebTestCase;
|
|
|
|
/**
|
|
* TODO adjust to actual app
|
|
*
|
|
* Functional test that implements a "smoke test" of all the public and secure
|
|
* URLs of the application.
|
|
* See http://symfony.com/doc/current/best_practices/tests.html#functional-tests.
|
|
*
|
|
* Execute the application tests using this command (requires PHPUnit to be installed):
|
|
*
|
|
* $ cd your-symfony-project/
|
|
* $ phpunit -c app
|
|
*
|
|
*/
|
|
class DefaultControllerTest extends WebTestCase
|
|
{
|
|
/**
|
|
* PHPUnit's data providers allow to execute the same tests repeated times
|
|
* using a different set of data each time.
|
|
* See http://symfony.com/doc/current/cookbook/form/unit_testing.html#testing-against-different-sets-of-data.
|
|
*
|
|
* @dataProvider getPublicUrls
|
|
*/
|
|
public function testPublicUrls($url)
|
|
{
|
|
$client = self::createClient();
|
|
$client->request('GET', $url);
|
|
|
|
$this->assertTrue(
|
|
$client->getResponse()->isSuccessful(),
|
|
sprintf('The %s public URL loads correctly.', $url)
|
|
);
|
|
}
|
|
|
|
/**
|
|
* The application contains a lot of secure URLs which shouldn't be
|
|
* publicly accessible. This tests ensures that whenever a user tries to
|
|
* access one of those pages, a redirection to the login form is performed.
|
|
*
|
|
* @dataProvider getSecureUrls
|
|
*/
|
|
public function testSecureUrls($url)
|
|
{
|
|
$this->markTestSkipped('No admin URLs for testing');
|
|
$client = self::createClient();
|
|
$client->request('GET', $url);
|
|
|
|
$this->assertTrue($client->getResponse()->isRedirect());
|
|
|
|
$this->assertEquals(
|
|
'http://localhost/en/login',
|
|
$client->getResponse()->getTargetUrl(),
|
|
sprintf('The %s secure URL redirects to the login form.', $url)
|
|
);
|
|
}
|
|
|
|
public function getPublicUrls()
|
|
{
|
|
yield ['/'];
|
|
yield ['/en/login'];
|
|
}
|
|
|
|
public function getSecureUrls()
|
|
{
|
|
yield ['/en/admin/post/'];
|
|
}
|
|
}
|