]> gitweb.fluxo.info Git - lorea/elgg.git/commitdiff
added a unit test for recursive enabling/disabling
authorcash <cash.costello@gmail.com>
Thu, 5 Jan 2012 01:13:05 +0000 (20:13 -0500)
committercash <cash.costello@gmail.com>
Thu, 5 Jan 2012 01:22:33 +0000 (20:22 -0500)
engine/tests/objects/entities.php

index 1772f7c1adf38f10df945ad2b25d3fcbacbf22ae..a4dc7946c6a842a82a79e9a2016cede639b18266 100644 (file)
@@ -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'));