View source
<?php
namespace Drupal\Tests\moderation_sidebar\FunctionalJavascript;
use Drupal\FunctionalJavascriptTests\WebDriverTestBase;
use Drupal\Tests\taxonomy\Traits\TaxonomyTestTrait;
if (!trait_exists('\\Drupal\\Tests\\taxonomy\\Traits\\TaxonomyTestTrait')) {
class_alias('\\Drupal\\Tests\\taxonomy\\Functional\\TaxonomyTestTrait', '\\Drupal\\Tests\\taxonomy\\Traits\\TaxonomyTestTrait');
}
class ModerationSidebarTaxonomyTermTest extends WebDriverTestBase {
use TaxonomyTestTrait;
public static $modules = [
'toolbar',
'moderation_sidebar',
'taxonomy_test',
'moderation_sidebar_test',
];
protected $vocabulary;
protected $defaultTheme = 'stark';
protected function setUp() {
parent::setUp();
$this->vocabulary = $this
->createVocabulary();
$user = $this
->drupalCreateUser([
'access toolbar',
'use moderation sidebar',
'administer themes',
'access content',
'create terms in ' . $this->vocabulary
->id(),
]);
$this
->drupalLogin($user);
$edit = [
'use_admin_theme' => TRUE,
];
$this
->drupalPostForm('admin/appearance', $edit, 'Save configuration');
drupal_flush_all_caches();
}
public function testModerationSidebar() {
$term = $this
->createTerm($this->vocabulary);
$this
->drupalGet($term
->toUrl()
->toString());
$this
->clickLink('Tasks');
$this
->assertSession()
->assertWaitOnAjaxRequest();
$this
->assertSession()
->elementExists('css', '.moderation-sidebar-info');
$this
->assertSession()
->elementTextContains('css', '.moderation-sidebar-info', 'Published');
$this
->assertSession()
->elementTextContains('css', 'a.moderation-sidebar-link', 'View');
$this
->assertSession()
->elementAttributeContains('css', 'a.moderation-sidebar-link', 'href', $term
->toUrl()
->toString());
$this
->assertSession()
->elementNotExists('css', 'a.moderation-sidebar-link + a.moderation-sidebar-link');
$user = $this
->drupalCreateUser([
'access toolbar',
'use moderation sidebar',
'access content',
'edit terms in ' . $this->vocabulary
->id(),
]);
$this
->drupalLogin($user);
$this
->drupalGet($term
->toUrl()
->toString());
$this
->clickLink('Tasks');
$this
->assertSession()
->assertWaitOnAjaxRequest();
$this
->assertSession()
->elementTextContains('css', 'a.moderation-sidebar-link', 'View');
$this
->assertSession()
->elementExists('css', 'a.moderation-sidebar-link + a.moderation-sidebar-link');
$this
->assertSession()
->elementTextContains('css', 'a.moderation-sidebar-link + a.moderation-sidebar-link', 'Edit');
$this
->assertSession()
->elementAttributeContains('css', 'a.moderation-sidebar-link + a.moderation-sidebar-link', 'href', $term
->toUrl()
->toString() . '/edit');
}
}