Create the users table for Migrator tests, and fix paths to the fixtures.
authorChuck Hagenbuch <chuck@horde.org>
Mon, 14 Dec 2009 04:54:47 +0000 (23:54 -0500)
committerChuck Hagenbuch <chuck@horde.org>
Mon, 14 Dec 2009 04:54:47 +0000 (23:54 -0500)
framework/Db/test/Horde/Db/Migration/MigratorTest.php

index 52a6e13..cf41312 100644 (file)
@@ -30,13 +30,77 @@ class Horde_Db_Migration_MigratorTest extends PHPUnit_Framework_TestCase
             'adapter' => 'pdo_sqlite',
             'dbname' => ':memory:',
         ));
+
+        /*
+CREATE TABLE users (
+  id         int(11) auto_increment,
+  company_id int(11),
+  name       varchar(255) default '',
+  first_name varchar(40) default '',
+  approved   tinyint(1) default '1',
+  type       varchar(255) default '',
+  created_at datetime default '0000-00-00 00:00:00',
+  created_on date default '0000-00-00',
+  updated_at datetime default '0000-00-00 00:00:00',
+  updated_on date default '0000-00-00',
+  PRIMARY KEY (id)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8;
+        */
+        $table = $this->_conn->createTable('users');
+          $table->column('company_id',  'integer',  array('limit' => 11));
+          $table->column('name',        'string',   array('limit' => 255, 'default' => ''));
+          $table->column('first_name',  'string',   array('limit' => 40, 'default' => ''));
+          $table->column('approved',    'boolean',  array('default' => true));
+          $table->column('type',        'string',   array('limit' => 255, 'default' => ''));
+          $table->column('created_at',  'datetime', array('default' => '0000-00-00 00:00:00'));
+          $table->column('created_on',  'date',     array('default' => '0000-00-00'));
+          $table->column('updated_at',  'datetime', array('default' => '0000-00-00 00:00:00'));
+          $table->column('updated_on',  'date',     array('default' => '0000-00-00'));
+        $table->end();
+        /*
+mike:
+  id:         1
+  company_id: 1
+  name:       Mike Naberezny
+  first_name: Mike
+  approved:   1
+  type:       User
+  created_at: '2008-01-01 12:20:00'
+  created_on: '2008-01-01'
+  updated_at: '2008-01-01 12:20:00'
+  updated_on: '2008-01-01'
+
+derek:
+  id:         2
+  company_id: 1
+  name:       Derek DeVries
+  first_name: Derek
+  approved:   1
+  type:       User
+  created_at: '<?php echo date("Y-m-d H:i:s", strtotime("-1 day")) ?>'
+  created_on: '<?php echo date("Y-m-d",       strtotime("-1 day")) ?>'
+  updated_at: '<?php echo date("Y-m-d H:i:s", strtotime("-1 day")) ?>'
+  updated_on: '<?php echo date("Y-m-d",       strtotime("-1 day")) ?>'
+
+client:
+  id:         3
+  company_id: 1
+  name:       Extreme
+  first_name: Engineer
+  approved:   1
+  type:       Client
+  created_at: '2008-01-01 12:20:00'
+  created_on: '2008-01-01'
+  updated_at: '2008-01-01 12:20:00'
+  updated_on: '2008-01-01'
+        */
+
         Horde_Db_Migration_Base::$verbose = false;
     }
 
     public function testMigrator()
     {
         $columns = $this->_columnNames('users');
-
         $this->assertFalse(in_array('last_name', $columns));
 
         $e = null;
@@ -45,7 +109,7 @@ class Horde_Db_Migration_MigratorTest extends PHPUnit_Framework_TestCase
         } catch (Exception $e) {}
         $this->assertType('Horde_Db_Exception', $e);
 
-        $dir = dirname(dirname(dirname(dirname(__FILE__)))).'/fixtures/migrations/';
+        $dir = dirname(dirname(__FILE__)).'/fixtures/migrations/';
         $migrator = new Horde_Db_Migration_Migrator($this->_conn, $dir);
         $migrator->up();
         $this->assertEquals(3, $migrator->getCurrentVersion());
