From faeeecd070b6cb6fa45b21ac7b0c82defc66e606 Mon Sep 17 00:00:00 2001 From: Vitor Mattos Date: Mon, 4 Jul 2022 14:08:30 -0300 Subject: [PATCH 1/2] Update expire_date column of table comments Signed-off-by: Vitor Mattos --- lib/private/Comments/Manager.php | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/lib/private/Comments/Manager.php b/lib/private/Comments/Manager.php index 3eb9aab6817fa..a5c9301ffa244 100644 --- a/lib/private/Comments/Manager.php +++ b/lib/private/Comments/Manager.php @@ -1344,7 +1344,8 @@ protected function updateQuery(IComment $comment, bool $tryWritingReferenceId): ->set('creation_timestamp', $qb->createNamedParameter($comment->getCreationDateTime(), 'datetime')) ->set('latest_child_timestamp', $qb->createNamedParameter($comment->getLatestChildDateTime(), 'datetime')) ->set('object_type', $qb->createNamedParameter($comment->getObjectType())) - ->set('object_id', $qb->createNamedParameter($comment->getObjectId())); + ->set('object_id', $qb->createNamedParameter($comment->getObjectId())) + ->set('expire_date', $qb->createNamedParameter($comment->getExpireDate(), 'datetime')); if ($tryWritingReferenceId) { $qb->set('reference_id', $qb->createNamedParameter($comment->getReferenceId())); From a597bf347dd2048ec35bc04b6b4a4fbfd80fafa0 Mon Sep 17 00:00:00 2001 From: Vitor Mattos Date: Wed, 26 Apr 2023 13:17:37 -0300 Subject: [PATCH 2/2] Cover expire_date with unit tests Signed-off-by: Vitor Mattos --- tests/lib/Comments/ManagerTest.php | 30 ++++++++++++++++++++++++++++-- 1 file changed, 28 insertions(+), 2 deletions(-) diff --git a/tests/lib/Comments/ManagerTest.php b/tests/lib/Comments/ManagerTest.php index 1af460e6f1bf9..1d08f0f508598 100644 --- a/tests/lib/Comments/ManagerTest.php +++ b/tests/lib/Comments/ManagerTest.php @@ -516,15 +516,41 @@ public function testSaveUpdate() { ->setActor('users', 'alice') ->setObject('files', 'file64') ->setMessage('very beautiful, I am impressed!') - ->setVerb('comment'); + ->setVerb('comment') + ->setExpireDate(new \DateTime('+2 hours')); $manager->save($comment); - $comment->setMessage('very beautiful, I am really so much impressed!'); + $loadedComment = $manager->get($comment->getId()); + // Compare current object with database values + $this->assertSame($comment->getMessage(), $loadedComment->getMessage()); + $this->assertSame( + $comment->getExpireDate()->format('Y-m-d H:i:s'), + $loadedComment->getExpireDate()->format('Y-m-d H:i:s') + ); + + // Preserve the original comment to compare after update + $original = clone $comment; + + // Update values + $comment->setMessage('very beautiful, I am really so much impressed!') + ->setExpireDate(new \DateTime('+1 hours')); $manager->save($comment); $loadedComment = $manager->get($comment->getId()); + // Compare current object with database values $this->assertSame($comment->getMessage(), $loadedComment->getMessage()); + $this->assertSame( + $comment->getExpireDate()->format('Y-m-d H:i:s'), + $loadedComment->getExpireDate()->format('Y-m-d H:i:s') + ); + + // Compare original object with database values + $this->assertNotSame($original->getMessage(), $loadedComment->getMessage()); + $this->assertNotSame( + $original->getExpireDate()->format('Y-m-d H:i:s'), + $loadedComment->getExpireDate()->format('Y-m-d H:i:s') + ); }