diff options
author | Frédéric Guillot <fred@kanboard.net> | 2014-09-08 21:44:50 +0200 |
---|---|---|
committer | Frédéric Guillot <fred@kanboard.net> | 2014-09-08 21:44:50 +0200 |
commit | 8c6df9ef0cea757d25cbbcc6fa7cee86d8739627 (patch) | |
tree | 98dc7555d37d16ce4d01fce72b61e89d08f99a9f /tests | |
parent | 7540e74a56b6a1ac1c00ae06e89f5e356653fe44 (diff) |
Handle the case of tasks with bad previous positions
Diffstat (limited to 'tests')
-rw-r--r-- | tests/units/TaskTest.php | 59 |
1 files changed, 58 insertions, 1 deletions
diff --git a/tests/units/TaskTest.php b/tests/units/TaskTest.php index 8121a575..1269352e 100644 --- a/tests/units/TaskTest.php +++ b/tests/units/TaskTest.php @@ -9,6 +9,63 @@ use Model\User; class TaskTest extends Base { + public function testCreation() + { + $t = new Task($this->registry); + $p = new Project($this->registry); + + $this->assertEquals(1, $p->create(array('name' => 'Project #1'))); + $this->assertEquals(1, $t->create(array('title' => 'Task #1', 'project_id' => 1, 'column_id' => 1))); + + $task = $t->getById(1); + $this->assertEquals(1, $task['id']); + $this->assertEquals(1, $task['column_id']); + $this->assertEquals(1, $task['position']); + $this->assertEquals(time(), $task['date_creation']); + $this->assertEquals(time(), $task['date_modification']); + + $this->assertEquals(2, $t->create(array('title' => 'Task #2', 'project_id' => 1))); + + $task = $t->getById(2); + $this->assertEquals(2, $task['id']); + $this->assertEquals(1, $task['column_id']); + $this->assertEquals(2, $task['position']); + $this->assertEquals(time(), $task['date_creation']); + $this->assertEquals(time(), $task['date_modification']); + } + + public function testMoveTaskWithBadPreviousPosition() + { + $t = new Task($this->registry); + $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))); + + // 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))); + + // Move the first column to the last position of the 2nd column + $this->assertTrue($t->movePosition(1, 1, 2, 3)); + + // Check tasks position + $task = $t->getById(2); + $this->assertEquals(2, $task['id']); + $this->assertEquals(2, $task['column_id']); + $this->assertEquals(1, $task['position']); + + $task = $t->getById(3); + $this->assertEquals(3, $task['id']); + $this->assertEquals(2, $task['column_id']); + $this->assertEquals(2, $task['position']); + + $task = $t->getById(1); + $this->assertEquals(1, $task['id']); + $this->assertEquals(2, $task['column_id']); + $this->assertEquals(3, $task['position']); + } + public function testMoveTaskTop() { $t = new Task($this->registry); @@ -20,7 +77,7 @@ class TaskTest extends Base $this->assertEquals(3, $t->create(array('title' => 'Task #3', 'project_id' => 1, 'column_id' => 1))); $this->assertEquals(4, $t->create(array('title' => 'Task #4', 'project_id' => 1, 'column_id' => 1))); - // Move the last task to hte top + // Move the last task to the top $this->assertTrue($t->movePosition(1, 4, 1, 1)); // Check tasks position |