Mercurial > hg > cmmr2012-drupal-site
diff core/modules/comment/tests/src/Kernel/CommentStringIdEntitiesTest.php @ 0:c75dbcec494b
Initial commit from drush-created site
author | Chris Cannam |
---|---|
date | Thu, 05 Jul 2018 14:24:15 +0000 |
parents | |
children | 12f9dff5fda9 |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/core/modules/comment/tests/src/Kernel/CommentStringIdEntitiesTest.php Thu Jul 05 14:24:15 2018 +0000 @@ -0,0 +1,66 @@ +<?php + +namespace Drupal\Tests\comment\Kernel; + +use Drupal\comment\Entity\CommentType; +use Drupal\KernelTests\KernelTestBase; +use Drupal\field\Entity\FieldStorageConfig; + +/** + * Tests that comment fields cannot be added to entities with non-integer IDs. + * + * @group comment + */ +class CommentStringIdEntitiesTest extends KernelTestBase { + + /** + * Modules to install. + * + * @var array + */ + public static $modules = [ + 'comment', + 'user', + 'field', + 'field_ui', + 'entity_test', + 'text', + ]; + + protected function setUp() { + parent::setUp(); + $this->installEntitySchema('comment'); + $this->installSchema('comment', ['comment_entity_statistics']); + // Create the comment body field storage. + $this->installConfig(['field']); + } + + /** + * Tests that comment fields cannot be added entities with non-integer IDs. + */ + public function testCommentFieldNonStringId() { + try { + $bundle = CommentType::create([ + 'id' => 'foo', + 'label' => 'foo', + 'description' => '', + 'target_entity_type_id' => 'entity_test_string_id', + ]); + $bundle->save(); + $field_storage = FieldStorageConfig::create([ + 'field_name' => 'foo', + 'entity_type' => 'entity_test_string_id', + 'settings' => [ + 'comment_type' => 'entity_test_string_id', + ], + 'type' => 'comment', + ]); + $field_storage->save(); + $this->fail('Did not throw an exception as expected.'); + } + catch (\UnexpectedValueException $e) { + $this->pass('Exception thrown when trying to create comment field on Entity Type with string ID.'); + } + } + +}