| <?php |
|
|
| use Kanboard\Model\ProjectModel; |
| use Kanboard\Model\ProjectTaskPriorityModel; |
|
|
| require_once __DIR__.'/../Base.php'; |
|
|
| class ProjectTaskPriorityModelTest extends Base |
| { |
| public function testPriority() |
| { |
| $projectModel = new ProjectModel($this->container); |
| $projectTaskPriorityModel = new ProjectTaskPriorityModel($this->container); |
|
|
| $this->assertEquals(1, $projectModel->create(array('name' => 'My project 2'))); |
| $this->assertEquals(0, $projectTaskPriorityModel->getDefaultPriority(1)); |
|
|
| $project = $projectModel->getById(1); |
| $this->assertNotEmpty($project); |
| $this->assertEquals(0, $project['priority_default']); |
| $this->assertEquals(0, $project['priority_start']); |
| $this->assertEquals(3, $project['priority_end']); |
|
|
| $this->assertEquals( |
| array(0 => 0, 1 => 1, 2 => 2, 3 => 3), |
| $projectTaskPriorityModel->getPriorities($project) |
| ); |
|
|
| $this->assertTrue($projectModel->update(array('id' => 1, 'priority_start' => 2, 'priority_end' => 5, 'priority_default' => 4))); |
|
|
| $project = $projectModel->getById(1); |
| $this->assertNotEmpty($project); |
| $this->assertEquals(4, $project['priority_default']); |
| $this->assertEquals(2, $project['priority_start']); |
| $this->assertEquals(5, $project['priority_end']); |
|
|
| $this->assertEquals( |
| array(2 => 2, 3 => 3, 4 => 4, 5 => 5), |
| $projectTaskPriorityModel->getPriorities($project) |
| ); |
|
|
| $this->assertEquals(4, $projectTaskPriorityModel->getDefaultPriority(1)); |
| } |
|
|
| public function testGetPrioritySettings() |
| { |
| $projectModel = new ProjectModel($this->container); |
| $projectTaskPriorityModel = new ProjectTaskPriorityModel($this->container); |
|
|
| $this->assertEquals(1, $projectModel->create(array('name' => 'My project 2'))); |
|
|
| $expected = array( |
| 'priority_default' => 0, |
| 'priority_start' => 0, |
| 'priority_end' => 3, |
| ); |
|
|
| $this->assertEquals($expected, $projectTaskPriorityModel->getPrioritySettings(1)); |
| $this->assertNull($projectTaskPriorityModel->getPrioritySettings(2)); |
| } |
|
|
| public function testGetPriorityForProject() |
| { |
| $projectModel = new ProjectModel($this->container); |
| $projectTaskPriorityModel = new ProjectTaskPriorityModel($this->container); |
|
|
| $this->assertEquals(1, $projectModel->create(array( |
| 'name' => 'My project 1', |
| 'priority_default' => 2, |
| 'priority_start' => -2, |
| 'priority_end' => 8, |
| ))); |
|
|
| $this->assertEquals(2, $projectTaskPriorityModel->getPriorityForProject(1, 42)); |
| $this->assertEquals(0, $projectTaskPriorityModel->getPriorityForProject(1, 0)); |
| $this->assertEquals(1, $projectTaskPriorityModel->getPriorityForProject(1, 1)); |
| $this->assertEquals(-2, $projectTaskPriorityModel->getPriorityForProject(1, -2)); |
| $this->assertEquals(-1, $projectTaskPriorityModel->getPriorityForProject(1, -1)); |
| $this->assertEquals(8, $projectTaskPriorityModel->getPriorityForProject(1, 8)); |
| $this->assertEquals(5, $projectTaskPriorityModel->getPriorityForProject(1, 5)); |
| $this->assertEquals(2, $projectTaskPriorityModel->getPriorityForProject(1, 9)); |
| $this->assertEquals(2, $projectTaskPriorityModel->getPriorityForProject(1, -3)); |
| } |
| } |
|
|