| <?php |
|
|
| require_once __DIR__.'/../Base.php'; |
|
|
| use Kanboard\Model\ProjectModel; |
| use Kanboard\Model\ProjectDailyStatsModel; |
| use Kanboard\Model\TaskCreationModel; |
| use Kanboard\Model\TaskStatusModel; |
|
|
| class ProjectDailyStatsTest extends Base |
| { |
| public function testUpdateTotals() |
| { |
| $p = new ProjectModel($this->container); |
| $pds = new ProjectDailyStatsModel($this->container); |
| $tc = new TaskCreationModel($this->container); |
| $ts = new TaskStatusModel($this->container); |
|
|
| $this->assertEquals(1, $p->create(array('name' => 'UnitTest'))); |
| $this->assertEquals(2, $p->create(array('name' => 'UnitTest'))); |
|
|
| $this->assertEquals(1, $tc->create(array('title' => 'Task #1', 'project_id' => 1, 'date_started' => strtotime('-1 day')))); |
| $this->assertEquals(2, $tc->create(array('title' => 'Task #2', 'project_id' => 1))); |
| $this->assertEquals(3, $tc->create(array('title' => 'Task #3', 'project_id' => 2))); |
|
|
| $pds->updateTotals(1, date('Y-m-d', strtotime('-1 day'))); |
|
|
| $this->assertTrue($ts->close(1)); |
| $pds->updateTotals(1, date('Y-m-d')); |
|
|
| $metrics = $pds->getRawMetrics(1, date('Y-m-d', strtotime('-1days')), date('Y-m-d')); |
| $expected = array( |
| array( |
| 'day' => date('Y-m-d', strtotime('-1days')), |
| 'avg_lead_time' => 0, |
| 'avg_cycle_time' => 43200, |
| ), |
| array( |
| 'day' => date('Y-m-d'), |
| 'avg_lead_time' => 0, |
| 'avg_cycle_time' => 43200, |
| ) |
| ); |
|
|
| $this->assertEquals($expected[0]['day'], $metrics[0]['day']); |
| $this->assertEquals($expected[1]['day'], $metrics[1]['day']); |
|
|
| $this->assertEqualsWithDelta($expected[0]['avg_lead_time'], $metrics[0]['avg_lead_time'], 5, ''); |
| $this->assertEqualsWithDelta($expected[1]['avg_lead_time'], $metrics[1]['avg_lead_time'], 5, ''); |
|
|
| $this->assertEqualsWithDelta($expected[0]['avg_cycle_time'], $metrics[0]['avg_cycle_time'], 5, ''); |
| $this->assertEqualsWithDelta($expected[1]['avg_cycle_time'], $metrics[1]['avg_cycle_time'], 5, ''); |
| } |
| } |
|
|