diff --git a/core/modules/comment/src/Entity/Comment.php b/core/modules/comment/src/Entity/Comment.php index 58e4229b1a4..1ccb1f2fe3f 100644 --- a/core/modules/comment/src/Entity/Comment.php +++ b/core/modules/comment/src/Entity/Comment.php @@ -319,13 +319,6 @@ class Comment extends ContentEntityBase implements CommentInterface { return $fields; } - /** - * {@inheritdoc} - */ - public static function getDefaultEntityOwner() { - return 0; - } - /** * {@inheritdoc} */ diff --git a/core/modules/comment/tests/src/Functional/Rest/CommentResourceTestBase.php b/core/modules/comment/tests/src/Functional/Rest/CommentResourceTestBase.php index 67526341510..bf03fb2448f 100644 --- a/core/modules/comment/tests/src/Functional/Rest/CommentResourceTestBase.php +++ b/core/modules/comment/tests/src/Functional/Rest/CommentResourceTestBase.php @@ -314,7 +314,7 @@ abstract class CommentResourceTestBase extends EntityResourceTestBase { // $this->assertResourceErrorResponse(422, "Unprocessable Entity: validation failed.\nentity_type: This value should not be null.\n", $response); // DX: 422 when missing 'entity_type' field. - $request_options[RequestOptions::BODY] = $this->serializer->encode(array_diff_key($this->getNormalizedPostEntity(), ['field_name' => TRUE]), static::$format); + $request_options[RequestOptions::BODY] = $this->serializer->encode(array_diff_key($this->getNormalizedPostEntity(), ['entity_type' => TRUE]), static::$format); $response = $this->request('POST', $url, $request_options); // @todo Uncomment, remove next 2 lines in https://www.drupal.org/node/2820364. $this->assertSame(500, $response->getStatusCode()); diff --git a/core/modules/comment/tests/src/Kernel/CommentIntegrationTest.php b/core/modules/comment/tests/src/Kernel/CommentIntegrationTest.php index 88311994c4d..6f62845f739 100644 --- a/core/modules/comment/tests/src/Kernel/CommentIntegrationTest.php +++ b/core/modules/comment/tests/src/Kernel/CommentIntegrationTest.php @@ -2,6 +2,7 @@ namespace Drupal\Tests\comment\Kernel; +use Drupal\comment\Entity\Comment; use Drupal\comment\Entity\CommentType; use Drupal\Core\Database\Database; use Drupal\Core\Entity\Entity\EntityViewDisplay; @@ -9,6 +10,7 @@ use Drupal\Core\Entity\Entity\EntityViewMode; use Drupal\field\Entity\FieldConfig; use Drupal\field\Entity\FieldStorageConfig; use Drupal\KernelTests\KernelTestBase; +use Drupal\Tests\user\Traits\UserCreationTrait; /** * Tests integration of comment with other components. @@ -17,6 +19,8 @@ use Drupal\KernelTests\KernelTestBase; */ class CommentIntegrationTest extends KernelTestBase { + use UserCreationTrait; + /** * {@inheritdoc} */ @@ -31,11 +35,13 @@ class CommentIntegrationTest extends KernelTestBase { $this->installEntitySchema('user'); $this->installEntitySchema('comment'); $this->installSchema('dblog', ['watchdog']); + $this->installSchema('system', ['sequences']); // Create a new 'comment' comment-type. CommentType::create([ 'id' => 'comment', 'label' => $this->randomString(), + 'target_entity_type_id' => 'entity_test', ])->save(); } @@ -134,4 +140,21 @@ class CommentIntegrationTest extends KernelTestBase { $this->assertTrue($host_display->get('hidden')[$field_name]); } + /** + * Test the default owner of comment entities. + */ + public function testCommentDefaultOwner() { + $comment = Comment::create([ + 'comment_type' => 'comment', + ]); + $this->assertEquals(0, $comment->getOwnerId()); + + $user = $this->createUser(); + $this->container->get('current_user')->setAccount($user); + $comment = Comment::create([ + 'comment_type' => 'comment', + ]); + $this->assertEquals($user->id(), $comment->getOwnerId()); + } + }