UnsavedPreviewTest.php in Drupal 8        
                          
                  
                        
  
  
  
  
File
  core/modules/views_ui/tests/src/Functional/UnsavedPreviewTest.php
  
    View source  
  <?php
namespace Drupal\Tests\views_ui\Functional;
class UnsavedPreviewTest extends UITestBase {
  
  public static $testViews = [
    'content',
  ];
  
  protected $defaultTheme = 'stark';
  
  protected $adminUser;
  
  public static $modules = [
    'node',
    'views_ui',
  ];
  
  protected function setUp($import_test_views = TRUE) {
    parent::setUp(FALSE);
    $this->adminUser = $this
      ->drupalCreateUser([
      'administer views',
    ]);
    $this
      ->drupalLogin($this->adminUser);
  }
  
  public function testUnsavedPageDisplayPreview() {
    $this
      ->drupalCreateContentType([
      'type' => 'page',
    ]);
    for ($i = 0; $i < 5; $i++) {
      $this
        ->drupalCreateNode();
    }
    $this
      ->drupalGet('admin/structure/views/view/content');
    $this
      ->assertSession()
      ->statusCodeEquals(200);
    $this
      ->drupalPostForm(NULL, [], t('Add Page'));
    $this
      ->assertSession()
      ->statusCodeEquals(200);
    $this
      ->drupalGet('admin/structure/views/nojs/display/content/page_2/path');
    $this
      ->assertSession()
      ->statusCodeEquals(200);
    $this
      ->drupalPostForm(NULL, [
      'path' => 'foobarbaz',
    ], t('Apply'));
    $this
      ->assertSession()
      ->statusCodeEquals(200);
    $this
      ->drupalPostForm(NULL, [], t('Update preview'));
    $this
      ->assertSession()
      ->statusCodeEquals(200);
    $this
      ->assertText(t('This display has no path'));
    $this
      ->drupalGet('admin/structure/views/view/content/edit/page_2');
    $this
      ->assertSession()
      ->statusCodeEquals(200);
    $this
      ->drupalPostForm(NULL, [], t('Save'));
    $this
      ->assertSession()
      ->statusCodeEquals(200);
    $this
      ->drupalPostForm(NULL, [], t('Update preview'));
    $this
      ->assertSession()
      ->statusCodeEquals(200);
    $this
      ->assertLinkByHref('foobarbaz');
  }
}