]> source.dussan.org Git - nextcloud-server.git/commitdiff
Add unit test for expiration date with date and with default
authorDaniel Calviño Sánchez <danxuliu@gmail.com>
Thu, 12 Nov 2020 08:35:34 +0000 (09:35 +0100)
committerbackportbot[bot] <backportbot[bot]@users.noreply.github.com>
Mon, 16 Nov 2020 13:16:55 +0000 (13:16 +0000)
This adds back what was being actually tested in the unit test fixed in
the previous commit.

Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
tests/lib/Share20/ManagerTest.php

index ad2f536f6da7375a2699f2cc46dd3929a34a9f4e..a4647cfb9c645db8650b76c3010defce003b379c 100644 (file)
@@ -961,6 +961,34 @@ class ManagerTest extends \Test\TestCase {
                $this->assertEquals($expected, $share->getExpirationDate());
        }
 
+       public function testValidateExpirationDateDefault() {
+               $future = new \DateTime();
+               $future->add(new \DateInterval('P5D'));
+               $future->setTime(0,0,0);
+
+               $expected = clone $future;
+
+               $share = $this->manager->newShare();
+               $share->setExpirationDate($future);
+
+               $this->config->method('getAppValue')
+                       ->willReturnMap([
+                               ['core', 'shareapi_default_expire_date', 'no', 'yes'],
+                               ['core', 'shareapi_expire_after_n_days', '7', '3'],
+                               ['core', 'link_defaultExpDays', 3, '1'],
+                       ]);
+
+               $hookListener = $this->getMockBuilder('Dummy')->setMethods(['listener'])->getMock();
+               \OCP\Util::connectHook('\OC\Share', 'verifyExpirationDate', $hookListener, 'listener');
+               $hookListener->expects($this->once())->method('listener')->with($this->callback(function ($data) use ($expected) {
+                       return $data['expirationDate'] == $expected;
+               }));
+
+               self::invokePrivate($this->manager, 'validateExpirationDate', [$share]);
+
+               $this->assertEquals($expected, $share->getExpirationDate());
+       }
+
        public function testValidateExpirationDateHookModification() {
                $nextWeek = new \DateTime();
                $nextWeek->add(new \DateInterval('P7D'));