function UserExpireTestCase::testUserExpire in User Expire 7
File
- ./user_expire.test, line 37
- Tests for User expire module.
Class
- UserExpireTestCase
- @file
Tests for User expire module.
Code
function testUserExpire() {
$this
->assertTrue($this->basic_account->status, t('User account is currently enabled.'));
user_expire_set_expiration($this->basic_account, REQUEST_TIME - 1);
user_expire_expire_users(array(
$this->basic_account,
));
$this
->assertMailString('subject', 'Account expired', 1);
$this
->assertMail('to', $this->basic_account->mail, 'Account expiration notification Mail sent.');
$this
->assertFalse($this->basic_account->status, t('User account has been successfully disabled.'));
$this
->drupalLogin($this->admin_user);
$this
->drupalGet('admin/reports/expiring-users');
$this
->assertNoText('0 sec from now', t('Processed expiration does not show in Expiring users report'));
$edit = array();
$edit['status'] = 1;
$edit['user_expiration'] = 1;
$edit['user_expiration_date[month]'] = 8;
$edit['user_expiration_date[day]'] = 18;
$edit['user_expiration_date[year]'] = 2002;
$this
->drupalPost("user/{$this->basic_account->uid}/edit", $edit, t('Save'));
$this
->assertRaw('type="radio" id="edit-status-1" name="status" value="1" checked="checked" class="form-radio"', t('User account is currently enabled.'));
$this
->assertRaw('expiration date is set to Sun, 08/18/2002 - 00:00.');
$this
->drupalGet('admin/reports/expiring-users');
$this
->assertRaw('0 sec from now', 'Expiration shows in Expiring users report');
$this
->drupalLogout($this->admin_user);
$this
->drupalLogin($this->basic_account);
$edit = array();
$edit['pass[pass1]'] = $new_pass = $this
->randomName();
$edit['pass[pass2]'] = $new_pass;
$edit['current_pass'] = $this->basic_account->pass_raw;
$this
->drupalPost("user/{$this->basic_account->uid}/edit", $edit, t('Save'));
$this
->assertRaw(t("The changes have been saved."));
$this
->drupalLogout($this->basic_account);
$this
->drupalLogin($this->admin_user);
$this
->drupalGet('admin/reports/expiring-users');
$this
->assertRaw('0 sec from now', 'Expiration shows in Expiring users report');
user_expire_cron();
$this
->drupalGet('admin/reports/expiring-users');
$this
->assertNoText('0 sec from now', t('Processed expiration does not show in Expiring users report'));
$this
->drupalGet("user/{$this->basic_account->uid}/edit");
$this
->assertRaw('type="radio" id="edit-status-0" name="status" value="0" checked="checked" class="form-radio"', t('User account is currently disabled.'));
$role_name = 'Rainbows';
$edit = array(
'name' => $role_name,
);
$this
->drupalPost('admin/people/permissions/roles', $edit, t('Add role'));
$this
->assertText(t('The role has been added.'), 'The role has been added.');
$role = user_role_load_by_name($role_name);
$this
->assertTrue(is_object($role), 'The role was successfully retrieved from the database.');
$edit = array();
$edit['status'] = 1;
$edit['user_expiration'] = FALSE;
$edit['roles[' . $role->rid . ']'] = $role->rid;
$this
->drupalPost("user/{$this->basic_account->uid}/edit", $edit, t('Save'));
$this
->assertRaw('type="radio" id="edit-status-1" name="status" value="1" checked="checked" class="form-radio"', t('User account is currently enabled.'));
$this
->drupalGet('admin/reports/expiring-users');
$this
->assertNoText('0 sec from now', t('Processed expiration does not show in Expiring users report'));
db_query('UPDATE {users} SET access = :time WHERE uid = :uid', array(
':time' => REQUEST_TIME - 7776002,
':uid' => $this->basic_account->uid,
));
$edit = array(
'user_expire_' . $role->rid => 7776000,
);
$this
->drupalPost("admin/config/people/user-expire", $edit, t('Save configuration'));
user_expire_expire_by_role();
$this
->drupalGet("user/{$this->basic_account->uid}/edit");
$this
->assertRaw('type="radio" id="edit-status-0" name="status" value="0" checked="checked" class="form-radio"', t('User account is currently disabled.'));
$new_basic_account = $this
->drupalCreateUser();
$edit = array(
'user_expire_' . DRUPAL_AUTHENTICATED_RID => 7776000,
);
$this
->drupalPost("admin/config/people/user-expire", $edit, t('Save configuration'));
user_expire_expire_by_role();
$this
->drupalGet("user/{$new_basic_account->uid}/edit");
$this
->assertRaw('type="radio" id="edit-status-1" name="status" value="1" checked="checked" class="form-radio"', t('New user account stays active.'));
db_query('UPDATE {users} SET created = :time WHERE uid = :uid', array(
':time' => REQUEST_TIME - 7776002,
':uid' => $new_basic_account->uid,
));
user_expire_expire_by_role();
$this
->drupalGet("user/{$new_basic_account->uid}/edit");
$this
->assertRaw('type="radio" id="edit-status-0" name="status" value="0" checked="checked" class="form-radio"', t('User account is currently disabled.'));
}