public function TranslationOperationsFieldPermissionsTest::testTranslationOperationsDeletePermissions in Translation Views 8
Test translation operation delete permissions.
Throws
\Behat\Mink\Exception\ElementTextException
\Behat\Mink\Exception\ExpectationException
File
- tests/src/ Functional/ TranslationOperationsFieldPermissionsTest.php, line 242 
Class
- TranslationOperationsFieldPermissionsTest
- Class TranslationOperationsFieldPermissionsTest.
Namespace
Drupal\Tests\translation_views\FunctionalCode
public function testTranslationOperationsDeletePermissions() {
  $this
    ->translateNode();
  $userDelete = $this
    ->createUser([
    'delete content translations',
  ]);
  $this
    ->drupalLogin($userDelete);
  // Check without translation permission.
  $this
    ->drupalGet('/test_operations_links', [
    'query' => [
      'translation_target_language' => 'fr',
    ],
  ]);
  $this
    ->assertSession()
    ->elementTextNotContains('css', ".view-content > div:nth-child(1) .views-field-translation-operations", 'Delete');
  // Check with translation permission.
  $this
    ->addPermissionsForAuthUser([
    'translate article node',
  ]);
  $this
    ->assertTrue($userDelete
    ->hasPermission('translate article node'));
  $this
    ->drupalGet('/test_operations_links', [
    'query' => [
      'translation_target_language' => 'fr',
    ],
  ]);
  $this
    ->assertSession()
    ->elementTextContains('css', ".view-content > div:nth-child(1) .views-field-translation-operations ul .delete a", 'Delete');
  $this
    ->click('.view-content > div:nth-child(1) .views-field-translation-operations ul .delete a');
  $this
    ->assertUrl('/fr/node/1/translations/delete/fr');
  // Check with edit permission.
  $this
    ->addPermissionsForAuthUser([
    'delete any article content',
  ]);
  $this
    ->assertTrue($userDelete
    ->hasPermission('delete any article content'));
  $this
    ->drupalGet('/test_operations_links', [
    'query' => [
      'translation_target_language' => 'fr',
    ],
  ]);
  $this
    ->assertSession()
    ->elementTextContains('css', ".view-content > div:nth-child(1) .views-field-translation-operations ul .delete a", 'Delete');
  $this
    ->click('.view-content > div:nth-child(1) .views-field-translation-operations ul .delete a');
  $this
    ->assertUrl('/fr/node/1/delete');
}