Chris@0
|
1 <?php
|
Chris@0
|
2
|
Chris@0
|
3 namespace Drupal\Tests\contact\Kernel;
|
Chris@0
|
4
|
Chris@0
|
5 use Drupal\KernelTests\Core\Entity\EntityKernelTestBase;
|
Chris@0
|
6
|
Chris@0
|
7 /**
|
Chris@0
|
8 * Tests the message entity class.
|
Chris@0
|
9 *
|
Chris@0
|
10 * @group contact
|
Chris@0
|
11 * @see \Drupal\contact\Entity\Message
|
Chris@0
|
12 */
|
Chris@0
|
13 class MessageEntityTest extends EntityKernelTestBase {
|
Chris@0
|
14
|
Chris@0
|
15 /**
|
Chris@0
|
16 * Modules to enable.
|
Chris@0
|
17 *
|
Chris@0
|
18 * @var array
|
Chris@0
|
19 */
|
Chris@0
|
20 public static $modules = [
|
Chris@0
|
21 'system',
|
Chris@0
|
22 'contact',
|
Chris@0
|
23 'field',
|
Chris@0
|
24 'user',
|
Chris@0
|
25 'contact_test',
|
Chris@0
|
26 ];
|
Chris@0
|
27
|
Chris@0
|
28 protected function setUp() {
|
Chris@0
|
29 parent::setUp();
|
Chris@0
|
30 $this->installConfig(['contact', 'contact_test']);
|
Chris@0
|
31 }
|
Chris@0
|
32
|
Chris@0
|
33 /**
|
Chris@0
|
34 * Test some of the methods.
|
Chris@0
|
35 */
|
Chris@0
|
36 public function testMessageMethods() {
|
Chris@0
|
37 $message_storage = $this->container->get('entity.manager')->getStorage('contact_message');
|
Chris@0
|
38 $message = $message_storage->create(['contact_form' => 'feedback']);
|
Chris@0
|
39
|
Chris@0
|
40 // Check for empty values first.
|
Chris@0
|
41 $this->assertEqual($message->getMessage(), '');
|
Chris@0
|
42 $this->assertEqual($message->getSenderName(), '');
|
Chris@0
|
43 $this->assertEqual($message->getSenderMail(), '');
|
Chris@0
|
44 $this->assertFalse($message->copySender());
|
Chris@0
|
45
|
Chris@0
|
46 // Check for default values.
|
Chris@0
|
47 $this->assertEqual('feedback', $message->getContactForm()->id());
|
Chris@0
|
48 $this->assertFalse($message->isPersonal());
|
Chris@0
|
49
|
Chris@0
|
50 // Set some values and check for them afterwards.
|
Chris@0
|
51 $message->setMessage('welcome_message');
|
Chris@0
|
52 $message->setSenderName('sender_name');
|
Chris@0
|
53 $message->setSenderMail('sender_mail');
|
Chris@0
|
54 $message->setCopySender(TRUE);
|
Chris@0
|
55
|
Chris@0
|
56 $this->assertEqual($message->getMessage(), 'welcome_message');
|
Chris@0
|
57 $this->assertEqual($message->getSenderName(), 'sender_name');
|
Chris@0
|
58 $this->assertEqual($message->getSenderMail(), 'sender_mail');
|
Chris@0
|
59 $this->assertTrue($message->copySender());
|
Chris@0
|
60
|
Chris@0
|
61 $no_access_user = $this->createUser(['uid' => 2]);
|
Chris@0
|
62 $access_user = $this->createUser(['uid' => 3], ['access site-wide contact form']);
|
Chris@0
|
63 $admin = $this->createUser(['uid' => 4], ['administer contact forms']);
|
Chris@0
|
64
|
Chris@0
|
65 $this->assertFalse(\Drupal::entityManager()->getAccessControlHandler('contact_message')->createAccess(NULL, $no_access_user));
|
Chris@0
|
66 $this->assertTrue(\Drupal::entityManager()->getAccessControlHandler('contact_message')->createAccess(NULL, $access_user));
|
Chris@0
|
67 $this->assertTrue($message->access('edit', $admin));
|
Chris@0
|
68 $this->assertFalse($message->access('edit', $access_user));
|
Chris@0
|
69 }
|
Chris@0
|
70
|
Chris@0
|
71 }
|