Backup of db before drupal security update
[yaffs-website] / web / core / modules / contact / tests / src / Kernel / MessageEntityTest.php
1 <?php
2
3 namespace Drupal\Tests\contact\Kernel;
4
5 use Drupal\KernelTests\Core\Entity\EntityKernelTestBase;
6
7 /**
8  * Tests the message entity class.
9  *
10  * @group contact
11  * @see \Drupal\contact\Entity\Message
12  */
13 class MessageEntityTest extends EntityKernelTestBase {
14
15   /**
16    * Modules to enable.
17    *
18    * @var array
19    */
20   public static $modules = [
21     'system',
22     'contact',
23     'field',
24     'user',
25     'contact_test',
26   ];
27
28   protected function setUp() {
29     parent::setUp();
30     $this->installConfig(['contact', 'contact_test']);
31   }
32
33   /**
34    * Test some of the methods.
35    */
36   public function testMessageMethods() {
37     $message_storage = $this->container->get('entity.manager')->getStorage('contact_message');
38     $message = $message_storage->create(['contact_form' => 'feedback']);
39
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());
45
46     // Check for default values.
47     $this->assertEqual('feedback', $message->getContactForm()->id());
48     $this->assertFalse($message->isPersonal());
49
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);
55
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());
60
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']);
64
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));
69   }
70
71 }