summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFrederic Guillot <fred@kanboard.net>2016-01-17 08:12:44 -0500
committerFrederic Guillot <fred@kanboard.net>2016-01-17 08:12:44 -0500
commit3c5762691827fae90d81ed05eee163da90140784 (patch)
tree7991eafabb0fb9bfe8739674d1f83dcee93eee6e
parent27b9b7a727de7a9608d85bce6ca94e81bbdf7ffb (diff)
Replace raw SQL query by PicoDb
-rw-r--r--app/Model/ProjectActivity.php10
-rw-r--r--app/Model/ProjectDailyColumnStats.php2
-rw-r--r--tests/units/Model/ProjectActivityTest.php16
3 files changed, 6 insertions, 22 deletions
diff --git a/app/Model/ProjectActivity.php b/app/Model/ProjectActivity.php
index 309bab9a..d3aeefe5 100644
--- a/app/Model/ProjectActivity.php
+++ b/app/Model/ProjectActivity.php
@@ -169,14 +169,8 @@ class ProjectActivity extends Base
public function cleanup($max)
{
if ($this->db->table(self::TABLE)->count() > $max) {
- $this->db->execute('
- DELETE FROM '.self::TABLE.'
- WHERE id <= (
- SELECT id FROM (
- SELECT id FROM '.self::TABLE.' ORDER BY id DESC LIMIT 1 OFFSET '.$max.'
- ) foo
- )'
- );
+ $subquery = $this->db->table(self::TABLE)->desc('id')->limit($max)->columns('id');
+ $this->db->table(self::TABLE)->notInSubquery('id', $subquery)->remove();
}
}
diff --git a/app/Model/ProjectDailyColumnStats.php b/app/Model/ProjectDailyColumnStats.php
index c4a3f28e..83475246 100644
--- a/app/Model/ProjectDailyColumnStats.php
+++ b/app/Model/ProjectDailyColumnStats.php
@@ -159,7 +159,7 @@ class ProjectDailyColumnStats extends Base
* @param string $day
* @param string $column_id
* @param string $field
- * @return array
+ * @return integer
*/
private function findValueInMetrics(array &$metrics, $day, $column_id, $field)
{
diff --git a/tests/units/Model/ProjectActivityTest.php b/tests/units/Model/ProjectActivityTest.php
index 5a242cb2..10201aa8 100644
--- a/tests/units/Model/ProjectActivityTest.php
+++ b/tests/units/Model/ProjectActivityTest.php
@@ -87,9 +87,10 @@ class ProjectActivityTest extends Base
$max = 15;
$nb_events = 100;
+ $task = $tf->getbyId(1);
for ($i = 0; $i < $nb_events; $i++) {
- $this->assertTrue($e->createEvent(1, 1, 1, Task::EVENT_CLOSE, array('task' => $tf->getbyId(1))));
+ $this->assertTrue($e->createEvent(1, 1, 1, Task::EVENT_CLOSE, array('task' => $task)));
}
$this->assertEquals($nb_events, $this->container['db']->table('project_activities')->count());
@@ -98,20 +99,9 @@ class ProjectActivityTest extends Base
$events = $e->getProject(1);
$this->assertNotEmpty($events);
- $this->assertTrue(is_array($events));
- $this->assertEquals($max, count($events));
+ $this->assertCount($max, $events);
$this->assertEquals(100, $events[0]['id']);
$this->assertEquals(99, $events[1]['id']);
$this->assertEquals(86, $events[14]['id']);
-
- // Cleanup during task creation
-
- $nb_events = ProjectActivity::MAX_EVENTS + 10;
-
- for ($i = 0; $i < $nb_events; $i++) {
- $this->assertTrue($e->createEvent(1, 1, 1, Task::EVENT_CLOSE, array('task' => $tf->getbyId(1))));
- }
-
- $this->assertEquals(ProjectActivity::MAX_EVENTS, $this->container['db']->table('project_activities')->count());
}
}