diff --git a/og.test b/og.test index 4d2d30a..995ea66 100644 --- a/og.test +++ b/og.test @@ -780,13 +780,30 @@ class OgDefaultAccessFieldTestCase extends DrupalWebTestCase { $this->assertNotEqual($og_roles, $new_og_roles, t('Group with default access field enabled has own roles and permissions settings.')); // Assert the newley created admin role was mapped to the default one. - $user_roles = og_get_user_roles('entity_test', $entity->pid, $user1->uid); + $user_roles = og_get_user_roles('entity_test', $entity->pid, $user1->uid, FALSE); $this->assertTrue(array_search(OG_ADMINISTRATOR_ROLE, $user_roles), t('User has overriden "admin" role.')); // Disable existing group's default access field. + variable_set('og_maintain_overridden_roles', TRUE); $wrapper->{OG_DEFAULT_ACCESS_FIELD}->set(0); $wrapper->save(); $this->assertEqual($og_roles, og_roles('entity_test', 'main', $entity->pid), t('Group with enabled default access field that was disabled is assigned to the global roles and permissions settings.')); + + // Assert admin role was maintained from the overriden group. + $user_roles = og_get_user_roles('entity_test', $entity->pid, $user1->uid, FALSE); + $this->assertTrue(array_search(OG_ADMINISTRATOR_ROLE, $user_roles), t('"admin" role maintained from overriden group.')); + + // Override group. + $wrapper->{OG_DEFAULT_ACCESS_FIELD}->set(1); + $wrapper->save(); + + // Assert admin role was not maintained from the overriden group. + variable_set('og_maintain_overridden_roles', FALSE); + $wrapper->{OG_DEFAULT_ACCESS_FIELD}->set(0); + $wrapper->save(); + + $user_roles = og_get_user_roles('entity_test', $entity->pid, $user1->uid, FALSE); + $this->assertFalse(array_search(OG_ADMINISTRATOR_ROLE, $user_roles), t('"admin" role not maintained from overriden group.')); } }