@@ -57,7 +121,7 @@ class Horde_Db_Migration_MigratorTest extends PHPUnit_Framework_TestCase
         $reminder = (object)$this->_conn->selectOne('SELECT * FROM reminders');
         $this->assertEquals('hello world', $reminder->content);
 
-        $dir = dirname(dirname(dirname(dirname(__FILE__)))).'/fixtures/migrations/';
+        $dir = dirname(dirname(__FILE__)).'/fixtures/migrations/';
         $migrator = new Horde_Db_Migration_Migrator($this->_conn, $dir);
         $migrator->down();
         $this->assertEquals(0, $migrator->getCurrentVersion());
@@ -80,7 +144,7 @@ class Horde_Db_Migration_MigratorTest extends PHPUnit_Framework_TestCase
         } catch (Exception $e) {}
         $this->assertType('Horde_Db_Exception', $e);
 
-        $dir = dirname(dirname(dirname(dirname(__FILE__)))).'/fixtures/migrations/';
+        $dir = dirname(dirname(__FILE__)).'/fixtures/migrations/';
         $migrator = new Horde_Db_Migration_Migrator($this->_conn, $dir);
         $migrator->up(1);
         $this->assertEquals(1, $migrator->getCurrentVersion());
@@ -104,7 +168,7 @@ class Horde_Db_Migration_MigratorTest extends PHPUnit_Framework_TestCase
 
     public function testOneDown()
     {
-        $dir = dirname(dirname(dirname(dirname(__FILE__)))).'/fixtures/migrations/';
+        $dir = dirname(dirname(__FILE__)).'/fixtures/migrations/';
         $migrator = new Horde_Db_Migration_Migrator($this->_conn, $dir);
 
         $migrator->up();
@@ -116,7 +180,7 @@ class Horde_Db_Migration_MigratorTest extends PHPUnit_Framework_TestCase
 
     public function testOneUpOneDown()
     {
-        $dir = dirname(dirname(dirname(dirname(__FILE__)))).'/fixtures/migrations/';
+        $dir = dirname(dirname(__FILE__)).'/fixtures/migrations/';
         $migrator = new Horde_Db_Migration_Migrator($this->_conn, $dir);
 
         $migrator->up(1);
@@ -128,7 +192,7 @@ class Horde_Db_Migration_MigratorTest extends PHPUnit_Framework_TestCase
 
     public function testMigratorGoingDownDueToVersionTarget()
     {
-        $dir = dirname(dirname(dirname(dirname(__FILE__)))).'/fixtures/migrations/';
+        $dir = dirname(dirname(__FILE__)).'/fixtures/migrations/';
         $migrator = new Horde_Db_Migration_Migrator($this->_conn, $dir);
 
         $migrator->up(1);
@@ -156,7 +220,7 @@ class Horde_Db_Migration_MigratorTest extends PHPUnit_Framework_TestCase
     public function testWithDuplicates()
     {
         try {
-            $dir = dirname(dirname(dirname(dirname(__FILE__)))).'/fixtures/migrations_with_duplicate/';
+            $dir = dirname(dirname(__FILE__)).'/fixtures/migrations_with_duplicate/';
             $migrator = new Horde_Db_Migration_Migrator($this->_conn, $dir);
             $migrator->up();
         } catch (Exception $e) { return; }
@@ -165,7 +229,7 @@ class Horde_Db_Migration_MigratorTest extends PHPUnit_Framework_TestCase
 
     public function testWithMissingVersionNumbers()
     {
-        $dir = dirname(dirname(dirname(dirname(__FILE__)))).'/fixtures/migrations_with_missing_versions/';
+        $dir = dirname(dirname(__FILE__)).'/fixtures/migrations_with_missing_versions/';
         $migrator = new Horde_Db_Migration_Migrator($this->_conn, $dir);
         $migrator->migrate(500);
         $this->assertEquals(4, $migrator->getCurrentVersion());
@@ -188,9 +252,8 @@ class Horde_Db_Migration_MigratorTest extends PHPUnit_Framework_TestCase
     {
         $columns = array();
         foreach ($this->_conn->columns($tableName) as $c) {
-            $columns[] = $c->name;
+            $columns[] = $c->getName();
         }
         return $columns;
     }
-
-}
\ No newline at end of file
+}