EntityUpdateUIAccessTest.php in Entity Update 2.0.x        
                          
                  
                        
  
  
  
  
  
File
  tests/src/Functional/EntityUpdateUIAccessTest.php
  
    View source  
  <?php
namespace Drupal\Tests\entity_update\Functional;
error_reporting(0);
use Drupal\Tests\BrowserTestBase;
class EntityUpdateUIAccessTest extends BrowserTestBase {
  
  public static $modules = [
    'entity_update',
    'entity_update_tests',
  ];
  
  protected $defaultTheme = 'stark';
  
  protected function setUp() {
    parent::setUp();
    $permissions = [
      'administer software updates',
    ];
    
    $this->user = $this
      ->drupalCreateUser([]);
    
    $this->admin_user = $this
      ->drupalCreateUser($permissions);
  }
  
  public function testAnonymousAccess() {
    
    $this
      ->runPageAccess(403, 'testAnonymousAccess');
  }
  
  public function testSimpleUserAccess() {
    
    $this
      ->drupalLogin($this->user);
    
    $this
      ->runPageAccess(403, 'testSimpleUserAccess');
  }
  
  public function testAdminsAccess() {
    
    $this
      ->drupalLogin($this->admin_user);
    
    $this
      ->runPageAccess(200, 'testAdminsAccess');
  }
  
  private function runPageAccess($code = NULL, $method = '') {
    $assert = $this
      ->assertSession();
    
    $this
      ->drupalGet('');
    $assert
      ->statusCodeEquals(200);
    
    if (!$code) {
      return;
    }
    $this
      ->drupalGet('admin/config/development/entity-update');
    $assert
      ->statusCodeEquals($code);
    $this
      ->drupalGet('admin/config/development/entity-update/tests');
    $assert
      ->statusCodeEquals($code);
    $this
      ->drupalGet('admin/config/development/entity-update/exec');
    $assert
      ->statusCodeEquals($code);
    $this
      ->drupalGet('admin/config/development/entity-update/types');
    $assert
      ->statusCodeEquals($code);
    $this
      ->drupalGet('admin/config/development/entity-update/status');
    $assert
      ->statusCodeEquals($code);
    $this
      ->drupalGet('admin/config/development/entity-update/list');
    $assert
      ->statusCodeEquals($code);
    $this
      ->drupalGet('admin/config/development/entity-update/list/user/1');
    $assert
      ->statusCodeEquals($code);
    $this
      ->drupalGet('admin/config/development/entity-update/list/user/1/2');
    $assert
      ->statusCodeEquals($code);
  }
}