View source
<?php
namespace Drupal\support_ticket\Tests;
use Drupal\user\RoleInterface;
class SupportTicketAccessTest extends SupportTicketTestBase {
protected function setUp() {
parent::setUp();
$this
->config('user.role.' . RoleInterface::AUTHENTICATED_ID)
->set('permissions', array())
->save();
}
function testSupportTicketAccess() {
$web_user1 = $this
->drupalCreateUser(array(
'create ticket ticket',
'edit any ticket ticket',
'delete any ticket ticket',
));
$support_ticket1 = $this
->drupalCreateSupportTicket(array(
'type' => 'ticket',
));
$this
->assertSupportTicketCreateAccess($support_ticket1
->bundle(), FALSE, $web_user1);
$this
->assertSupportTicketAccess(array(
'view' => FALSE,
'update' => FALSE,
'delete' => FALSE,
), $support_ticket1, $web_user1);
$web_user3 = $this
->drupalCreateUser(array(
'access support tickets',
));
$support_ticket3 = $this
->drupalCreateSupportTicket(array(
'status' => 0,
'uid' => $web_user3
->id(),
));
$this
->assertSupportTicketAccess(array(
'view' => FALSE,
), $support_ticket3, $web_user3);
$this
->assertSupportTicketCreateAccess($support_ticket3
->bundle(), FALSE, $web_user3);
$web_user4 = $this
->drupalCreateUser(array(
'access support tickets',
'view own unpublished support tickets',
));
$web_user5 = $this
->drupalCreateUser(array(
'access support tickets',
'view own unpublished support tickets',
));
$support_ticket4 = $this
->drupalCreateSupportTicket(array(
'status' => 0,
'uid' => $web_user4
->id(),
));
$this
->assertSupportTicketAccess(array(
'view' => TRUE,
'update' => FALSE,
), $support_ticket4, $web_user4);
$this
->assertSupportTicketAccess(array(
'view' => FALSE,
), $support_ticket4, $web_user5);
$support_ticket5 = $this
->drupalCreateSupportTicket();
$this
->assertSupportTicketAccess(array(
'view' => TRUE,
'update' => FALSE,
'delete' => FALSE,
), $support_ticket5, $web_user3);
$web_user6 = $this
->drupalCreateUser(array(
'access support tickets',
'edit any ticket ticket',
'delete any ticket ticket',
));
$support_ticket6 = $this
->drupalCreateSupportTicket(array(
'type' => 'ticket',
));
$this
->assertSupportTicketAccess(array(
'view' => TRUE,
'update' => TRUE,
'delete' => TRUE,
), $support_ticket6, $web_user6);
$web_user7 = $this
->drupalCreateUser(array(
'access support tickets',
'edit own ticket ticket',
'delete own ticket ticket',
));
$this
->assertSupportTicketAccess(array(
'view' => TRUE,
'update' => FALSE,
'delete' => FALSE,
), $support_ticket6, $web_user7);
$support_ticket7 = $this
->drupalCreateSupportTicket(array(
'type' => 'ticket',
'uid' => $web_user7
->id(),
));
$this
->assertSupportTicketAccess(array(
'view' => TRUE,
'update' => TRUE,
'delete' => TRUE,
), $support_ticket7, $web_user7);
}
}