function OgAccessTestCase::testOgContentAccessDefault in Organic groups 7
Group with access field and group content with default definition.
File
- og_access/
og_access.test, line 69 - Test organic groups access module.
Class
- OgAccessTestCase
- Test OG access.
Code
function testOgContentAccessDefault() {
$user1 = $this
->drupalCreateUser();
$user2 = $this
->drupalCreateUser();
$this
->drupalLogin($user1);
// Create group and group content node types.
$group_type = $this
->drupalCreateContentType();
og_create_field(OG_GROUP_FIELD, 'node', $group_type->type);
og_create_field(OG_ACCESS_FIELD, 'node', $group_type->type);
$group_content_type = $this
->drupalCreateContentType();
og_create_field(OG_AUDIENCE_FIELD, 'node', $group_content_type->type);
og_create_field(OG_CONTENT_ACCESS_FIELD, 'node', $group_content_type->type);
// Create a group node and enable access.
$settings = array();
$settings['type'] = $group_type->type;
$settings[OG_GROUP_FIELD][LANGUAGE_NONE][0]['value'] = 1;
$settings[OG_ACCESS_FIELD][LANGUAGE_NONE][0]['value'] = 1;
$group_node = $this
->drupalCreateNode($settings);
$group = og_get_group('node', $group_node->nid);
// Create a group content node and set default access.
$settings = array();
$settings['type'] = $group_content_type->type;
$settings[OG_AUDIENCE_FIELD][LANGUAGE_NONE][0]['gid'] = $group->gid;
$settings[OG_CONTENT_ACCESS_FIELD][LANGUAGE_NONE][0]['value'] = OG_CONTENT_ACCESS_DEFAULT;
$group_content_node = $this
->drupalCreateNode($settings);
// Assert the user can view the group.
// Assert the user is a group member.
$this
->assertTrue(og_is_member($group->gid, 'user', $user1), t('User is a group member.'));
$this
->drupalGet('node/' . $group_content_node->nid);
$this
->assertResponse('200', t('Group member can view group node.'));
// Assert another user is not a group member.
$this
->drupalLogin($user2);
$this
->assertFalse(og_is_member($group->gid, 'user', $user2), t('User is not a group member.'));
// Assert non-member can't view the group.
$this
->drupalGet('node/' . $group_content_node->nid);
$this
->assertResponse('403', t('Non group member can not view group node.'));
}