public function OpenAtriumAccessTestCase::testGroupAdminPage in Open Atrium Core 7.2
File
- modules/
oa_access/ tests/ oa_access.test, line 669 - Functional tests for the Open Atrium Access module.
Class
- OpenAtriumAccessTestCase
- Functional tests for the Open Atrium Access module.
Code
public function testGroupAdminPage() {
// Create an admin user and login.
$account = $this
->oaCreateUser(array(
'administer oa_access permissions',
));
$this
->drupalLogin($account);
$group_a = $this
->oaCreateGroupWithUser(array(
'title' => 'Group A',
), array(
'access content',
));
$group_b = $this
->oaCreateGroupWithUser(array(
'title' => 'Group B',
), array(
'access content',
));
// Configure Group A with both permissions, but Group B only with one.
$this
->drupalGet(OA_ACCESS_GROUP_ADMIN_PATH);
$this
->assertText(t('Used to test Group-only permissions'));
$this
->assertNoText(t('Used to test Team-only permissions'));
$this
->assertText(t('All site users'));
$this
->assertNoText(t('All Space members'));
$this
->assertTrue($this
->hasSelectOption('permissions[oa_access_test][permission with all option for oa_access_test][groups][]', 0));
$this
->assertFalse($this
->hasSelectOption('permissions[oa_access_test][access oa_access_test][groups][]', 0));
$this
->oaPostPermissions(array(
'oa_access_test' => array(
'access oa_access_test' => array(
$group_a['group']->nid,
$group_b['group']->nid,
),
'administer oa_access_test' => array(
$group_a['group']->nid,
),
'group permission for oa_access_test' => array(
$group_a['group']->nid,
),
),
));
// Get permissions via the API and make sure they match.
$group_permissions = array(
$group_a['group']->nid => array(
'oa_access_test' => array(
'access oa_access_test',
'administer oa_access_test',
'group permission for oa_access_test',
),
),
$group_b['group']->nid => array(
'oa_access_test' => array(
'access oa_access_test',
),
),
);
$this
->assertEqual(oa_access_get_group_permissions(array_keys($group_permissions)), $group_permissions);
}