public function ModerationStateTransitionsTest::testTransitionAdministration in Workbench Moderation 8
Tests administration of moderation state transition entity.
File
- tests/
src/ Functional/ ModerationStateTransitionsTest.php, line 39
Class
- ModerationStateTransitionsTest
- Tests moderation state transition config entity.
Namespace
Drupal\Tests\workbench_moderation\FunctionalCode
public function testTransitionAdministration() {
$this
->drupalLogin($this->adminUser);
$this
->drupalGet('admin/structure/workbench-moderation');
$this
->clickLink('Moderation state transitions');
$this
->assertLink('Add Moderation state transition');
$this
->assertSession()
->pageTextContains('Request Review');
// Edit the Draft » Needs review.
$this
->drupalGet('admin/structure/workbench-moderation/transitions/draft_needs_review');
$this
->assertFieldByName('label', 'Request Review');
$this
->assertFieldByName('stateFrom', 'draft');
$this
->assertFieldByName('stateTo', 'needs_review');
$this
->drupalPostForm(NULL, [
'label' => 'Draft to Needs review',
], t('Save'));
$this
->assertSession()
->pageTextContains('Saved the Draft to Needs review Moderation state transition.');
$this
->drupalGet('admin/structure/workbench-moderation/transitions/draft_needs_review');
$this
->assertFieldByName('label', 'Draft to Needs review');
// Now set it back.
$this
->drupalPostForm(NULL, [
'label' => 'Request Review',
], t('Save'));
$this
->assertSession()
->pageTextContains('Saved the Request Review Moderation state transition.');
// Add a new state.
$this
->drupalGet('admin/structure/workbench-moderation/states/add');
$this
->drupalPostForm(NULL, [
'label' => 'Expired',
'id' => 'expired',
], t('Save'));
$this
->assertSession()
->pageTextContains('Created the Expired Moderation state.');
// Add a new transition.
$this
->drupalGet('admin/structure/workbench-moderation/transitions');
$this
->clickLink(t('Add Moderation state transition'));
$this
->drupalPostForm(NULL, [
'label' => 'Published » Expired',
'id' => 'published_expired',
'stateFrom' => 'published',
'stateTo' => 'expired',
], t('Save'));
$this
->assertSession()
->pageTextContains('Created the Published » Expired Moderation state transition.');
// Delete the new transition.
$this
->drupalGet('admin/structure/workbench-moderation/transitions/published_expired');
$this
->clickLink('Delete');
$this
->assertSession()
->pageTextContains('Are you sure you want to delete Published » Expired?');
$this
->drupalPostForm(NULL, [], t('Delete'));
$this
->assertSession()
->pageTextContains('Moderation transition Published » Expired deleted');
}