3 namespace Drupal\Tests\contact\Kernel;
5 use Drupal\KernelTests\Core\Entity\EntityKernelTestBase;
8 * Tests the message entity class.
11 * @see \Drupal\contact\Entity\Message
13 class MessageEntityTest extends EntityKernelTestBase {
20 public static $modules = [
28 protected function setUp() {
30 $this->installConfig(['contact', 'contact_test']);
34 * Test some of the methods.
36 public function testMessageMethods() {
37 $message_storage = $this->container->get('entity.manager')->getStorage('contact_message');
38 $message = $message_storage->create(['contact_form' => 'feedback']);
40 // Check for empty values first.
41 $this->assertEqual($message->getMessage(), '');
42 $this->assertEqual($message->getSenderName(), '');
43 $this->assertEqual($message->getSenderMail(), '');
44 $this->assertFalse($message->copySender());
46 // Check for default values.
47 $this->assertEqual('feedback', $message->getContactForm()->id());
48 $this->assertFalse($message->isPersonal());
50 // Set some values and check for them afterwards.
51 $message->setMessage('welcome_message');
52 $message->setSenderName('sender_name');
53 $message->setSenderMail('sender_mail');
54 $message->setCopySender(TRUE);
56 $this->assertEqual($message->getMessage(), 'welcome_message');
57 $this->assertEqual($message->getSenderName(), 'sender_name');
58 $this->assertEqual($message->getSenderMail(), 'sender_mail');
59 $this->assertTrue($message->copySender());
61 $no_access_user = $this->createUser(['uid' => 2]);
62 $access_user = $this->createUser(['uid' => 3], ['access site-wide contact form']);
63 $admin = $this->createUser(['uid' => 4], ['administer contact forms']);
65 $this->assertFalse(\Drupal::entityManager()->getAccessControlHandler('contact_message')->createAccess(NULL, $no_access_user));
66 $this->assertTrue(\Drupal::entityManager()->getAccessControlHandler('contact_message')->createAccess(NULL, $access_user));
67 $this->assertTrue($message->access('edit', $admin));
68 $this->assertFalse($message->access('edit', $access_user));