diff options
author | Sean Molenaar <sean@seanmolenaar.eu> | 2020-10-10 00:23:15 +0200 |
---|---|---|
committer | Benjamin Brahmer <info@b-brahmer.de> | 2020-10-10 10:26:12 +0200 |
commit | b46c6df6322e09c05a34acca69403fd4ebd238ba (patch) | |
tree | 47182b11d97869304e97f729eacc490bc420d5df /tests/Unit/Db/FolderMapperTest.php | |
parent | eb382ded61f608a4bb8d52a7a71478e461ca5be7 (diff) |
Fix usage of at() in unittests
Signed-off-by: Sean Molenaar <sean@seanmolenaar.eu>
Diffstat (limited to 'tests/Unit/Db/FolderMapperTest.php')
-rw-r--r-- | tests/Unit/Db/FolderMapperTest.php | 228 |
1 files changed, 204 insertions, 24 deletions
diff --git a/tests/Unit/Db/FolderMapperTest.php b/tests/Unit/Db/FolderMapperTest.php index deb235ff7..803c84ebe 100644 --- a/tests/Unit/Db/FolderMapperTest.php +++ b/tests/Unit/Db/FolderMapperTest.php @@ -50,21 +50,40 @@ class FolderMapperTest extends MapperTestUtility ]; } - + /** + * @covers \OCA\News\Db\FolderMapper::find + */ public function testFind() { $userId = 'john'; $id = 3; - $rows = [['id' => $this->folders[0]->getId()]]; $sql = 'SELECT * FROM `*PREFIX*news_folders` ' . 'WHERE `id` = ? ' . 'AND `user_id` = ?'; - $this->setMapperResult($sql, [$id, $userId], $rows); + $this->db->expects($this->exactly(1)) + ->method('prepare') + ->with($sql, null, null) + ->will(($this->returnValue($this->query))); + + $this->query->expects($this->exactly(2)) + ->method('fetch') + ->willReturnOnConsecutiveCalls(['id' => 4], false); + + $this->query->expects($this->exactly(2)) + ->method('bindValue') + ->withConsecutive([1, 3, 1], [2, $userId, 2]); + + $this->query->expects($this->exactly(1)) + ->method('closeCursor'); + + $this->query->expects($this->once()) + ->method('execute') + ->with('') + ->will($this->returnValue([])); $result = $this->folderMapper->find($userId, $id); $this->assertEquals($this->folders[0], $result); - } @@ -76,7 +95,26 @@ class FolderMapperTest extends MapperTestUtility 'WHERE `id` = ? ' . 'AND `user_id` = ?'; - $this->setMapperResult($sql, [$id, $userId]); + $this->db->expects($this->exactly(1)) + ->method('prepare') + ->with($sql, null, null) + ->will(($this->returnValue($this->query))); + + $this->query->expects($this->exactly(1)) + ->method('fetch') + ->willReturnOnConsecutiveCalls(false); + + $this->query->expects($this->exactly(2)) + ->method('bindValue') + ->withConsecutive([1, $id, 1], [2, $userId, 2]); + + $this->query->expects($this->exactly(1)) + ->method('closeCursor'); + + $this->query->expects($this->once()) + ->method('execute') + ->with('') + ->will($this->returnValue([])); $this->expectException(DoesNotExistException::class); $this->folderMapper->find($userId, $id); @@ -87,12 +125,30 @@ class FolderMapperTest extends MapperTestUtility { $userId = 'john'; $id = 3; - $rows = $this->twoRows; $sql = 'SELECT * FROM `*PREFIX*news_folders` ' . 'WHERE `id` = ? ' . 'AND `user_id` = ?'; - $this->setMapperResult($sql, [$id, $userId], $rows); + $this->db->expects($this->exactly(1)) + ->method('prepare') + ->with($sql, null, null) + ->will(($this->returnValue($this->query))); + + $this->query->expects($this->exactly(2)) + ->method('fetch') + ->willReturnOnConsecutiveCalls(['id' => 4], ['id' => 5]); + + $this->query->expects($this->exactly(2)) + ->method('bindValue') + ->withConsecutive([1, 3, 1], [2, $userId, 2]); + + $this->query->expects($this->exactly(1)) + ->method('closeCursor'); + + $this->query->expects($this->once()) + ->method('execute') + ->with('') + ->will($this->returnValue([])); $this->expectException(MultipleObjectsReturnedException::class); $this->folderMapper->find($userId, $id); @@ -103,12 +159,29 @@ class FolderMapperTest extends MapperTestUtility public function testFindAllFromUser() { $userId = 'john'; - $rows = $this->twoRows; $sql = 'SELECT * FROM `*PREFIX*news_folders` ' . 'WHERE `user_id` = ? ' . 'AND `deleted_at` = 0'; - $this->setMapperResult($sql, [$userId], $rows); + $this->db->expects($this->exactly(1)) + ->method('prepare') + ->with($sql, null, null) + ->will(($this->returnValue($this->query))); + + $this->query->expects($this->exactly(3)) + ->method('fetch') + ->willReturnOnConsecutiveCalls(['id' => 4], ['id' => 5]); + + $this->query->expects($this->exactly(1)) + ->method('bindValue') + ->withConsecutive([1, $userId, 2]); + + $this->query->expects($this->exactly(1)) + ->method('closeCursor'); + + $this->query->expects($this->once()) + ->method('execute') + ->will($this->returnValue([])); $result = $this->folderMapper->findAllFromUser($userId); $this->assertEquals($this->folders, $result); @@ -119,12 +192,29 @@ class FolderMapperTest extends MapperTestUtility { $folderName = 'heheh'; $userId = 'john'; - $rows = $this->twoRows; $sql = 'SELECT * FROM `*PREFIX*news_folders` ' . 'WHERE `name` = ? ' . 'AND `user_id` = ?'; - $this->setMapperResult($sql, [$folderName, $userId], $rows); + $this->db->expects($this->exactly(1)) + ->method('prepare') + ->with($sql, null, null) + ->will(($this->returnValue($this->query))); + + $this->query->expects($this->exactly(3)) + ->method('fetch') + ->willReturnOnConsecutiveCalls(['id' => 4], ['id' => 5]); + + $this->query->expects($this->exactly(2)) + ->method('bindValue') + ->withConsecutive([1, $folderName, 2], [2, $userId, 2]); + + $this->query->expects($this->exactly(1)) + ->method('closeCursor'); + + $this->query->expects($this->once()) + ->method('execute') + ->will($this->returnValue([])); $result = $this->folderMapper->findByName($folderName, $userId); $this->assertEquals($this->folders, $result); @@ -145,9 +235,25 @@ class FolderMapperTest extends MapperTestUtility $sql3 = 'DELETE FROM `*PREFIX*news_items` WHERE `feed_id` NOT IN '. '(SELECT `feeds`.`id` FROM `*PREFIX*news_feeds` `feeds`)'; - $this->setMapperResult($sql, $arguments, [], null, null, true); - $this->setMapperResult($sql2, $arguments2, [], null, null, true); - $this->setMapperResult($sql3, [], [], null, null, true); + $this->db->expects($this->exactly(3)) + ->method('prepare') + ->withConsecutive( + [$sql, null, null], + [$sql2, null, null], + [$sql3, null, null] + ) + ->will(($this->returnValue($this->query))); + + $this->query->expects($this->exactly(2)) + ->method('bindValue') + ->withConsecutive([1, 3, 1]); + + $this->query->expects($this->exactly(3)) + ->method('closeCursor'); + + $this->query->expects($this->exactly(3)) + ->method('execute') + ->will($this->returnValue([])); $this->folderMapper->delete($folder); } @@ -155,13 +261,32 @@ class FolderMapperTest extends MapperTestUtility public function testGetPurgeDeleted() { - $rows = $this->twoRows; - $deleteOlderThan = 110; $sql = 'SELECT * FROM `*PREFIX*news_folders` ' . 'WHERE `deleted_at` > 0 ' . 'AND `deleted_at` < ? '; - $this->setMapperResult($sql, [$deleteOlderThan], $rows); - $result = $this->folderMapper->getToDelete($deleteOlderThan); + + + $this->db->expects($this->exactly(1)) + ->method('prepare') + ->with($sql, null, null) + ->will(($this->returnValue($this->query))); + + $this->query->expects($this->exactly(3)) + ->method('fetch') + ->willReturnOnConsecutiveCalls(['id' => 4], ['id' => 5]); + + $this->query->expects($this->exactly(1)) + ->method('bindValue') + ->withConsecutive([1, 110, 1]); + + $this->query->expects($this->exactly(1)) + ->method('closeCursor'); + + $this->query->expects($this->once()) + ->method('execute') + ->will($this->returnValue([])); + + $result = $this->folderMapper->getToDelete(110); $this->assertEquals($this->folders, $result); } @@ -170,13 +295,33 @@ class FolderMapperTest extends MapperTestUtility public function testGetPurgeDeletedUser() { - $rows = $this->twoRows; $deleteOlderThan = 110; $sql = 'SELECT * FROM `*PREFIX*news_folders` ' . 'WHERE `deleted_at` > 0 ' . 'AND `deleted_at` < ? ' . 'AND `user_id` = ?'; - $this->setMapperResult($sql, [$deleteOlderThan, $this->user], $rows); + + + $this->db->expects($this->exactly(1)) + ->method('prepare') + ->with($sql, null, null) + ->will(($this->returnValue($this->query))); + + $this->query->expects($this->exactly(3)) + ->method('fetch') + ->willReturnOnConsecutiveCalls(['id' => 4], ['id' => 5]); + + $this->query->expects($this->exactly(2)) + ->method('bindValue') + ->withConsecutive([1, 110, 1], [2, 'hh', 2]); + + $this->query->expects($this->exactly(1)) + ->method('closeCursor'); + + $this->query->expects($this->once()) + ->method('execute') + ->will($this->returnValue([])); + $result = $this->folderMapper->getToDelete( $deleteOlderThan, $this->user ); @@ -187,12 +332,30 @@ class FolderMapperTest extends MapperTestUtility public function testGetAllPurgeDeletedUser() { - $rows = $this->twoRows; - $sql = 'SELECT * FROM `*PREFIX*news_folders` ' . 'WHERE `deleted_at` > 0 ' . 'AND `user_id` = ?'; - $this->setMapperResult($sql, [$this->user], $rows); + + $this->db->expects($this->exactly(1)) + ->method('prepare') + ->with($sql, null, null) + ->will(($this->returnValue($this->query))); + + $this->query->expects($this->exactly(3)) + ->method('fetch') + ->willReturnOnConsecutiveCalls(['id' => 4], ['id' => 5]); + + $this->query->expects($this->exactly(1)) + ->method('bindValue') + ->withConsecutive([1, 'hh', 2]); + + $this->query->expects($this->exactly(1)) + ->method('closeCursor'); + + $this->query->expects($this->once()) + ->method('execute') + ->will($this->returnValue([])); + $result = $this->folderMapper->getToDelete(null, $this->user); $this->assertEquals($this->folders, $result); @@ -204,7 +367,24 @@ class FolderMapperTest extends MapperTestUtility $userId = 'john'; $sql = 'DELETE FROM `*PREFIX*news_folders` WHERE `user_id` = ?'; - $this->setMapperResult($sql, [$userId]); + $this->db->expects($this->exactly(1)) + ->method('prepare') + ->with($sql, null, null) + ->will(($this->returnValue($this->query))); + + $this->query->expects($this->never()) + ->method('fetch'); + + $this->query->expects($this->exactly(1)) + ->method('bindValue') + ->withConsecutive([1, $userId, 2]); + + $this->query->expects($this->exactly(0)) + ->method('closeCursor'); + + $this->query->expects($this->once()) + ->method('execute') + ->will($this->returnValue([])); $this->folderMapper->deleteUser($userId); } |