summaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
authorFrédéric Guillot <fred@kanboard.net>2014-09-15 22:35:56 +0200
committerFrédéric Guillot <fred@kanboard.net>2014-09-15 22:35:56 +0200
commite1ddf7f0127e9745f94e5ff9f76ea828e9058720 (patch)
tree46ae9b2397162cff54813dd840c340e85aaf53fe /tests
parent5f962bf4cd7ef69f2a0873cbebdce83d35b086a5 (diff)
Run unit tests across different database backends + fix bugs
Diffstat (limited to 'tests')
-rw-r--r--tests/functionals.mysql.xml16
-rw-r--r--tests/functionals.postgres.xml16
-rw-r--r--tests/functionals.sqlite.xml13
-rw-r--r--tests/functionals/ApiTest.php99
-rw-r--r--tests/units.mysql.xml11
-rw-r--r--tests/units.postgres.xml12
-rw-r--r--tests/units.sqlite.xml11
-rw-r--r--tests/units/ActionTest.php30
-rw-r--r--tests/units/Base.php100
-rw-r--r--tests/units/TaskHistoryTest.php4
-rw-r--r--tests/units/TaskTest.php37
11 files changed, 213 insertions, 136 deletions
diff --git a/tests/functionals.mysql.xml b/tests/functionals.mysql.xml
new file mode 100644
index 00000000..f667cafa
--- /dev/null
+++ b/tests/functionals.mysql.xml
@@ -0,0 +1,16 @@
+<phpunit>
+ <testsuites>
+ <testsuite name="Kanboard">
+ <directory>functionals</directory>
+ </testsuite>
+ </testsuites>
+ <php>
+ <const name="API_URL" value="http://localhost:8000/jsonrpc.php" />
+ <const name="API_KEY" value="19ffd9709d03ce50675c3a43d1c49c1ac207f4bc45f06c5b2701fbdf8929" />
+ <const name="DB_DRIVER" value="mysql" />
+ <const name="DB_NAME" value="kanboard" />
+ <const name="DB_HOSTNAME" value="localhost" />
+ <const name="DB_USERNAME" value="root" />
+ <const name="DB_PASSWORD" value="" />
+ </php>
+</phpunit> \ No newline at end of file
diff --git a/tests/functionals.postgres.xml b/tests/functionals.postgres.xml
new file mode 100644
index 00000000..38904d1a
--- /dev/null
+++ b/tests/functionals.postgres.xml
@@ -0,0 +1,16 @@
+<phpunit>
+ <testsuites>
+ <testsuite name="Kanboard">
+ <directory>functionals</directory>
+ </testsuite>
+ </testsuites>
+ <php>
+ <const name="API_URL" value="http://localhost:8000/jsonrpc.php" />
+ <const name="API_KEY" value="19ffd9709d03ce50675c3a43d1c49c1ac207f4bc45f06c5b2701fbdf8929" />
+ <const name="DB_DRIVER" value="postgres" />
+ <const name="DB_NAME" value="kanboard" />
+ <const name="DB_HOSTNAME" value="localhost" />
+ <const name="DB_USERNAME" value="postgres" />
+ <const name="DB_PASSWORD" value="postgres" />
+ </php>
+</phpunit> \ No newline at end of file
diff --git a/tests/functionals.sqlite.xml b/tests/functionals.sqlite.xml
new file mode 100644
index 00000000..bf5d4117
--- /dev/null
+++ b/tests/functionals.sqlite.xml
@@ -0,0 +1,13 @@
+<phpunit>
+ <testsuites>
+ <testsuite name="Kanboard">
+ <directory>functionals</directory>
+ </testsuite>
+ </testsuites>
+ <php>
+ <const name="API_URL" value="http://localhost:8000/jsonrpc.php" />
+ <const name="API_KEY" value="19ffd9709d03ce50675c3a43d1c49c1ac207f4bc45f06c5b2701fbdf8929" />
+ <const name="DB_DRIVER" value="sqlite" />
+ <const name="DB_FILENAME" value="data/db.sqlite" />
+ </php>
+</phpunit> \ No newline at end of file
diff --git a/tests/functionals/ApiTest.php b/tests/functionals/ApiTest.php
index 9a03c891..0960eba7 100644
--- a/tests/functionals/ApiTest.php
+++ b/tests/functionals/ApiTest.php
@@ -1,21 +1,52 @@
<?php
+require_once __DIR__.'/../../vendor/PicoDb/Database.php';
require_once __DIR__.'/../../vendor/JsonRPC/Client.php';
+require_once __DIR__.'/../../app/Core/Security.php';
+require_once __DIR__.'/../../app/functions.php';
class Api extends PHPUnit_Framework_TestCase
{
- const URL = 'http://localhost:8000/jsonrpc.php';
- const KEY = '19ffd9709d03ce50675c3a43d1c49c1ac207f4bc45f06c5b2701fbdf8929';
-
private $client;
+ public static function setUpBeforeClass()
+ {
+ if (DB_DRIVER === 'sqlite') {
+ @unlink(DB_FILENAME);
+ $pdo = new PDO('sqlite:'.DB_FILENAME);
+ }
+ else if (DB_DRIVER === 'mysql') {
+ $pdo = new PDO('mysql:host='.DB_HOSTNAME, DB_USERNAME, DB_PASSWORD);
+ $pdo->exec('DROP DATABASE '.DB_NAME);
+ $pdo->exec('CREATE DATABASE '.DB_NAME);
+ $pdo = new PDO('mysql:host='.DB_HOSTNAME.';dbname='.DB_NAME, DB_USERNAME, DB_PASSWORD);
+ }
+ else if (DB_DRIVER === 'postgres') {
+ $pdo = new PDO('pgsql:host='.DB_HOSTNAME, DB_USERNAME, DB_PASSWORD);
+ $pdo->exec('DROP DATABASE '.DB_NAME);
+ $pdo->exec('CREATE DATABASE '.DB_NAME.' WITH OWNER '.DB_USERNAME);
+ $pdo = new PDO('pgsql:host='.DB_HOSTNAME.';dbname='.DB_NAME, DB_USERNAME, DB_PASSWORD);
+ }
+
+ setup_db();
+
+ $pdo->exec("UPDATE config SET api_token='".API_KEY."'");
+ $pdo = null;
+ }
+
public function setUp()
{
- $this->client = new JsonRPC\Client(self::URL);
- $this->client->authentication('jsonrpc', self::KEY);
+ $this->client = new JsonRPC\Client(API_URL);
+ $this->client->authentication('jsonrpc', API_KEY);
+ }
+
+ private function getTaskId()
+ {
+ $tasks = $this->client->getAllTasks(1, 1);
+ $this->assertNotEmpty($tasks);
+ $this->assertEquals(1, count($tasks));
- $pdo = new PDO('sqlite:data/db.sqlite');
- $pdo->exec('UPDATE config SET api_token="'.self::KEY.'"');
+ return $tasks[0]['id'];
}
public function testRemoveAll()
@@ -154,13 +185,13 @@ class Api extends PHPUnit_Framework_TestCase
public function testGetAllTasks()
{
- $tasks = $this->client->getAllTasks(1, array(1));
+ $tasks = $this->client->getAllTasks(1, 1);
$this->assertNotFalse($tasks);
$this->assertTrue(is_array($tasks));
$this->assertEquals('Task #1', $tasks[0]['title']);
- $tasks = $this->client->getAllTasks(2, array(1, 2));
+ $tasks = $this->client->getAllTasks(2, 0);
$this->assertNotFalse($tasks);
$this->assertTrue(is_array($tasks));
@@ -228,10 +259,10 @@ class Api extends PHPUnit_Framework_TestCase
public function testUpdateUser()
{
- $user = $this->client->getUser(2);
+ $user = array();
+ $user['id'] = 2;
$user['username'] = 'titi';
$user['name'] = 'Titi';
- unset($user['password']);
$this->assertTrue($this->client->updateUser($user));
@@ -280,8 +311,12 @@ class Api extends PHPUnit_Framework_TestCase
$this->assertTrue($this->client->execute('createTask', $task));
+ $tasks = $this->client->getAllTasks(1, 1);
+ $this->assertNotEmpty($tasks);
+ $this->assertEquals(1, count($tasks));
+
$comment = array(
- 'task_id' => 1,
+ 'task_id' => $tasks[0]['id'],
'user_id' => 2,
'comment' => 'boo',
);
@@ -294,7 +329,6 @@ class Api extends PHPUnit_Framework_TestCase
$comment = $this->client->getComment(1);
$this->assertNotFalse($comment);
$this->assertNotEmpty($comment);
- $this->assertEquals(1, $comment['task_id']);
$this->assertEquals(2, $comment['user_id']);
$this->assertEquals('boo', $comment['comment']);
}
@@ -312,15 +346,17 @@ class Api extends PHPUnit_Framework_TestCase
public function testGetAllComments()
{
+ $task_id = $this->getTaskId();
+
$comment = array(
- 'task_id' => 1,
+ 'task_id' => $task_id,
'user_id' => 1,
'comment' => 'blabla',
);
$this->assertTrue($this->client->createComment($comment));
- $comments = $this->client->getAllComments(1);
+ $comments = $this->client->getAllComments($task_id);
$this->assertNotFalse($comments);
$this->assertNotEmpty($comments);
$this->assertTrue(is_array($comments));
@@ -329,9 +365,10 @@ class Api extends PHPUnit_Framework_TestCase
public function testRemoveComment()
{
- $this->assertTrue($this->client->removeComment(1));
+ $task_id = $this->getTaskId();
+ $this->assertTrue($this->client->removeComment($task_id));
- $comments = $this->client->getAllComments(1);
+ $comments = $this->client->getAllComments($task_id);
$this->assertNotFalse($comments);
$this->assertNotEmpty($comments);
$this->assertTrue(is_array($comments));
@@ -341,7 +378,7 @@ class Api extends PHPUnit_Framework_TestCase
public function testCreateSubtask()
{
$subtask = array(
- 'task_id' => 1,
+ 'task_id' => $this->getTaskId(),
'title' => 'subtask #1',
);
@@ -353,7 +390,7 @@ class Api extends PHPUnit_Framework_TestCase
$subtask = $this->client->getSubtask(1);
$this->assertNotFalse($subtask);
$this->assertNotEmpty($subtask);
- $this->assertEquals(1, $subtask['task_id']);
+ $this->assertEquals($this->getTaskId(), $subtask['task_id']);
$this->assertEquals(0, $subtask['user_id']);
$this->assertEquals('subtask #1', $subtask['title']);
}
@@ -362,7 +399,7 @@ class Api extends PHPUnit_Framework_TestCase
{
$subtask = array();
$subtask['id'] = 1;
- $subtask['task_id'] = 1;
+ $subtask['task_id'] = $this->getTaskId();
$subtask['title'] = 'test';
$this->assertTrue($this->client->execute('updateSubtask', $subtask));
@@ -374,14 +411,14 @@ class Api extends PHPUnit_Framework_TestCase
public function testGetAllSubtasks()
{
$subtask = array(
- 'task_id' => 1,
+ 'task_id' => $this->getTaskId(),
'user_id' => 2,
'title' => 'Subtask #2',
);
$this->assertTrue($this->client->execute('createSubtask', $subtask));
- $subtasks = $this->client->getAllSubtasks(1);
+ $subtasks = $this->client->getAllSubtasks($this->getTaskId());
$this->assertNotFalse($subtasks);
$this->assertNotEmpty($subtasks);
$this->assertTrue(is_array($subtasks));
@@ -392,7 +429,7 @@ class Api extends PHPUnit_Framework_TestCase
{
$this->assertTrue($this->client->removeSubtask(1));
- $subtasks = $this->client->getAllSubtasks(1);
+ $subtasks = $this->client->getAllSubtasks($this->getTaskId());
$this->assertNotFalse($subtasks);
$this->assertNotEmpty($subtasks);
$this->assertTrue(is_array($subtasks));
@@ -401,20 +438,10 @@ class Api extends PHPUnit_Framework_TestCase
public function testMoveTaskPosition()
{
- $task = array(
- 'title' => 'Task to move',
- 'color_id' => 'blue',
- 'owner_id' => 1,
- 'project_id' => 1,
- 'column_id' => 1,
- );
-
- $this->assertTrue($this->client->execute('createTask', $task));
-
- $this->assertTrue($this->client->moveTaskPosition(1, 1, 3, 1));
-
- $task = $this->client->getTask(1);
+ $task_id = $this->getTaskId();
+ $this->assertTrue($this->client->moveTaskPosition(1, $task_id, 3, 1));
+ $task = $this->client->getTask($task_id);
$this->assertNotFalse($task);
$this->assertTrue(is_array($task));
$this->assertEquals(1, $task['position']);
diff --git a/tests/units.mysql.xml b/tests/units.mysql.xml
new file mode 100644
index 00000000..0e308a05
--- /dev/null
+++ b/tests/units.mysql.xml
@@ -0,0 +1,11 @@
+<phpunit>
+ <testsuites>
+ <testsuite name="Kanboard">
+ <directory>units</directory>
+ </testsuite>
+ </testsuites>
+ <php>
+ <const name="DB_DRIVER" value="mysql" />
+ <const name="DB_NAME" value="kanboard_unit_test" />
+ </php>
+</phpunit> \ No newline at end of file
diff --git a/tests/units.postgres.xml b/tests/units.postgres.xml
new file mode 100644
index 00000000..0583c7f8
--- /dev/null
+++ b/tests/units.postgres.xml
@@ -0,0 +1,12 @@
+<phpunit>
+ <testsuites>
+ <testsuite name="Kanboard">
+ <directory>units</directory>
+ </testsuite>
+ </testsuites>
+ <php>
+ <const name="DB_DRIVER" value="postgres" />
+ <const name="DB_USERNAME" value="postgres" />
+ <const name="DB_NAME" value="kanboard_unit_test" />
+ </php>
+</phpunit> \ No newline at end of file
diff --git a/tests/units.sqlite.xml b/tests/units.sqlite.xml
new file mode 100644
index 00000000..9771a2a2
--- /dev/null
+++ b/tests/units.sqlite.xml
@@ -0,0 +1,11 @@
+<phpunit>
+ <testsuites>
+ <testsuite name="Kanboard">
+ <directory>units</directory>
+ </testsuite>
+ </testsuites>
+ <php>
+ <const name="DB_DRIVER" value="sqlite" />
+ <const name="DB_FILENAME" value=":memory:" />
+ </php>
+</phpunit> \ No newline at end of file
diff --git a/tests/units/ActionTest.php b/tests/units/ActionTest.php
index b07af992..23148c44 100644
--- a/tests/units/ActionTest.php
+++ b/tests/units/ActionTest.php
@@ -9,7 +9,7 @@ use Model\Task;
use Model\Category;
class ActionTest extends Base
-{/*
+{
public function testFetchActions()
{
$action = new Action($this->registry);
@@ -86,15 +86,15 @@ class ActionTest extends Base
// We move our task
$task->movePosition(1, 1, 4, 1);
- $this->assertTrue($this->registry->event->isEventTriggered(Task::EVENT_MOVE_COLUMN));
- $this->assertTrue($this->registry->event->isEventTriggered(Task::EVENT_UPDATE));
+ $this->assertTrue($this->registry->shared('event')->isEventTriggered(Task::EVENT_MOVE_COLUMN));
+ $this->assertFalse($this->registry->shared('event')->isEventTriggered(Task::EVENT_UPDATE));
// Our task should be closed
$t1 = $task->getById(1);
$this->assertEquals(4, $t1['column_id']);
$this->assertEquals(0, $t1['is_active']);
}
-*/
+
public function testEventMovePosition()
{
$task = new Task($this->registry);
@@ -138,7 +138,7 @@ class ActionTest extends Base
// We bind events
$action->attachEvents();
- $this->assertTrue($this->registry->event->hasListener(Task::EVENT_MOVE_POSITION, 'Action\TaskAssignColorCategory'));
+ $this->assertTrue($this->registry->shared('event')->hasListener(Task::EVENT_MOVE_POSITION, 'Action\TaskAssignColorCategory'));
// Our task should have the color red and position=1
$t1 = $task->getById(1);
@@ -153,7 +153,7 @@ class ActionTest extends Base
// We move our tasks
$this->assertTrue($task->movePosition(1, 1, 1, 10)); // task #1 to the end of the column
- $this->assertTrue($this->registry->event->isEventTriggered(Task::EVENT_MOVE_POSITION));
+ $this->assertTrue($this->registry->shared('event')->isEventTriggered(Task::EVENT_MOVE_POSITION));
$t1 = $task->getById(1);
$this->assertEquals(2, $t1['position']);
@@ -165,10 +165,10 @@ class ActionTest extends Base
$this->assertEquals(1, $t1['is_active']);
$this->assertEquals('yellow', $t1['color_id']);
- $this->registry->event->clearTriggeredEvents();
+ $this->registry->shared('event')->clearTriggeredEvents();
$this->assertTrue($task->movePosition(1, 2, 1, 44)); // task #2 to position 1
- $this->assertTrue($this->registry->event->isEventTriggered(Task::EVENT_MOVE_POSITION));
- $this->assertEquals('Action\TaskAssignColorCategory', $this->registry->event->getLastListenerExecuted());
+ $this->assertTrue($this->registry->shared('event')->isEventTriggered(Task::EVENT_MOVE_POSITION));
+ $this->assertEquals('Action\TaskAssignColorCategory', $this->registry->shared('event')->getLastListenerExecuted());
$t1 = $task->getById(1);
$this->assertEquals(1, $t1['position']);
@@ -180,7 +180,7 @@ class ActionTest extends Base
$this->assertEquals(1, $t1['is_active']);
$this->assertEquals('green', $t1['color_id']);
}
-/*
+
public function testExecuteMultipleActions()
{
$task = new Task($this->registry);
@@ -225,8 +225,8 @@ class ActionTest extends Base
$action->attachEvents();
// Events should be attached
- $this->assertTrue($this->registry->event->hasListener(Task::EVENT_CLOSE, 'Action\TaskDuplicateAnotherProject'));
- $this->assertTrue($this->registry->event->hasListener(Task::EVENT_MOVE_COLUMN, 'Action\TaskClose'));
+ $this->assertTrue($this->registry->shared('event')->hasListener(Task::EVENT_CLOSE, 'Action\TaskDuplicateAnotherProject'));
+ $this->assertTrue($this->registry->shared('event')->hasListener(Task::EVENT_MOVE_COLUMN, 'Action\TaskClose'));
// Our task should be open, linked to the first project and in the first column
$t1 = $task->getById(1);
@@ -237,8 +237,8 @@ class ActionTest extends Base
// We move our task
$task->movePosition(1, 1, 4, 1);
- $this->assertTrue($this->registry->event->isEventTriggered(Task::EVENT_CLOSE));
- $this->assertTrue($this->registry->event->isEventTriggered(Task::EVENT_MOVE_COLUMN));
+ $this->assertTrue($this->registry->shared('event')->isEventTriggered(Task::EVENT_CLOSE));
+ $this->assertTrue($this->registry->shared('event')->isEventTriggered(Task::EVENT_MOVE_COLUMN));
// Our task should be closed
$t1 = $task->getById(1);
@@ -252,5 +252,5 @@ class ActionTest extends Base
$this->assertEquals(1, $t2['is_active']);
$this->assertEquals(2, $t2['project_id']);
$this->assertEquals('unit_test', $t2['title']);
- }*/
+ }
}
diff --git a/tests/units/Base.php b/tests/units/Base.php
index cea9764c..3a46a4ae 100644
--- a/tests/units/Base.php
+++ b/tests/units/Base.php
@@ -1,86 +1,48 @@
<?php
+require __DIR__.'/../../app/Core/Loader.php';
+require __DIR__.'/../../app/helpers.php';
+require __DIR__.'/../../app/functions.php';
+require __DIR__.'/../../app/constants.php';
+
+use Core\Loader;
+use Core\Registry;
+
if (version_compare(PHP_VERSION, '5.5.0', '<')) {
require __DIR__.'/../../vendor/password.php';
}
-require __DIR__.'/../../vendor/SimpleValidator/Validator.php';
-require __DIR__.'/../../vendor/SimpleValidator/Base.php';
-require __DIR__.'/../../vendor/SimpleValidator/Validators/Required.php';
-require __DIR__.'/../../vendor/SimpleValidator/Validators/Unique.php';
-require __DIR__.'/../../vendor/SimpleValidator/Validators/MaxLength.php';
-require __DIR__.'/../../vendor/SimpleValidator/Validators/MinLength.php';
-require __DIR__.'/../../vendor/SimpleValidator/Validators/Integer.php';
-require __DIR__.'/../../vendor/SimpleValidator/Validators/Equals.php';
-require __DIR__.'/../../vendor/SimpleValidator/Validators/AlphaNumeric.php';
-require __DIR__.'/../../vendor/SimpleValidator/Validators/GreaterThan.php';
-require __DIR__.'/../../vendor/SimpleValidator/Validators/Date.php';
-require __DIR__.'/../../vendor/SimpleValidator/Validators/Email.php';
-require __DIR__.'/../../vendor/SimpleValidator/Validators/Numeric.php';
-
-require_once __DIR__.'/../../app/Core/Security.php';
-
-require_once __DIR__.'/../../vendor/PicoDb/Database.php';
-require_once __DIR__.'/../../app/Schema/Sqlite.php';
-
-require_once __DIR__.'/../../app/Core/Registry.php';
-require_once __DIR__.'/../../app/Core/Tool.php';
-require_once __DIR__.'/../../app/Core/Listener.php';
-require_once __DIR__.'/../../app/Core/Event.php';
-require_once __DIR__.'/../../app/Core/Translator.php';
-require_once __DIR__.'/../../app/Core/Template.php';
-require_once __DIR__.'/../../app/translator.php';
-require_once __DIR__.'/../../app/helpers.php';
-
-require_once __DIR__.'/../../app/Model/Base.php';
-require_once __DIR__.'/../../app/Model/Config.php';
-require_once __DIR__.'/../../app/Model/Task.php';
-require_once __DIR__.'/../../app/Model/Acl.php';
-require_once __DIR__.'/../../app/Model/Comment.php';
-require_once __DIR__.'/../../app/Model/Project.php';
-require_once __DIR__.'/../../app/Model/User.php';
-require_once __DIR__.'/../../app/Model/Board.php';
-require_once __DIR__.'/../../app/Model/Action.php';
-require_once __DIR__.'/../../app/Model/Category.php';
-require_once __DIR__.'/../../app/Model/SubTask.php';
-require_once __DIR__.'/../../app/Model/File.php';
-require_once __DIR__.'/../../app/Model/BaseHistory.php';
-require_once __DIR__.'/../../app/Model/TaskHistory.php';
-require_once __DIR__.'/../../app/Model/SubtaskHistory.php';
-require_once __DIR__.'/../../app/Model/CommentHistory.php';
+date_default_timezone_set('UTC');
-require_once __DIR__.'/../../app/Action/Base.php';
-require_once __DIR__.'/../../app/Action/TaskClose.php';
-require_once __DIR__.'/../../app/Action/TaskAssignSpecificUser.php';
-require_once __DIR__.'/../../app/Action/TaskAssignColorUser.php';
-require_once __DIR__.'/../../app/Action/TaskAssignColorCategory.php';
-require_once __DIR__.'/../../app/Action/TaskAssignCurrentUser.php';
-require_once __DIR__.'/../../app/Action/TaskDuplicateAnotherProject.php';
-require_once __DIR__.'/../../app/Action/TaskMoveAnotherProject.php';
+$loader = new Loader;
+$loader->setPath('app');
+$loader->setPath('vendor');
+$loader->execute();
abstract class Base extends PHPUnit_Framework_TestCase
{
public function setUp()
{
- date_default_timezone_set('UTC');
-
- $this->registry = new \Core\Registry;
- $this->registry->db = $this->getDbConnection();
- $this->registry->event = new \Core\Event;
+ $this->registry = new Registry;
+ $this->registry->db = function() { return setup_db(); };
+ $this->registry->event = function() { return setup_events(); };
+
+ if (DB_DRIVER === 'mysql') {
+ $pdo = new PDO('mysql:host='.DB_HOSTNAME, DB_USERNAME, DB_PASSWORD);
+ $pdo->exec('DROP DATABASE '.DB_NAME);
+ $pdo->exec('CREATE DATABASE '.DB_NAME);
+ $pdo = null;
+ }
+ else if (DB_DRIVER === 'postgres') {
+ $pdo = new PDO('pgsql:host='.DB_HOSTNAME, DB_USERNAME, DB_PASSWORD);
+ $pdo->exec('DROP DATABASE '.DB_NAME);
+ $pdo->exec('CREATE DATABASE '.DB_NAME.' WITH OWNER '.DB_USERNAME);
+ $pdo = null;
+ }
}
- public function getDbConnection()
+ public function tearDown()
{
- $db = new \PicoDb\Database(array(
- 'driver' => 'sqlite',
- 'filename' => ':memory:'
- ));
-
- if ($db->schema()->check(\Schema\VERSION)) {
- return $db;
- }
- else {
- die('Unable to migrate database schema!');
- }
+ $this->registry->shared('db')->closeConnection();
}
}
diff --git a/tests/units/TaskHistoryTest.php b/tests/units/TaskHistoryTest.php
index 0d24be58..085162ea 100644
--- a/tests/units/TaskHistoryTest.php
+++ b/tests/units/TaskHistoryTest.php
@@ -73,7 +73,7 @@ class TaskHistoryTest extends Base
$this->assertTrue($e->create(1, 1, 1, Task::EVENT_CLOSE));
}
- $this->assertEquals($nb_events, $this->registry->db->table('task_has_events')->count());
+ $this->assertEquals($nb_events, $this->registry->shared('db')->table('task_has_events')->count());
$e->cleanup($max);
$events = $e->getAllByProjectId(1);
@@ -93,6 +93,6 @@ class TaskHistoryTest extends Base
$this->assertTrue($e->create(1, 1, 1, Task::EVENT_CLOSE));
}
- $this->assertEquals(TaskHistory::MAX_EVENTS, $this->registry->db->table('task_has_events')->count());
+ $this->assertEquals(TaskHistory::MAX_EVENTS, $this->registry->shared('db')->table('task_has_events')->count());
}
}
diff --git a/tests/units/TaskTest.php b/tests/units/TaskTest.php
index c9468efd..b876f7e4 100644
--- a/tests/units/TaskTest.php
+++ b/tests/units/TaskTest.php
@@ -33,6 +33,15 @@ class TaskTest extends Base
$this->assertEquals(2, $task['position']);
$this->assertEquals(time(), $task['date_creation']);
$this->assertEquals(time(), $task['date_modification']);
+
+ $tasks = $t->getAll(1, 1);
+ $this->assertNotEmpty($tasks);
+ $this->assertTrue(is_array($tasks));
+ $this->assertEquals(1, $tasks[0]['id']);
+ $this->assertEquals(2, $tasks[1]['id']);
+
+ $tasks = $t->getAll(1, 0);
+ $this->assertEmpty($tasks);
}
public function testRemove()
@@ -53,11 +62,11 @@ class TaskTest extends Base
$p = new Project($this->registry);
$this->assertEquals(1, $p->create(array('name' => 'Project #1')));
- $this->assertEquals(1, $this->registry->db->table('tasks')->insert(array('title' => 'A', 'column_id' => 1, 'project_id' => 1, 'position' => 1)));
+ $this->assertEquals(1, $this->registry->shared('db')->table('tasks')->insert(array('title' => 'A', 'column_id' => 1, 'project_id' => 1, 'position' => 1)));
// Both tasks have the same position
- $this->assertEquals(2, $this->registry->db->table('tasks')->insert(array('title' => 'B', 'column_id' => 2, 'project_id' => 1, 'position' => 1)));
- $this->assertEquals(3, $this->registry->db->table('tasks')->insert(array('title' => 'C', 'column_id' => 2, 'project_id' => 1, 'position' => 1)));
+ $this->assertEquals(2, $this->registry->shared('db')->table('tasks')->insert(array('title' => 'B', 'column_id' => 2, 'project_id' => 1, 'position' => 1)));
+ $this->assertEquals(3, $this->registry->shared('db')->table('tasks')->insert(array('title' => 'C', 'column_id' => 2, 'project_id' => 1, 'position' => 1)));
// Move the first column to the last position of the 2nd column
$this->assertTrue($t->movePosition(1, 1, 2, 3));
@@ -451,7 +460,7 @@ class TaskTest extends Base
// We duplicate our task
$this->assertEquals(2, $t->duplicateSameProject($task));
- $this->assertTrue($this->registry->event->isEventTriggered(Task::EVENT_CREATE));
+ $this->assertTrue($this->registry->shared('event')->isEventTriggered(Task::EVENT_CREATE));
// Check the values of the duplicated task
$task = $t->getById(2);
@@ -483,7 +492,7 @@ class TaskTest extends Base
// We duplicate our task to the 2nd project
$this->assertEquals(2, $t->duplicateToAnotherProject(2, $task));
- $this->assertTrue($this->registry->event->isEventTriggered(Task::EVENT_CREATE));
+ $this->assertTrue($this->registry->shared('event')->isEventTriggered(Task::EVENT_CREATE));
// Check the values of the duplicated task
$task = $t->getById(2);
@@ -517,7 +526,7 @@ class TaskTest extends Base
// We duplicate our task to the 2nd project
$task = $t->getById(1);
$this->assertEquals(1, $t->moveToAnotherProject(2, $task));
- //$this->assertTrue($this->registry->event->isEventTriggered(Task::EVENT_CREATE));
+ //$this->assertTrue($this->registry->shared('event')->isEventTriggered(Task::EVENT_CREATE));
// Check the values of the duplicated task
$task = $t->getById(1);
@@ -551,32 +560,32 @@ class TaskTest extends Base
// We create task
$this->assertEquals(1, $t->create(array('title' => 'test', 'project_id' => 1, 'column_id' => 1)));
- $this->assertTrue($this->registry->event->isEventTriggered(Task::EVENT_CREATE));
+ $this->assertTrue($this->registry->shared('event')->isEventTriggered(Task::EVENT_CREATE));
// We update a task
$this->assertTrue($t->update(array('title' => 'test2', 'id' => 1)));
- $this->assertTrue($this->registry->event->isEventTriggered(Task::EVENT_UPDATE));
- $this->assertTrue($this->registry->event->isEventTriggered(Task::EVENT_CREATE_UPDATE));
+ $this->assertTrue($this->registry->shared('event')->isEventTriggered(Task::EVENT_UPDATE));
+ $this->assertTrue($this->registry->shared('event')->isEventTriggered(Task::EVENT_CREATE_UPDATE));
// We close our task
$this->assertTrue($t->close(1));
- $this->assertTrue($this->registry->event->isEventTriggered(Task::EVENT_CLOSE));
+ $this->assertTrue($this->registry->shared('event')->isEventTriggered(Task::EVENT_CLOSE));
// We open our task
$this->assertTrue($t->open(1));
- $this->assertTrue($this->registry->event->isEventTriggered(Task::EVENT_OPEN));
+ $this->assertTrue($this->registry->shared('event')->isEventTriggered(Task::EVENT_OPEN));
// We change the column of our task
$this->assertTrue($t->movePosition(1, 1, 2, 1));
- $this->assertTrue($this->registry->event->isEventTriggered(Task::EVENT_MOVE_COLUMN));
+ $this->assertTrue($this->registry->shared('event')->isEventTriggered(Task::EVENT_MOVE_COLUMN));
// We change the position of our task
$this->assertEquals(2, $t->create(array('title' => 'test 2', 'project_id' => 1, 'column_id' => 2)));
$this->assertTrue($t->movePosition(1, 1, 2, 2));
- $this->assertTrue($this->registry->event->isEventTriggered(Task::EVENT_MOVE_POSITION));
+ $this->assertTrue($this->registry->shared('event')->isEventTriggered(Task::EVENT_MOVE_POSITION));
// We change the column and the position of our task
$this->assertTrue($t->movePosition(1, 1, 1, 1));
- $this->assertTrue($this->registry->event->isEventTriggered(Task::EVENT_MOVE_COLUMN));
+ $this->assertTrue($this->registry->shared('event')->isEventTriggered(Task::EVENT_MOVE_COLUMN));
}
}