2 require_once 'SugarTestUserUtilities.php';
4 class SugarTestUserUtilitiesTest extends Sugar_PHPUnit_Framework_TestCase
6 private $_before_snapshot = array();
8 public function setUp()
10 $this->_before_snapshot = $this->_takeUserDBSnapshot();
13 public function tearDown()
15 SugarTestUserUtilities::removeAllCreatedAnonymousUsers();
18 public function _takeUserDBSnapshot()
21 $query = 'SELECT * FROM users';
22 $result = $GLOBALS['db']->query($query);
23 while ($row = $GLOBALS['db']->fetchByAssoc($result)) {
30 public function testCanCreateAnAnonymousUser()
32 $user = SugarTestUserUtilities::createAnonymousUser();
34 $this->assertType('User', $user);
36 $after_snapshot = $this->_takeUserDBSnapshot();
37 $this->assertNotEquals($this->_before_snapshot, $after_snapshot,
38 "Simply insure that something was added");
41 public function testAnonymousUserHasARandomUserName()
43 $first_user = SugarTestUserUtilities::createAnonymousUser();
44 $this->assertTrue(!empty($first_user->user_name), 'team name should not be empty');
46 $second_user = SugarTestUserUtilities::createAnonymousUser();
47 $this->assertNotEquals($first_user->user_name, $second_user->user_name,
48 'each user should have a unique name property');
51 public function testCanTearDownAllCreatedAnonymousUsers()
53 for ($i = 0; $i < 5; $i++) {
54 SugarTestUserUtilities::createAnonymousUser();
56 SugarTestUserUtilities::removeAllCreatedAnonymousUsers();
58 $this->assertEquals($this->_before_snapshot, $this->_takeUserDBSnapshot(),
59 'SugarTest_UserUtilities::removeAllCreatedAnonymousUsers() should have removed the users it added');