From 8831e89f406a2d3e8e56217dbffa142b88931fea Mon Sep 17 00:00:00 2001 From: Bharat Mediratta Date: Mon, 3 Nov 2008 02:08:07 +0000 Subject: More bootstrap code. * core_installer::install now creates the root album and the albums/thumbnails directories under VARPATH. * Add a test for core_installer --- core/helpers/core_installer.php | 13 ++++++++-- core/tests/Core_Installer_Test.php | 50 ++++++++++++++++++++++++++++++++++++++ core/tests/Item_Test.php | 5 ++++ 3 files changed, 66 insertions(+), 2 deletions(-) create mode 100644 core/tests/Core_Installer_Test.php (limited to 'core') diff --git a/core/helpers/core_installer.php b/core/helpers/core_installer.php index d06820ae..87278661 100644 --- a/core/helpers/core_installer.php +++ b/core/helpers/core_installer.php @@ -21,7 +21,7 @@ class core_installer { public function install() { $db = Database::instance(); try { - $base_version = ORM::factory('module')->where('name', 'core')->find()->version; + $base_version = ORM::factory("module")->where("name", "core")->find()->version; } catch (Exception $e) { if ($e->getMessage() == "Table modules does not exist in your database.") { $base_version = 0; @@ -52,10 +52,19 @@ class core_installer { KEY `parent_id` (`parent_id`), KEY `type` (`type`)) ENGINE=InnoDB DEFAULT CHARSET=utf8;"); - $core = ORM::factory('module')->where('name', 'core')->find(); + + foreach (array("albums", "thumbnails") as $dir) { + @mkdir(VARPATH . $dir); + } + + $core = ORM::factory("module")->where("name", "core")->find(); $core->name = "core"; $core->version = 1; $core->save(); + + $root = ORM::factory("item"); + $root->title = "Gallery"; + $root->make_root(); } } diff --git a/core/tests/Core_Installer_Test.php b/core/tests/Core_Installer_Test.php new file mode 100644 index 00000000..7758f472 --- /dev/null +++ b/core/tests/Core_Installer_Test.php @@ -0,0 +1,50 @@ +assert_true(file_exists(VARPATH . "albums")); + } + + public function install_creates_thumbnails_dir_test() { + $this->assert_true(file_exists(VARPATH . "thumbnails")); + } + + public function install_registers_core_module_test() { + $core = ORM::factory("module")->where("name", "core")->find(); + $this->assert_equal("core", $core->name); + + // This is probably too volatile to keep for long + $this->assert_equal(1, $core->version); + } + + public function install_creates_root_item_test() { + $root = ORM::factory('item')->find(1); + $this->assert_equal("Gallery", $root->title); + $this->assert_equal(1, $root->left); + $this->assert_equal(2, $root->right); + $this->assert_equal(null, $root->parent_id); + $this->assert_equal(1, $root->scope); + } +} diff --git a/core/tests/Item_Test.php b/core/tests/Item_Test.php index f83c60f1..d077932f 100644 --- a/core/tests/Item_Test.php +++ b/core/tests/Item_Test.php @@ -21,4 +21,9 @@ class Item_Test extends Unit_Test_Case { public function create_item_test() { ORM::factory('item'); } + + public function create_root_item_test() { + $root = ORM::factory('item')->find(1); + $this->assert_equal("Gallery", $root->title); + } } -- cgit v1.2.3