
| Current Path : /var/www/html/german-vocational.cn/core/modules/forum/tests/src/Kernel/ |
Linux ift1.ift-informatik.de 5.4.0-216-generic #236-Ubuntu SMP Fri Apr 11 19:53:21 UTC 2025 x86_64 |
| Current File : /var/www/html/german-vocational.cn/core/modules/forum/tests/src/Kernel/ForumValidationTest.php |
<?php
namespace Drupal\Tests\forum\Kernel;
use Drupal\KernelTests\Core\Entity\EntityKernelTestBase;
use Drupal\node\Entity\Node;
use Drupal\taxonomy\Entity\Term;
/**
* Tests forum validation constraints.
*
* @group forum
*/
class ForumValidationTest extends EntityKernelTestBase {
/**
* Modules to install.
*
* @var array
*/
public static $modules = ['node', 'options', 'comment', 'taxonomy', 'forum'];
/**
* Tests the forum validation constraints.
*/
public function testValidation() {
// Add a forum.
$forum = Term::create([
'name' => 'forum 1',
'vid' => 'forums',
'forum_container' => 0,
]);
// Add a container.
$container = Term::create([
'name' => 'container 1',
'vid' => 'forums',
'forum_container' => 1,
]);
// Add a forum post.
$forum_post = Node::create([
'type' => 'forum',
'title' => 'Do these pants make my butt look big?',
]);
$violations = $forum_post->validate();
$this->assertEqual(count($violations), 1);
$this->assertEqual($violations[0]->getMessage(), 'This value should not be null.');
// Add the forum term.
$forum_post->set('taxonomy_forums', $forum);
$violations = $forum_post->validate();
$this->assertEqual(count($violations), 0);
// Try to use a container.
$forum_post->set('taxonomy_forums', $container);
$violations = $forum_post->validate();
$this->assertEqual(count($violations), 1);
$this->assertEqual($violations[0]->getMessage(), t('The item %forum is a forum container, not a forum. Select one of the forums below instead.', [
'%forum' => $container->label(),
]));
}
}