public function OpenAtriumAccessTestCase::testTeamAdminPage in Open Atrium Core 7.2
File
- modules/
oa_access/ tests/ oa_access.test, line 705 - Functional tests for the Open Atrium Access module.
Class
- OpenAtriumAccessTestCase
- Functional tests for the Open Atrium Access module.
Code
public function testTeamAdminPage() {
// Create an admin user and login.
$account = $this
->oaCreateUser(array(
'administer oa_access permissions',
));
$this
->drupalLogin($account);
// Create a Space that all our users are going to belong to.
$space1 = $this
->oaCreateNode(array(
'title' => 'Space A',
'type' => 'oa_space',
'uid' => $account->uid,
));
$team_a = $this
->oaCreateTeamWithUser(array(
'title' => 'Team A',
), array(
'access content',
), $space1);
$team_b = $this
->oaCreateTeamWithUser(array(
'title' => 'Team B',
), array(
'access content',
), $space1);
// Configure Team A with both permissions, but Team B only with one.
$parts = explode('/', OA_ACCESS_TEAM_ADMIN_PATH);
$parts[1] = 'node';
$parts[2] = $space1->nid;
$this
->drupalGet(implode('/', $parts));
$this
->assertNoText(t('Used to test Group-only permissions'));
$this
->assertText(t('Used to test Team-only permissions'));
$this
->assertNoText(t('All site users'));
$this
->assertText(t('All Space members'));
$this
->assertTrue($this
->hasSelectOption('permissions[oa_access_test][permission with all option for oa_access_test][groups][]', $space1->nid));
$this
->assertFalse($this
->hasSelectOption('permissions[oa_access_test][access oa_access_test][groups][]', $space1->nid));
$this
->oaPostPermissions(array(
'oa_access_test' => array(
'access oa_access_test' => array(
$team_a['team']->nid,
$team_b['team']->nid,
),
'administer oa_access_test' => array(
$team_a['team']->nid,
),
'team permission for oa_access_test' => array(
$team_a['team']->nid,
),
),
));
// Get permissions via the API and make sure they match.
$group_permissions = array(
$team_a['team']->nid => array(
'oa_access_test' => array(
'access oa_access_test',
'administer oa_access_test',
'team permission for oa_access_test',
),
),
$team_b['team']->nid => array(
'oa_access_test' => array(
'access oa_access_test',
),
),
);
$this
->assertEqual(oa_access_get_group_permissions(array_keys($group_permissions)), $group_permissions);
}