コード例 #1
0
 public function test_set_methods()
 {
     // Some values can be set in the constructor.
     $userdata = array('name' => 'A new test user', 'username' => 'new_test_user', 'email' => '*****@*****.**');
     $user = new User_entity($userdata);
     // Must be converted to int before sending to DB.
     $user->set_status("2");
     $user->set_password('password');
     $this->assertInternalType('int', $user->status);
     $this->assertEquals('password', $user->password);
     $user->set_roles(array('role1', 'role2'));
     $this->assertEquals(array('role1', 'role2'), $user->roles);
     $user->set_roles(array('role1', 'role2', 'role2'));
     $this->assertEquals(array('role1', 'role2'), $user->roles);
     $user->set_roles('not_a_role');
     $this->assertEmpty($user->roles);
     $user->set_roles(NULL);
     $this->assertEmpty($user->roles);
 }
コード例 #2
0
 /**
  * Setup the base status of the application.
  * These are not fixtures. This is needed data for the app
  * to work.
  */
 public function live_setup()
 {
     if (ENVIRONMENT != 'development') {
         show_error('Not allowed. Only available during development');
     }
     $this->_tear_down();
     // Create needed folders.
     if (!is_dir('files/surveys')) {
         mkdir('files/surveys', 0777, TRUE);
     }
     if (!is_dir('files/survey_results')) {
         mkdir('files/survey_results', 0777, TRUE);
     }
     // Admin user
     $admin = new User_entity(array('email' => '*****@*****.**', 'name' => 'Admin', 'username' => 'admin', 'author' => 0));
     $admin->set_password(hash_password('admin'))->set_status(User_entity::STATUS_ACTIVE)->set_roles(array(ROLE_ADMINISTRATOR));
     $this->user_model->save($admin);
     // Database indexes.
     $this->mongo_db->addIndex('call_tasks', array('ctid' => 'asc'));
     redirect('/login');
 }
コード例 #3
0
$this->user_model->save($user);
////////////////////////////////////////////////
// User 2
$user = new User_entity(array('email' => '*****@*****.**', 'name' => 'Regular user', 'username' => 'regular', 'author' => 1));
$user->set_password(hash_password('regular'))->set_status(User_entity::STATUS_ACTIVE);
$this->user_model->save($user);
////////////////////////////////////////////////
// User 3
$user = new User_entity(array('email' => '*****@*****.**', 'name' => 'The Agent', 'username' => 'agent', 'author' => 1));
$user->set_password(hash_password('agent'))->set_status(User_entity::STATUS_ACTIVE)->set_roles(array(ROLE_CC_AGENT));
$this->user_model->save($user);
////////////////////////////////////////////////
// User 4
$user = new User_entity(array('email' => '*****@*****.**', 'name' => 'The Moderator', 'username' => 'moderator', 'author' => 1));
$user->set_password(hash_password('moderator'))->set_status(User_entity::STATUS_ACTIVE)->set_roles(array(ROLE_MODERATOR));
$this->user_model->save($user);
////////////////////////////////////////////////
// User 5
$user = new User_entity(array('email' => '*****@*****.**', 'name' => 'The Blocked Agent', 'username' => 'blocked', 'author' => 1));
$user->set_password(hash_password('blocked'))->set_status(User_entity::STATUS_BLOCKED)->set_roles(array(ROLE_CC_AGENT));
$this->user_model->save($user);
////////////////////////////////////////////////
// User 6
$user = new User_entity(array('email' => '*****@*****.**', 'name' => 'The Deleted', 'username' => 'deleted', 'author' => 1));
$user->set_password(hash_password('deleted'))->set_status(User_entity::STATUS_DELETED);
$this->user_model->save($user);
////////////////////////////////////////////////
// User 7
$user = new User_entity(array('email' => '*****@*****.**', 'name' => 'The All Roles', 'username' => 'all_roles', 'author' => 1));
$user->set_password(hash_password('all_roles'))->set_status(User_entity::STATUS_ACTIVE)->set_roles(array(ROLE_ADMINISTRATOR, ROLE_MODERATOR, ROLE_CC_AGENT));
$this->user_model->save($user);
コード例 #4
0
 /**
  * @depends test_get_user_by_uid
  */
 public function test_add_user()
 {
     // Some values can be set in the constructor.
     $userdata = array('name' => 'A new test user', 'username' => 'new_test_user', 'email' => '*****@*****.**');
     $user = new User_entity($userdata);
     $user->set_password(hash_password('test_password'))->set_status(User_entity::STATUS_ACTIVE)->set_roles(NULL);
     // Save.
     // We have two test users. This one will be added with uid $user->uid.
     self::$CI->user_model->save($user);
     $saved_user = self::$CI->user_model->get($user->uid);
     $this->assertEquals('A new test user', $saved_user->name);
     $this->assertEquals('new_test_user', $saved_user->username);
     $this->assertEquals('*****@*****.**', $saved_user->email);
     $this->assertEquals(User_entity::STATUS_ACTIVE, $saved_user->status);
     $this->assertInternalType('int', $saved_user->status);
     $this->assertEmpty($saved_user->roles);
 }