diff options
author | cash <cash.costello@gmail.com> | 2012-01-04 20:13:05 -0500 |
---|---|---|
committer | cash <cash.costello@gmail.com> | 2012-01-04 20:22:33 -0500 |
commit | 4befaea34c2617e0ae8b246bb42f582af6f100e4 (patch) | |
tree | 65b3a77962c0ab64ed6af4a7a5bf41ad554b3bbf /engine/tests/objects/entities.php | |
parent | a92b300af8103e4168dc2091e2e8505f756cacf6 (diff) | |
download | elgg-4befaea34c2617e0ae8b246bb42f582af6f100e4.tar.gz elgg-4befaea34c2617e0ae8b246bb42f582af6f100e4.tar.bz2 |
added a unit test for recursive enabling/disabling
Diffstat (limited to 'engine/tests/objects/entities.php')
-rw-r--r-- | engine/tests/objects/entities.php | 33 |
1 files changed, 33 insertions, 0 deletions
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')); |