3 require_once('tests/modules/Trackers/TrackerTestUtility.php');
5 class TrackerCreateDefaultUserTest extends Sugar_PHPUnit_Framework_TestCase {
15 $this->markTestSkipped("Skipping unless otherwise specified");
20 $GLOBALS['current_user'] = $user;
22 TrackerTestUtility::setUp();
23 $_SESSION['reports_getACLAllowedModules'] = null;
24 $this->nonAdminUser = new User();
25 $this->nonAdminUser->first_name = 'non';
26 $this->nonAdminUser->last_name = 'admin';
27 $this->nonAdminUser->user_name = 'nonadmin';
28 $this->nonAdminUserId = $this->nonAdminUser->save();
30 $this->adminUser = new User();
31 $this->adminUser->is_admin = true;
32 $this->adminUser->first_name = 'admin';
33 $this->adminUser->last_name = 'test';
34 $this->adminUser->user_name = 'admintest';
35 $this->adminUserId = $this->adminUser->save();
37 global $beanFiles, $beanList, $moduleList, $modListHeader, $sugar_config;
38 require('config.php');
39 require('include/modules.php');
40 $modListHeader = $moduleList;
44 TrackerTestUtility::tearDown();
45 $GLOBALS['db']->query("DELETE FROM users WHERE id IN ('{$this->adminUser->id}', '{$this->nonAdminUser->id}')");
46 $GLOBALS['db']->query("DELETE FROM team_memberships WHERE user_id IN ('{$this->adminUser->id}', '{$this->nonAdminUser->id}')");
47 $GLOBALS['db']->query("DELETE FROM acl_roles_users WHERE user_id IN ('{$this->adminUser->id}', '{$this->nonAdminUser->id}')");;
51 $GLOBALS['current_user'] = $user;
54 function test_disabled_create_non_admin_user() {
56 $current_user = $this->nonAdminUser;
57 require_once('modules/Reports/SavedReport.php');
58 $allowedModules = getACLAllowedModules();
59 $this->assertTrue(empty($allowedModules['Trackers']));
60 $this->assertTrue(empty($allowedModules['TrackerSessions']));
61 $this->assertTrue(empty($allowedModules['TrackerPerfs']));
62 $this->assertTrue(empty($allowedModules['TrackerQueries']));
65 function test_disabled_create_admin_user() {
67 $current_user = $this->adminUser;
69 require_once('modules/Reports/SavedReport.php');
70 $allowedModules = getACLAllowedModules();
71 $this->assertTrue(!empty($allowedModules['Trackers']));
72 $this->assertTrue(!empty($allowedModules['TrackerSessions']));
73 $this->assertTrue(!empty($allowedModules['TrackerPerfs']));
74 $this->assertTrue(!empty($allowedModules['TrackerQueries']));
78 function test_disabled_non_admin_user_given_tracker_role() {
80 $current_user = $this->nonAdminUser;
81 $result = $GLOBALS['db']->query("SELECT id FROM acl_roles where name='Tracker'");
82 $trackerRoleId = $GLOBALS['db']->fetchByAssoc($result);
83 if(!empty($trackerRoleId['id'])) {
84 require_once('modules/ACLRoles/ACLRole.php');
85 $role1= new ACLRole();
86 $role1->retrieve($trackerRoleId['id']);
87 $role1->set_relationship('acl_roles_users', array('role_id'=>$role1->id ,'user_id'=>$this->nonAdminUserId), false);
90 require_once('modules/Reports/SavedReport.php');
91 $allowedModules = getACLAllowedModules();
92 $this->assertTrue(!empty($allowedModules['Trackers']));
93 $this->assertTrue(!empty($allowedModules['TrackerSessions']));
94 $this->assertTrue(!empty($allowedModules['TrackerPerfs']));
95 $this->assertTrue(!empty($allowedModules['TrackerQueries']));