Advertisement
Guest User

Untitled

a guest
Apr 9th, 2020
147
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 2.52 KB | None | 0 0
  1. <?php
  2.  
  3. namespace App\Tests\Functional\Controller;
  4.  
  5. use App\Entity\AccessOrderentity;
  6. use App\Entity\Application;
  7. use App\Entity\Orderentity;
  8. use App\Entity\User;
  9. use App\Tests\BaseTestCase\CoversBaseControllerTrait;
  10. use App\Tests\BaseTestCase\WebTestCase;
  11. use App\Tests\Functional\Controller\AccessFixtures\AccessFixtures;
  12.  
  13. /**
  14.  * @covers \App\Controller\DefaultController
  15.  */
  16. class DefaultControllerTest extends WebTestCase
  17. {
  18.     use CoversBaseControllerTrait;
  19.  
  20.     /**
  21.      * Test /
  22.      *
  23.      * @throws \ReflectionException
  24.      */
  25.     public function testHomePage()
  26.     {
  27.         $this->urlTest('/', 302, ['redirectUrl' => '/login']);
  28.         $this->urlTest('/', 200, ['roles' => ['ROLE_USER']]);
  29.         $this->urlTest('/', 403, ['roles' => ['ROLE_VIEW_ORDERENTITY']]); //Anything lower than ROLE_USER
  30.         $this->urlTest('/', 302, ['roles' => ['ROLE_ADMIN'], 'redirectUrl' => '/admin']);
  31.     }
  32.  
  33.     /**
  34.      * @throws \ReflectionException
  35.      */
  36.     public function testAssertUserAccess()
  37.     {
  38.         $fixtures = \array_merge(self::FIXTURES, ['App\Tests\Functional\Controller\AccessFixtures\AccessFixtures']);
  39.         $this->prepareClientWithFixtures(self::FIXTURES_LOAD_ALL, $fixtures);
  40.  
  41.         /** @var User $user */
  42.         $user = $this->getEntityManager()->getRepository(User::class)->findOneBy(['name' => 'Franchisee-1']);
  43.         $apps = $this->getEntityManager()->getRepository(Application::class)->findAll();
  44.  
  45.         $crawler = $this->urlTest('/', 200, ['loggedUser' => $user]);
  46.  
  47.  
  48.         // These accesses are set in AccessFixtures
  49.         foreach ($apps as $app) {
  50.             switch ($app->getSlug()) {
  51.                 // No access part
  52.                 case AccessFixtures::APP_TEST_WITH_NO_ACCESS_OVERRIDEN:
  53.                 case AccessFixtures::APP_TEST_WITH_NO_ACCESS:
  54.                 case AccessFixtures::APP_BLUEBEAN_WITH_NO_ACCESS:
  55.                 case AccessFixtures::APP_BLUEBEAN_WITH_NO_ACCESS_OVERRIDEN;
  56.                     $this->assertStringNotContainsString($app->getUrl(), $crawler->html());
  57.                     break;
  58.                 // Has access part
  59.                 case AccessFixtures::APP_TEST_WITH_ACCESS_OVERRIDEN:
  60.                 case AccessFixtures::APP_TEST_WITH_ACCESS:
  61.                 case AccessFixtures::APP_BLUEBEAN_WITH_ACCESS:
  62.                 case AccessFixtures::APP_BLUEBEAN_WITH_ACCESS_OVERRIDEN:
  63.                     $this->assertStringContainsString($app->getUrl(), $crawler->html());
  64.                     break;
  65.             }
  66.         }
  67.     }
  68. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement