public function AgreementCustomUnprivilegedUserTestCase::testAgreementFrequency in Agreement 7.2
Same name and namespace in other branches
- 6.2 agreement.test \AgreementCustomUnprivilegedUserTestCase::testAgreementFrequency()
Tests the agreement frequency setting.
File
- ./
agreement.test, line 332 - Tests for Agreement module.
Class
- AgreementCustomUnprivilegedUserTestCase
- Tests the agreement functionality with custom settings.
Code
public function testAgreementFrequency() {
// A) Agreement required once.
$this->agreement['settings']['visibility_settings'] = 1;
$this->agreement['settings']['visibility_pages'] = '<front>';
agreement_type_save($this->agreement);
$this->agreement = agreement_type_load($this->agreement['name'], FALSE);
$this
->unprivilegedUserLogin();
// Go to front page, open agreement.
$this
->drupalGet('node');
$this
->isAgreementPage($this->agreement);
$this
->submitAgreementFormWithAgreeing($this->unprivilegedUser->uid);
// Log out, log back in, no agreement.
$this
->drupalLogin($this->unprivilegedUser);
$this
->drupalGet('node');
$this
->isNotAgreementPage($this->agreement);
// B) Agreement required on every login.
$this->agreement['settings']['frequency'] = 0;
agreement_type_save($this->agreement);
$this->agreement = agreement_type_load($this->agreement['name'], FALSE);
$this
->drupalLogin($this->unprivilegedUser);
// Go to front page, open agreement.
$this
->drupalGet('node');
$this
->isAgreementPage($this->agreement);
$this
->submitAgreementFormWithAgreeing($this->unprivilegedUser->uid);
// Log out, log back in, open agreement.
$this
->drupalLogin($this->unprivilegedUser);
$this
->drupalGet('node');
$this
->isAgreementPage($this->agreement);
// Change password, no agreement.
$this
->submitAgreementFormWithAgreeing($this->unprivilegedUser->uid);
$this->agreement['settings']['visibility_pages'] = '';
agreement_type_save($this->agreement);
$this->agreement = agreement_type_load($this->agreement['name'], FALSE);
$edit = array(
'current_pass' => $this->unprivilegedUser->pass_raw,
'pass[pass1]' => $pass = $this
->randomString(),
'pass[pass2]' => $pass,
);
$this
->drupalPost('user/' . $this->unprivilegedUser->uid . '/edit', $edit, t('Save'));
$this
->isNotAgreementPage($this->agreement);
$this
->assertText(t('The changes have been saved.'), t('Password was changed'));
}