ConfigEntityStatusUITest.php in Drupal 8        
                          
                  
                        
  
  
  
  
File
  core/modules/config/tests/src/Functional/ConfigEntityStatusUITest.php
  
    View source  
  <?php
namespace Drupal\Tests\config\Functional;
use Drupal\Tests\BrowserTestBase;
class ConfigEntityStatusUITest extends BrowserTestBase {
  
  public static $modules = [
    'config_test',
  ];
  
  protected $defaultTheme = 'stark';
  
  public function testCRUD() {
    $this
      ->drupalLogin($this
      ->drupalCreateUser([
      'administer site configuration',
    ]));
    $id = strtolower($this
      ->randomMachineName());
    $edit = [
      'id' => $id,
      'label' => $this
        ->randomMachineName(),
    ];
    $this
      ->drupalPostForm('admin/structure/config_test/add', $edit, 'Save');
    $entity = \Drupal::entityTypeManager()
      ->getStorage('config_test')
      ->load($id);
    
    $disable_url = $entity
      ->toUrl('disable');
    $this
      ->assertLinkByHref($disable_url
      ->toString());
    $this
      ->drupalGet($disable_url);
    $this
      ->assertSession()
      ->statusCodeEquals(200);
    $this
      ->assertNoLinkByHref($disable_url
      ->toString());
    
    $enable_url = $entity
      ->toUrl('enable');
    $this
      ->assertLinkByHref($enable_url
      ->toString());
    $this
      ->drupalGet($enable_url);
    $this
      ->assertSession()
      ->statusCodeEquals(200);
    $this
      ->assertNoLinkByHref($enable_url
      ->toString());
  }
}