diff options
Diffstat (limited to 'engine/tests')
| -rw-r--r-- | engine/tests/api/annotations.php | 24 | ||||
| -rw-r--r-- | engine/tests/api/metadata.php | 25 | ||||
| -rw-r--r-- | engine/tests/objects/entities.php | 33 | 
3 files changed, 82 insertions, 0 deletions
| diff --git a/engine/tests/api/annotations.php b/engine/tests/api/annotations.php index d7551a0fa..947292970 100644 --- a/engine/tests/api/annotations.php +++ b/engine/tests/api/annotations.php @@ -43,4 +43,28 @@ class ElggCoreAnnotationAPITest extends ElggCoreUnitTest {  		$this->object->delete();  	} + +	public function testElggDeleteAnnotations() { +		$e = new ElggObject(); +		$e->save(); + +		for ($i=0; $i<30; $i++) { +			$e->annotate('test_annotation', rand(0,10000)); +		} + +		$options = array( +			'guid' => $e->getGUID(), +			'limit' => 0 +		); + +		$annotations = elgg_get_annotations($options); +		$this->assertIdentical(30, count($annotations)); + +		$this->assertTrue(elgg_delete_annotations($options)); + +		$annotations = elgg_get_annotations($options); +		$this->assertTrue(empty($annotations)); + +		$this->assertTrue($e->delete()); +	}  } diff --git a/engine/tests/api/metadata.php b/engine/tests/api/metadata.php index f5b615ca8..be8ac269c 100644 --- a/engine/tests/api/metadata.php +++ b/engine/tests/api/metadata.php @@ -99,6 +99,31 @@ class ElggCoreMetadataAPITest extends ElggCoreUnitTest {  		$this->object->delete();  	} +	public function testElggDeleteMetadata() { +		$e = new ElggObject(); +		$e->save(); + +		for ($i=0; $i<30; $i++) { +			$name = "test_metadata" . rand(0, 10000); +			$e->$name = rand(0, 10000); +		} + +		$options = array( +			'guid' => $e->getGUID(), +			'limit' => 0 +		); + +		$md = elgg_get_metadata($options); +		$this->assertIdentical(30, count($md)); + +		$this->assertTrue(elgg_delete_metadata($options)); + +		$md = elgg_get_metadata($options); +		$this->assertTrue(empty($md)); + +		$e->delete(); +	} +  	protected function create_metastring($string) {  		global $CONFIG, $METASTRINGS_CACHE, $METASTRINGS_DEADNAME_CACHE; diff --git a/engine/tests/objects/entities.php b/engine/tests/objects/entities.php index 1772f7c1a..a4dc7946c 100644 --- a/engine/tests/objects/entities.php +++ b/engine/tests/objects/entities.php @@ -226,6 +226,39 @@ class ElggCoreEntityTest extends ElggCoreUnitTest {  		$this->assertTrue($this->entity->delete());  	} +	public function testElggEntityRecursiveDisableAndEnable() { +		global $CONFIG; + +		$this->save_entity(); +		$obj1 = new ElggObject(); +		$obj1->container_guid = $this->entity->getGUID(); +		$obj1->save(); +		$obj2 = new ElggObject(); +		$obj2->container_guid = $this->entity->getGUID(); +		$obj2->save(); + +		// disable $obj2 before disabling the container +		$this->assertTrue($obj2->disable()); + +		// disable entities container by $this->entity +		$this->assertTrue($this->entity->disable()); +		$entity = get_data_row("SELECT * FROM {$CONFIG->dbprefix}entities WHERE guid = '{$obj1->guid}'"); +		$this->assertIdentical($entity->enabled, 'no'); + +		// enable entities that were disabled with the container (but not $obj2) +		$this->assertTrue($this->entity->enable()); +		$entity = get_data_row("SELECT * FROM {$CONFIG->dbprefix}entities WHERE guid = '{$obj1->guid}'"); +		$this->assertIdentical($entity->enabled, 'yes'); +		$entity = get_data_row("SELECT * FROM {$CONFIG->dbprefix}entities WHERE guid = '{$obj2->guid}'"); +		$this->assertIdentical($entity->enabled, 'no'); + +		// cleanup +		$this->assertTrue($obj2->enable()); +		$this->assertTrue($obj2->delete()); +		$this->assertTrue($obj1->delete()); +		$this->assertTrue($this->entity->delete()); +	} +  	public function testElggEntityMetadata() {  		// let's delete a non-existent metadata  		$this->assertFalse($this->entity->deleteMetadata('important')); | 
