Add unit test for transition model
This commit is contained in:
@@ -4,7 +4,6 @@ require_once __DIR__.'/../Base.php';
|
||||
|
||||
use Kanboard\Core\Session\FlashMessage;
|
||||
use Kanboard\Helper\App;
|
||||
use Kanboard\Model\Config;
|
||||
|
||||
class AppHelperTest extends Base
|
||||
{
|
||||
|
||||
@@ -2,12 +2,10 @@
|
||||
|
||||
require_once __DIR__.'/../Base.php';
|
||||
|
||||
use Kanboard\Model\Task;
|
||||
use Kanboard\Model\TaskCreation;
|
||||
use Kanboard\Model\TaskFinder;
|
||||
use Kanboard\Model\Project;
|
||||
use Kanboard\Model\Category;
|
||||
use Kanboard\Model\User;
|
||||
|
||||
class CategoryTest extends Base
|
||||
{
|
||||
|
||||
@@ -2,7 +2,6 @@
|
||||
|
||||
require_once __DIR__.'/../Base.php';
|
||||
|
||||
use Kanboard\Model\Task;
|
||||
use Kanboard\Model\TaskCreation;
|
||||
use Kanboard\Model\Project;
|
||||
use Kanboard\Model\Comment;
|
||||
|
||||
@@ -3,7 +3,6 @@
|
||||
require_once __DIR__.'/../Base.php';
|
||||
|
||||
use Kanboard\Model\Config;
|
||||
use Kanboard\Core\Session\SessionManager;
|
||||
|
||||
class ConfigTest extends Base
|
||||
{
|
||||
|
||||
@@ -6,7 +6,6 @@ use Kanboard\Model\TaskFinder;
|
||||
use Kanboard\Model\TaskCreation;
|
||||
use Kanboard\Model\Subtask;
|
||||
use Kanboard\Model\Comment;
|
||||
use Kanboard\Model\User;
|
||||
use Kanboard\Model\TaskFile;
|
||||
use Kanboard\Model\Task;
|
||||
use Kanboard\Model\Project;
|
||||
|
||||
@@ -7,8 +7,6 @@ use Kanboard\Model\TaskFinder;
|
||||
use Kanboard\Model\TaskCreation;
|
||||
use Kanboard\Model\ProjectActivity;
|
||||
use Kanboard\Model\Project;
|
||||
use Kanboard\Model\Subtask;
|
||||
use Kanboard\Model\Comment;
|
||||
|
||||
class ProjectActivityTest extends Base
|
||||
{
|
||||
|
||||
@@ -7,7 +7,6 @@ use Kanboard\Model\ProjectDailyColumnStats;
|
||||
use Kanboard\Model\Config;
|
||||
use Kanboard\Model\Task;
|
||||
use Kanboard\Model\TaskCreation;
|
||||
use Kanboard\Model\TaskStatus;
|
||||
|
||||
class ProjectDailyColumnStatsTest extends Base
|
||||
{
|
||||
|
||||
@@ -4,7 +4,6 @@ require_once __DIR__.'/../Base.php';
|
||||
|
||||
use Kanboard\Model\Project;
|
||||
use Kanboard\Model\ProjectDailyStats;
|
||||
use Kanboard\Model\Task;
|
||||
use Kanboard\Model\TaskCreation;
|
||||
use Kanboard\Model\TaskStatus;
|
||||
|
||||
|
||||
@@ -2,12 +2,9 @@
|
||||
|
||||
require_once __DIR__.'/../Base.php';
|
||||
|
||||
use Kanboard\Model\Task;
|
||||
use Kanboard\Model\TaskCreation;
|
||||
use Kanboard\Model\Subtask;
|
||||
use Kanboard\Model\Project;
|
||||
use Kanboard\Model\Category;
|
||||
use Kanboard\Model\User;
|
||||
use Kanboard\Core\User\UserSession;
|
||||
|
||||
class SubtaskTest extends Base
|
||||
|
||||
@@ -7,8 +7,6 @@ use Kanboard\Model\TaskCreation;
|
||||
use Kanboard\Model\Subtask;
|
||||
use Kanboard\Model\SubtaskTimeTracking;
|
||||
use Kanboard\Model\Project;
|
||||
use Kanboard\Model\Category;
|
||||
use Kanboard\Model\User;
|
||||
|
||||
class SubtaskTimeTrackingTest extends Base
|
||||
{
|
||||
|
||||
@@ -3,7 +3,6 @@
|
||||
require_once __DIR__.'/../Base.php';
|
||||
|
||||
use Kanboard\Model\Project;
|
||||
use Kanboard\Model\Task;
|
||||
use Kanboard\Model\TaskCreation;
|
||||
use Kanboard\Model\TaskFinder;
|
||||
use Kanboard\Model\Swimlane;
|
||||
|
||||
@@ -6,7 +6,6 @@ use Kanboard\Model\Config;
|
||||
use Kanboard\Model\Task;
|
||||
use Kanboard\Model\TaskCreation;
|
||||
use Kanboard\Model\TaskFinder;
|
||||
use Kanboard\Model\TaskStatus;
|
||||
use Kanboard\Model\Project;
|
||||
|
||||
class TaskCreationTest extends Base
|
||||
|
||||
@@ -7,7 +7,6 @@ use Kanboard\Model\Task;
|
||||
use Kanboard\Model\TaskCreation;
|
||||
use Kanboard\Model\TaskDuplication;
|
||||
use Kanboard\Model\TaskFinder;
|
||||
use Kanboard\Model\TaskStatus;
|
||||
use Kanboard\Model\Project;
|
||||
use Kanboard\Model\ProjectUserRole;
|
||||
use Kanboard\Model\Category;
|
||||
|
||||
@@ -2,12 +2,10 @@
|
||||
|
||||
require_once __DIR__.'/../Base.php';
|
||||
|
||||
use Kanboard\Model\Task;
|
||||
use Kanboard\Model\TaskCreation;
|
||||
use Kanboard\Model\TaskExport;
|
||||
use Kanboard\Model\Project;
|
||||
use Kanboard\Model\Category;
|
||||
use Kanboard\Model\User;
|
||||
use Kanboard\Model\Swimlane;
|
||||
|
||||
class TaskExportTest extends Base
|
||||
|
||||
@@ -2,7 +2,6 @@
|
||||
|
||||
require_once __DIR__.'/../Base.php';
|
||||
|
||||
use Kanboard\Model\Task;
|
||||
use Kanboard\Model\TaskFile;
|
||||
use Kanboard\Model\TaskCreation;
|
||||
use Kanboard\Model\Project;
|
||||
|
||||
@@ -10,7 +10,6 @@ use Kanboard\Model\TaskLink;
|
||||
use Kanboard\Core\DateParser;
|
||||
use Kanboard\Model\Category;
|
||||
use Kanboard\Model\Subtask;
|
||||
use Kanboard\Model\Config;
|
||||
use Kanboard\Model\Swimlane;
|
||||
|
||||
class TaskFilterTest extends Base
|
||||
|
||||
@@ -2,12 +2,9 @@
|
||||
|
||||
require_once __DIR__.'/../Base.php';
|
||||
|
||||
use Kanboard\Model\Task;
|
||||
use Kanboard\Model\TaskCreation;
|
||||
use Kanboard\Model\TaskFinder;
|
||||
use Kanboard\Model\Project;
|
||||
use Kanboard\Model\Category;
|
||||
use Kanboard\Model\User;
|
||||
|
||||
class TaskFinderTest extends Base
|
||||
{
|
||||
|
||||
@@ -2,7 +2,6 @@
|
||||
|
||||
require_once __DIR__.'/../Base.php';
|
||||
|
||||
use Kanboard\Model\Link;
|
||||
use Kanboard\Model\TaskFinder;
|
||||
use Kanboard\Model\TaskLink;
|
||||
use Kanboard\Model\TaskCreation;
|
||||
|
||||
@@ -6,7 +6,6 @@ use Kanboard\Model\Task;
|
||||
use Kanboard\Model\TaskCreation;
|
||||
use Kanboard\Model\TaskModification;
|
||||
use Kanboard\Model\TaskFinder;
|
||||
use Kanboard\Model\TaskStatus;
|
||||
use Kanboard\Model\Project;
|
||||
|
||||
class TaskModificationTest extends Base
|
||||
|
||||
@@ -2,12 +2,10 @@
|
||||
|
||||
require_once __DIR__.'/../Base.php';
|
||||
|
||||
use Kanboard\Model\Task;
|
||||
use Kanboard\Model\TaskCreation;
|
||||
use Kanboard\Model\TaskFinder;
|
||||
use Kanboard\Model\TaskPermission;
|
||||
use Kanboard\Model\Project;
|
||||
use Kanboard\Model\Category;
|
||||
use Kanboard\Model\User;
|
||||
use Kanboard\Core\User\UserSession;
|
||||
|
||||
|
||||
45
tests/units/Model/TransitionExportTest.php
Normal file
45
tests/units/Model/TransitionExportTest.php
Normal file
@@ -0,0 +1,45 @@
|
||||
<?php
|
||||
|
||||
require_once __DIR__.'/../Base.php';
|
||||
|
||||
use Kanboard\Model\TaskCreation;
|
||||
use Kanboard\Model\Transition;
|
||||
use Kanboard\Model\TransitionExport;
|
||||
use Kanboard\Model\Project;
|
||||
|
||||
class TransitionExportTest extends Base
|
||||
{
|
||||
public function testExport()
|
||||
{
|
||||
$projectModel = new Project($this->container);
|
||||
$taskCreationModel = new TaskCreation($this->container);
|
||||
$transitionModel = new Transition($this->container);
|
||||
$transitionExportModel = new TransitionExport($this->container);
|
||||
|
||||
$this->assertEquals(1, $projectModel->create(array('name' => 'test')));
|
||||
$this->assertEquals(1, $taskCreationModel->create(array('project_id' => 1, 'title' => 'test')));
|
||||
|
||||
$task_event = array(
|
||||
'project_id' => 1,
|
||||
'task_id' => 1,
|
||||
'src_column_id' => 1,
|
||||
'dst_column_id' => 2,
|
||||
'date_moved' => time() - 3600
|
||||
);
|
||||
|
||||
$this->assertTrue($transitionModel->save(1, $task_event));
|
||||
|
||||
$export = $transitionExportModel->export(1, date('Y-m-d'), date('Y-m-d'));
|
||||
$this->assertCount(2, $export);
|
||||
|
||||
$this->assertEquals(
|
||||
array('Id', 'Task Title', 'Source column', 'Destination column', 'Executer', 'Date', 'Time spent'),
|
||||
$export[0]
|
||||
);
|
||||
|
||||
$this->assertEquals(
|
||||
array(1, 'test', 'Backlog', 'Ready', 'admin', date('m/d/Y H:i', time()), 1.0),
|
||||
$export[1]
|
||||
);
|
||||
}
|
||||
}
|
||||
141
tests/units/Model/TransitionTest.php
Normal file
141
tests/units/Model/TransitionTest.php
Normal file
@@ -0,0 +1,141 @@
|
||||
<?php
|
||||
|
||||
require_once __DIR__.'/../Base.php';
|
||||
|
||||
use Kanboard\Model\TaskCreation;
|
||||
use Kanboard\Model\Transition;
|
||||
use Kanboard\Model\Project;
|
||||
|
||||
class TransitionTest extends Base
|
||||
{
|
||||
public function testSave()
|
||||
{
|
||||
$projectModel = new Project($this->container);
|
||||
$taskCreationModel = new TaskCreation($this->container);
|
||||
$transitionModel = new Transition($this->container);
|
||||
|
||||
$this->assertEquals(1, $projectModel->create(array('name' => 'test')));
|
||||
$this->assertEquals(1, $taskCreationModel->create(array('project_id' => 1, 'title' => 'test')));
|
||||
|
||||
$task_event = array(
|
||||
'project_id' => 1,
|
||||
'task_id' => 1,
|
||||
'src_column_id' => 1,
|
||||
'dst_column_id' => 2,
|
||||
'date_moved' => time() - 3600
|
||||
);
|
||||
|
||||
$this->assertTrue($transitionModel->save(1, $task_event));
|
||||
|
||||
$transitions = $transitionModel->getAllByTask(1);
|
||||
$this->assertCount(1, $transitions);
|
||||
$this->assertEquals('Backlog', $transitions[0]['src_column']);
|
||||
$this->assertEquals('Ready', $transitions[0]['dst_column']);
|
||||
$this->assertEquals('', $transitions[0]['name']);
|
||||
$this->assertEquals('admin', $transitions[0]['username']);
|
||||
$this->assertEquals(1, $transitions[0]['user_id']);
|
||||
$this->assertEquals(time(), $transitions[0]['date'], '', 3);
|
||||
$this->assertEquals(3600, $transitions[0]['time_spent']);
|
||||
}
|
||||
|
||||
public function testGetTimeSpentByTask()
|
||||
{
|
||||
$projectModel = new Project($this->container);
|
||||
$taskCreationModel = new TaskCreation($this->container);
|
||||
$transitionModel = new Transition($this->container);
|
||||
|
||||
$this->assertEquals(1, $projectModel->create(array('name' => 'test')));
|
||||
$this->assertEquals(1, $taskCreationModel->create(array('project_id' => 1, 'title' => 'test')));
|
||||
|
||||
$task_event = array(
|
||||
'project_id' => 1,
|
||||
'task_id' => 1,
|
||||
'src_column_id' => 1,
|
||||
'dst_column_id' => 2,
|
||||
'date_moved' => time() - 3600
|
||||
);
|
||||
|
||||
$this->assertTrue($transitionModel->save(1, $task_event));
|
||||
|
||||
$task_event = array(
|
||||
'project_id' => 1,
|
||||
'task_id' => 1,
|
||||
'src_column_id' => 2,
|
||||
'dst_column_id' => 3,
|
||||
'date_moved' => time() - 1200
|
||||
);
|
||||
|
||||
$this->assertTrue($transitionModel->save(1, $task_event));
|
||||
|
||||
$expected = array(
|
||||
'1' => 3600,
|
||||
'2' => 1200,
|
||||
);
|
||||
|
||||
$this->assertEquals($expected, $transitionModel->getTimeSpentByTask(1));
|
||||
}
|
||||
|
||||
public function testGetAllByProject()
|
||||
{
|
||||
$projectModel = new Project($this->container);
|
||||
$taskCreationModel = new TaskCreation($this->container);
|
||||
$transitionModel = new Transition($this->container);
|
||||
|
||||
$this->assertEquals(1, $projectModel->create(array('name' => 'test')));
|
||||
$this->assertEquals(1, $taskCreationModel->create(array('project_id' => 1, 'title' => 'test1')));
|
||||
$this->assertEquals(2, $taskCreationModel->create(array('project_id' => 1, 'title' => 'test2')));
|
||||
|
||||
$task_event = array(
|
||||
'project_id' => 1,
|
||||
'src_column_id' => 1,
|
||||
'dst_column_id' => 2,
|
||||
'date_moved' => time() - 3600
|
||||
);
|
||||
|
||||
$this->assertTrue($transitionModel->save(1, array('task_id' => 1) + $task_event));
|
||||
$this->assertTrue($transitionModel->save(1, array('task_id' => 2) + $task_event));
|
||||
|
||||
$task_event = array(
|
||||
'project_id' => 1,
|
||||
'src_column_id' => 2,
|
||||
'dst_column_id' => 3,
|
||||
'date_moved' => time() - 1200
|
||||
);
|
||||
|
||||
$this->assertTrue($transitionModel->save(1, array('task_id' => 1) + $task_event));
|
||||
$this->assertTrue($transitionModel->save(1, array('task_id' => 2) + $task_event));
|
||||
|
||||
$transitions = $transitionModel->getAllByProjectAndDate(1, date('Y-m-d'), date('Y-m-d'));
|
||||
$this->assertCount(4, $transitions);
|
||||
|
||||
$this->assertEquals(2, $transitions[0]['id']);
|
||||
$this->assertEquals(1, $transitions[1]['id']);
|
||||
$this->assertEquals(2, $transitions[2]['id']);
|
||||
$this->assertEquals(1, $transitions[3]['id']);
|
||||
|
||||
$this->assertEquals('test2', $transitions[0]['title']);
|
||||
$this->assertEquals('test1', $transitions[1]['title']);
|
||||
$this->assertEquals('test2', $transitions[2]['title']);
|
||||
$this->assertEquals('test1', $transitions[3]['title']);
|
||||
|
||||
$this->assertEquals('Ready', $transitions[0]['src_column']);
|
||||
$this->assertEquals('Ready', $transitions[1]['src_column']);
|
||||
$this->assertEquals('Backlog', $transitions[2]['src_column']);
|
||||
$this->assertEquals('Backlog', $transitions[3]['src_column']);
|
||||
|
||||
$this->assertEquals('Work in progress', $transitions[0]['dst_column']);
|
||||
$this->assertEquals('Work in progress', $transitions[1]['dst_column']);
|
||||
$this->assertEquals('Ready', $transitions[2]['dst_column']);
|
||||
$this->assertEquals('Ready', $transitions[3]['dst_column']);
|
||||
|
||||
$this->assertEquals('admin', $transitions[0]['username']);
|
||||
$this->assertEquals('admin', $transitions[1]['username']);
|
||||
$this->assertEquals('admin', $transitions[2]['username']);
|
||||
$this->assertEquals('admin', $transitions[3]['username']);
|
||||
|
||||
$this->assertEquals(1200, $transitions[0]['time_spent']);
|
||||
$this->assertEquals(1200, $transitions[1]['time_spent']);
|
||||
$this->assertEquals(3600, $transitions[2]['time_spent']);
|
||||
$this->assertEquals(3600, $transitions[3]['time_spent']);
|
||||
}
|
||||
}
|
||||
@@ -4,8 +4,6 @@ require_once __DIR__.'/../Base.php';
|
||||
|
||||
use Kanboard\Model\TaskFinder;
|
||||
use Kanboard\Model\TaskCreation;
|
||||
use Kanboard\Model\Subtask;
|
||||
use Kanboard\Model\Comment;
|
||||
use Kanboard\Model\User;
|
||||
use Kanboard\Model\Group;
|
||||
use Kanboard\Model\GroupMember;
|
||||
@@ -16,7 +14,6 @@ use Kanboard\Model\ProjectUserRole;
|
||||
use Kanboard\Model\ProjectGroupRole;
|
||||
use Kanboard\Model\UserNotification;
|
||||
use Kanboard\Model\UserNotificationFilter;
|
||||
use Kanboard\Model\UserNotificationType;
|
||||
use Kanboard\Subscriber\UserNotificationSubscriber;
|
||||
use Kanboard\Core\Security\Role;
|
||||
|
||||
|
||||
@@ -5,7 +5,6 @@ require_once __DIR__.'/../Base.php';
|
||||
use Kanboard\Model\User;
|
||||
use Kanboard\Model\Subtask;
|
||||
use Kanboard\Model\Comment;
|
||||
use Kanboard\Model\Task;
|
||||
use Kanboard\Model\TaskCreation;
|
||||
use Kanboard\Model\TaskFinder;
|
||||
use Kanboard\Model\Project;
|
||||
|
||||
@@ -4,8 +4,6 @@ require_once __DIR__.'/../Base.php';
|
||||
|
||||
use Kanboard\Model\TaskFinder;
|
||||
use Kanboard\Model\TaskCreation;
|
||||
use Kanboard\Model\Subtask;
|
||||
use Kanboard\Model\Comment;
|
||||
use Kanboard\Model\User;
|
||||
use Kanboard\Model\Task;
|
||||
use Kanboard\Model\Project;
|
||||
|
||||
Reference in New Issue
Block a user