comparison core/modules/contact/tests/src/Kernel/MessageEntityTest.php @ 0:4c8ae668cc8c

Initial import (non-working)
author Chris Cannam
date Wed, 29 Nov 2017 16:09:58 +0000
parents
children
comparison
equal deleted inserted replaced
-1:000000000000 0:4c8ae668cc8c
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 }