summaryrefslogtreecommitdiffstats
path: root/tests/unit/db/ItemMapperTest.php
diff options
context:
space:
mode:
authorBernhard Posselt <dev@bernhard-posselt.com>2014-11-06 15:49:16 +0100
committerBernhard Posselt <dev@bernhard-posselt.com>2014-11-06 15:49:16 +0100
commita600f6b718ab81efeda1fce68e5f817c3f23504a (patch)
treedc7521e1a9e9ee767602addef42e56d00861c6c1 /tests/unit/db/ItemMapperTest.php
parentdcf96e729991764e5dc5d5d9cc384540427dfdc4 (diff)
try to fix delete older than threshold so we can test it properly
Diffstat (limited to 'tests/unit/db/ItemMapperTest.php')
-rw-r--r--tests/unit/db/ItemMapperTest.php28
1 files changed, 15 insertions, 13 deletions
diff --git a/tests/unit/db/ItemMapperTest.php b/tests/unit/db/ItemMapperTest.php
index 46a129ecf..a4e3fe919 100644
--- a/tests/unit/db/ItemMapperTest.php
+++ b/tests/unit/db/ItemMapperTest.php
@@ -361,13 +361,13 @@ class ItemMapperTest extends \Test\AppFramework\Db\MapperTestUtility {
public function testDeleteReadOlderThanThresholdDoesNotDelete(){
$status = StatusFlag::STARRED | StatusFlag::UNREAD;
- $sql = 'SELECT COUNT(*) - `feeds`.`articles_per_update` AS `size`, ' .
- '`items`.`feed_id` AS `feed_id` ' .
+ $sql = 'SELECT (COUNT(*) - `feeds`.`articles_per_update`) AS `size`' .
+ ', `feeds`.`id` AS `feed_id`, `feeds`.`articles_per_update` ' .
'FROM `*PREFIX*news_items` `items` ' .
'JOIN `*PREFIX*news_feeds` `feeds` ' .
'ON `feeds`.`id` = `items`.`feed_id` ' .
'AND NOT ((`items`.`status` & ?) > 0) ' .
- 'GROUP BY `items`.`feed_id`, `feeds`.`articles_per_update` ' .
+ 'GROUP BY `feeds`.`id`, `feeds`.`articles_per_update` ' .
'HAVING COUNT(*) > ?';
$threshold = 10;
@@ -385,25 +385,27 @@ class ItemMapperTest extends \Test\AppFramework\Db\MapperTestUtility {
$threshold = 10;
$status = StatusFlag::STARRED | StatusFlag::UNREAD;
- $sql1 = 'SELECT COUNT(*) - `feeds`.`articles_per_update` AS `size`, ' .
- '`items`.`feed_id` AS `feed_id` ' .
+ $sql1 = 'SELECT (COUNT(*) - `feeds`.`articles_per_update`) AS `size`' .
+ ', `feeds`.`id` AS `feed_id`, `feeds`.`articles_per_update` ' .
'FROM `*PREFIX*news_items` `items` ' .
'JOIN `*PREFIX*news_feeds` `feeds` ' .
'ON `feeds`.`id` = `items`.`feed_id` ' .
'AND NOT ((`items`.`status` & ?) > 0) ' .
- 'GROUP BY `items`.`feed_id`, `feeds`.`articles_per_update` ' .
+ 'GROUP BY `feeds`.`id`, `feeds`.`articles_per_update` ' .
'HAVING COUNT(*) > ?';
$params1 = [$status, $threshold];
-
- $row = ['feed_id' => 30, 'size' => 11];
-
$sql2 = 'DELETE FROM `*PREFIX*news_items` ' .
- 'WHERE NOT ((`status` & ?) > 0) ' .
- 'AND `feed_id` = ? ' .
- 'ORDER BY `id` ASC';
- $params2 = [$status, 30];
+ 'WHERE `id` IN (' .
+ 'SELECT `id` FROM `*PREFIX*news_items` ' .
+ 'WHERE NOT ((`status` & ?) > 0) ' .
+ 'AND `feed_id` = ? ' .
+ 'ORDER BY `id` ASC ' .
+ 'LIMIT ?' .
+ ')';
+ $params2 = [$status, 30, 1];
+ $row = ['feed_id' => 30, 'size' => 11];
$this->setMapperResult($sql1, $params1, [$row]);
$this->setMapperResult($sql2, $params2);