public function tearDown() { elgg_unregister_notification_method('test'); $this->user1->delete(); $this->user2->delete(); $this->group->delete(); }
public function testCanEdit() { $user = new \ElggUser(); $user->save(); $id = $this->entity->annotate('test', 'foo', ACCESS_LOGGED_IN, elgg_get_logged_in_user_guid()); $a = elgg_get_annotation_from_id($id); $this->assertTrue($a->canEdit()); $this->assertFalse($a->canEdit($user->guid)); $id = $this->entity->annotate('test', 'foo2', ACCESS_LOGGED_IN, $user->guid); $a = elgg_get_annotation_from_id($id); $this->assertTrue($a->canEdit()); $this->assertTrue($a->canEdit($user->guid)); $user->delete(); }
/** * Called after each test object. */ public function __destruct() { $this->user->delete(); // all __destruct() code should go above here parent::__destruct(); }
public function test_elgg_metadata_multiple_values() { $u1 = new ElggUser(); $u1->username = rand(); $u1->save(); $u2 = new ElggUser(); $u2->username = rand(); $u2->save(); $obj = new ElggObject(); $obj->owner_guid = $u1->guid; $obj->container_guid = $u1->guid; $obj->access_id = ACCESS_PUBLIC; $obj->save(); $md_values = array('one', 'two', 'three'); // need to fake different logins. // good times without mocking. $original_user = elgg_get_logged_in_user_entity(); $_SESSION['user'] = $u1; elgg_set_ignore_access(false); // add metadata as one user $obj->test = $md_values; // check only these md exists $db_prefix = elgg_get_config('dbprefix'); $q = "SELECT * FROM {$db_prefix}metadata WHERE entity_guid = {$obj->guid}"; $data = get_data($q); $this->assertEqual(count($md_values), count($data)); foreach ($data as $md_row) { $md = elgg_get_metadata_from_id($md_row->id); $this->assertTrue(in_array($md->value, $md_values)); $this->assertEqual('test', $md->name); } // add md w/ same name as a different user $_SESSION['user'] = $u2; $md_values2 = array('four', 'five', 'six', 'seven'); $obj->test = $md_values2; $q = "SELECT * FROM {$db_prefix}metadata WHERE entity_guid = {$obj->guid}"; $data = get_data($q); $this->assertEqual(count($md_values2), count($data)); foreach ($data as $md_row) { $md = elgg_get_metadata_from_id($md_row->id); $this->assertTrue(in_array($md->value, $md_values2)); $this->assertEqual('test', $md->name); } $_SESSION['user'] = $original_user; $obj->delete(); $u1->delete(); $u2->delete(); }
public function testCreateWithContainerGuidEqualsZero() { $user = new \ElggUser(); $user->save(); $object = new \ElggObject(); $object->owner_guid = $user->guid; $object->container_guid = 0; // If container_guid attribute is not updated with owner_guid attribute // ElggEntity::getContainerEntity() would return false // thus terminating save() $this->assertTrue($object->save()); $this->assertEqual($user->guid, $object->getContainerGUID()); $user->delete(); }
public function testAccessCaching() { // create a new user to check against $user = new ElggUser(); $user->username = '******'; $user->save(); foreach (array('get_access_list', 'get_access_array') as $func) { $cache = _elgg_get_access_cache(); $cache->clear(); // admin users run tests, so disable access elgg_set_ignore_access(true); $access = $func($user->getGUID()); elgg_set_ignore_access(false); $access2 = $func($user->getGUID()); $this->assertNotEqual($access, $access2, "Access test for {$func}"); } $user->delete(); }
public function testElggRiverDisableEnable() { $user = new \ElggUser(); $user->save(); $entity = new \ElggObject(); $entity->save(); $params = array('view' => 'river/relationship/friend/create', 'action_type' => 'create', 'subject_guid' => $user->guid, 'object_guid' => $entity->guid); $id = elgg_create_river_item($params); $river = elgg_get_river(array('ids' => array($id))); $this->assertIdentical($river[0]->enabled, 'yes'); $user->disable(); // should no longer be able to get the river $river = elgg_get_river(array('ids' => array($id))); $this->assertIdentical($river, array()); // renabling the user should re-enable the river access_show_hidden_entities(true); $user->enable(); access_show_hidden_entities(false); $river = elgg_get_river(array('ids' => array($id))); $this->assertIdentical($river[0]->enabled, 'yes'); $user->delete(); $entity->delete(); }
/** * Make sure entity is loaded from cache during save operations * See #10612 */ public function testNewUserLoadedFromCacheDuringSaveOperations() { $user = new \ElggUser(); // Add temporary metadata, annotation and private settings // to extend the scope of tests and catch issues with save operations $user->test_metadata = 'bar'; $user->annotate('test_annotation', 'baz'); $user->setPrivateSetting('test_setting', 'foo'); $metadata_called = false; $metadata_event_handler = function ($event, $type, $metadata) use(&$metadata_called) { /* @var $metadata \ElggMetadata */ $entity = get_entity($metadata->entity_guid); $this->assertEqual($metadata->entity_guid, $entity->guid); $metadata_called = true; }; $annotation_called = false; $annotation_event_handler = function ($event, $type, $annotation) use(&$annotation_called) { /* @var $metadata \ElggAnnotation */ $entity = get_entity($annotation->entity_guid); $this->assertEqual($annotation->entity_guid, $entity->guid); $annotation_called = true; }; elgg_register_event_handler('create', 'metadata', $metadata_event_handler); elgg_register_event_handler('create', 'annotation', $annotation_event_handler); $user->save(); elgg_unregister_event_handler('create', 'metadata', $metadata_event_handler); elgg_unregister_event_handler('create', 'annotation', $annotation_event_handler); $user->delete(); $this->assertTrue($metadata_called); $this->assertTrue($annotation_called); }
public function testAddMemberToACLRemoveMember() { // create a new user to check against $user = new \ElggUser(); $user->username = '******'; $user->save(); $acl_id = create_access_collection('test acl'); $result = add_user_to_access_collection($user->guid, $acl_id); $this->assertTrue($result); if ($result) { $this->assertTrue($user->delete()); // since there are no more members this should return false $acl_members = get_members_of_access_collection($acl_id, true); $this->assertFalse($acl_members); } delete_access_collection($acl_id); }
/** * Called after each test method. */ public function tearDown() { $this->group->delete(); $this->user->delete(); }
/** * Tests get_entity_statistics() with an owner * @covers get_entity_statistics() */ function test_owned_get_entity_statistics() { $user = new \ElggUser(); $user->save(); $subtype = 'issue7845' . rand(0, 100); $object = new \ElggObject(); $object->subtype = $subtype; $object->owner_guid = $user->guid; $object->save(); $stats = get_entity_statistics($user->guid); $this->assertEqual($stats['object'][$subtype], 1); $user->delete(); }