content_lock-8.x-2.1/tests/src/Functional/ContentLockHookTest.php
tests/src/Functional/ContentLockHookTest.php
<?php
declare(strict_types=1);
namespace Drupal\Tests\content_lock\Functional;
use Drupal\Tests\BrowserTestBase;
use Drupal\Tests\content_lock\Tools\LogoutTrait;
/**
* Node tests.
*
* @group content_lock
*/
class ContentLockHookTest extends BrowserTestBase {
use LogoutTrait;
/**
* {@inheritdoc}
*/
protected $defaultTheme = 'stark';
/**
* {@inheritdoc}
*/
protected static $modules = [
'node',
'content_lock_hooks_test',
];
/**
* Test hook_content_lock_entity_lockable.
*/
public function testContentLockEntityLockableHook(): void {
$assert_session = $this->assertSession();
$this->drupalCreateContentType(['type' => 'article']);
$article = $this->drupalCreateNode([
'type' => 'article',
'title' => 'Article 1',
]);
$article2 = $this->drupalCreateNode([
'type' => 'article',
'title' => 'Article 2',
]);
$admin = $this->drupalCreateUser([
'edit any article content',
'delete any article content',
'administer nodes',
'administer content types',
'administer content lock',
]);
// We protect the bundle created.
$this->drupalLogin($admin);
$edit = [
'node[bundles][article]' => 1,
];
$this->drupalGet('admin/config/content/content_lock');
$this->submitForm($edit, 'Save configuration');
$this->drupalGet("node/{$article->id()}/edit");
$assert_session->statusCodeEquals(200);
$assert_session->pageTextNotContains('This content is now locked against simultaneous editing.');
$this->drupalGet("node/{$article2->id()}/edit");
$assert_session->statusCodeEquals(200);
$assert_session->pageTextContains('This content is now locked against simultaneous editing.');
}
}
