]> gitweb.fluxo.info Git - lorea/elgg.git/commitdiff
Creating a generic ElggSite unit test.
authornickw <nickw@36083f99-b078-4883-b0ff-0f9b5a30f544>
Tue, 13 Oct 2009 23:09:38 +0000 (23:09 +0000)
committernickw <nickw@36083f99-b078-4883-b0ff-0f9b5a30f544>
Tue, 13 Oct 2009 23:09:38 +0000 (23:09 +0000)
git-svn-id: http://code.elgg.org/elgg/trunk@3534 36083f99-b078-4883-b0ff-0f9b5a30f544

engine/lib/sites.php
engine/tests/objects/sites.php [new file with mode: 0644]

index 14cc2039da9cb196237406568ffd473428758815..e12a745c5de64678ee35763cb17f75392bd5e5ea 100644 (file)
                        if ($CONFIG->site->getGUID() == $this->guid)
                                throw new SecurityException('SecurityException:deletedisablecurrentsite');      
                        
-                       return parent::delete;
+                       return parent::delete();
                }
                
                /**
                }
                
        // Register event handlers
-
-               register_elgg_event_handler('boot','system','sites_init',2);
-
-?>
\ No newline at end of file
+       register_elgg_event_handler('boot','system','sites_init',2);
+       
+       // Register with unit test
+       register_plugin_hook('unit_test', 'system', 'sites_test');
+       function sites_test($hook, $type, $value, $params) {
+               global $CONFIG;
+               $value[] = "{$CONFIG->path}engine/tests/objects/sites.php";
+               return $value;
+       }
diff --git a/engine/tests/objects/sites.php b/engine/tests/objects/sites.php
new file mode 100644 (file)
index 0000000..696ae3d
--- /dev/null
@@ -0,0 +1,75 @@
+<?php
+/**
+ * Elgg Test ElggSite
+ *
+ * @package Elgg
+ * @subpackage Test
+ * @author Curverider Ltd
+ * @link http://elgg.org/
+ */
+class ElggCoreSiteTest extends ElggCoreUnitTest {
+
+       /**
+        * Called before each test object.
+        */
+       public function __construct() {
+               parent::__construct();
+       }
+
+       /**
+        * Called before each test method.
+        */
+       public function setUp() {
+               $this->site = new ElggSiteTest;
+       }
+
+       /**
+        * Called after each test method.
+        */
+       public function tearDown() {
+               $this->swallowErrors();
+               unset($this->site);
+       }
+
+       /**
+        * Called after each test object.
+        */
+       public function __destruct() {
+               parent::__destruct();
+       }
+
+       /**
+        * A basic test that will be called and fail.
+        */
+       public function testElggSiteConstructor() {
+               $attributes = array();
+               $attributes['guid'] = '';
+               $attributes['type'] = 'site';
+               $attributes['subtype'] = '';
+               $attributes['owner_guid'] = get_loggedin_userid();
+               $attributes['container_guid'] = get_loggedin_userid();
+               $attributes['site_guid'] = 0;
+               $attributes['access_id'] = ACCESS_PRIVATE;
+               $attributes['time_created'] = '';
+               $attributes['time_updated'] = '';
+               $attributes['enabled'] = 'yes';
+               $attributes['tables_split'] = 2;
+               $attributes['tables_loaded'] = 0;
+               $attributes['name'] = '';
+               $attributes['description'] = '';
+               $attributes['url'] = '';
+
+               $this->assertIdentical($this->site->expose_attributes(), $attributes);
+       }
+       
+       public function testElggSiteSaveAndDelete() {
+               $this->assertTrue($this->site->save());
+               $this->assertTrue($this->site->delete());
+       }
+}
+
+class ElggSiteTest extends ElggSite {
+       public function expose_attributes() {
+               return $this->attributes;
+       }
+}