diff core/modules/comment/src/Tests/Views/CommentTestBase.php @ 0:4c8ae668cc8c

Initial import (non-working)
author Chris Cannam
date Wed, 29 Nov 2017 16:09:58 +0000
parents
children 1fec387a4317
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/core/modules/comment/src/Tests/Views/CommentTestBase.php	Wed Nov 29 16:09:58 2017 +0000
@@ -0,0 +1,97 @@
+<?php
+
+namespace Drupal\comment\Tests\Views;
+
+@trigger_error(__NAMESPACE__ . '\CommentTestBase is deprecated in Drupal 8.4.0 and will be removed before Drupal 9.0.0. Use \Drupal\Tests\comment\Functional\Views\CommentTestBase instead. See http://www.drupal.org/node/2908490', E_USER_DEPRECATED);
+
+use Drupal\comment\Tests\CommentTestTrait;
+use Drupal\views\Tests\ViewTestBase;
+use Drupal\views\Tests\ViewTestData;
+use Drupal\comment\Entity\Comment;
+
+/**
+ * Provides setup and helper methods for comment views tests.
+ *
+ * @deprecated in Drupal 8.4.0 and will be removed before Drupal 9.0.0.
+ *   Use \Drupal\Tests\comment\Functional\Views\CommentTestBase instead.
+ *
+ * @see https://www.drupal.org/node/2908490
+ */
+abstract class CommentTestBase extends ViewTestBase {
+
+  use CommentTestTrait;
+
+  /**
+   * Modules to install.
+   *
+   * @var array
+   */
+  public static $modules = ['node', 'comment', 'comment_test_views'];
+
+  /**
+   * A normal user with permission to post comments (without approval).
+   *
+   * @var \Drupal\user\UserInterface
+   */
+  protected $account;
+
+  /**
+   * A second normal user that will author a node for $account to comment on.
+   *
+   * @var \Drupal\user\UserInterface
+   */
+  protected $account2;
+
+  /**
+   * Stores a node posted by the user created as $account.
+   *
+   * @var \Drupal\node\NodeInterface
+   */
+  protected $nodeUserPosted;
+
+  /**
+   * Stores a node posted by the user created as $account2.
+   *
+   * @var \Drupal\node\NodeInterface
+   */
+  protected $nodeUserCommented;
+
+  /**
+   * Stores a comment used by the tests.
+   *
+   * @var \Drupal\comment\Entity\Comment
+   */
+  protected $comment;
+
+  protected function setUp() {
+    parent::setUp();
+
+    ViewTestData::createTestViews(get_class($this), ['comment_test_views']);
+
+    // Add two users, create a node with the user1 as author and another node
+    // with user2 as author. For the second node add a comment from user1.
+    $this->account = $this->drupalCreateUser(['skip comment approval']);
+    $this->account2 = $this->drupalCreateUser();
+    $this->drupalLogin($this->account);
+
+    $this->drupalCreateContentType(['type' => 'page', 'name' => t('Basic page')]);
+    $this->addDefaultCommentField('node', 'page');
+
+    $this->nodeUserPosted = $this->drupalCreateNode();
+    $this->nodeUserCommented = $this->drupalCreateNode(['uid' => $this->account2->id()]);
+
+    $comment = [
+      'uid' => $this->loggedInUser->id(),
+      'entity_id' => $this->nodeUserCommented->id(),
+      'entity_type' => 'node',
+      'field_name' => 'comment',
+      'subject' => 'How much wood would a woodchuck chuck',
+      'cid' => '',
+      'pid' => '',
+      'mail' => 'someone@example.com',
+    ];
+    $this->comment = Comment::create($comment);
+    $this->comment->save();
+  }
+
+}