Merge pull request #33106 from nextcloud/feature/update-expire-date

Update expire_date column of table comments
pull/37937/head
Arthur Schiwon 2023-05-03 10:26:28 +07:00 committed by GitHub
commit ef87dfc478
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 30 additions and 3 deletions

@ -1351,7 +1351,8 @@ class Manager implements ICommentsManager {
->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()));

@ -516,15 +516,41 @@ class ManagerTest extends TestCase {
->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')
);
}