From 833bd3f8a90b604f4ab289dab9366c0032ce5216 Mon Sep 17 00:00:00 2001 From: Frédéric Guillot Date: Sat, 19 Jul 2014 22:08:07 -0230 Subject: Add Task CSV export and Kanboard CLI --- tests/functionals/ApiTest.php | 1 + tests/units/TaskTest.php | 36 ++++++++++++++++++++++++++++++++++++ 2 files changed, 37 insertions(+) (limited to 'tests') diff --git a/tests/functionals/ApiTest.php b/tests/functionals/ApiTest.php index 89d525a2..8396be4f 100644 --- a/tests/functionals/ApiTest.php +++ b/tests/functionals/ApiTest.php @@ -173,6 +173,7 @@ class Api extends PHPUnit_Framework_TestCase $task['color_id'] = 'green'; $task['column_id'] = 1; $task['description'] = 'test'; + $task['date_due'] = ''; $this->assertTrue($this->client->updateTask($task)); } diff --git a/tests/units/TaskTest.php b/tests/units/TaskTest.php index da7e6a70..b8b3cf46 100644 --- a/tests/units/TaskTest.php +++ b/tests/units/TaskTest.php @@ -4,9 +4,45 @@ require_once __DIR__.'/Base.php'; use Model\Task; use Model\Project; +use Model\Category; class TaskTest extends Base { + public function testExport() + { + $t = new Task($this->db, $this->event); + $p = new Project($this->db, $this->event); + $c = new Category($this->db, $this->event); + + $this->assertEquals(1, $p->create(array('name' => 'Export Project'))); + $this->assertNotFalse($c->create(array('name' => 'Category #1', 'project_id' => 1))); + $this->assertNotFalse($c->create(array('name' => 'Category #2', 'project_id' => 1))); + $this->assertNotFalse($c->create(array('name' => 'Category #3', 'project_id' => 1))); + + for ($i = 1; $i <= 100; $i++) { + + $task = array( + 'title' => 'Task #'.$i, + 'project_id' => 1, + 'column_id' => rand(1, 3), + 'creator_id' => rand(0, 1), + 'owner_id' => rand(0, 1), + 'color_id' => rand(0, 1) === 0 ? 'green' : 'purple', + 'category_id' => rand(0, 3), + 'date_due' => array_rand(array(0, date('Y-m-d'), date('Y-m-d', strtotime('+'.$i.'day')))), + 'score' => rand(0, 21) + ); + + $this->assertEquals($i, $t->create($task)); + } + + $rows = $t->export(1, strtotime('-1 day'), strtotime('+1 day')); + $this->assertEquals($i, count($rows)); + $this->assertEquals('Task Id', $rows[0][0]); + $this->assertEquals(1, $rows[1][0]); + $this->assertEquals('Task #'.($i - 1), $rows[$i - 1][11]); + } + public function testFilter() { $t = new Task($this->db, $this->event); -- cgit v1.2.3