From ce5659219a6d528f4e69eb6cf6da4a5f062a9c07 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Julien=20Fastr=C3=A9?= Date: Thu, 11 Jul 2024 11:04:04 +0200 Subject: [PATCH] Fix test --- .../Tests/Controller/WebdavControllerTest.php | 27 ++++++++++++------- 1 file changed, 18 insertions(+), 9 deletions(-) diff --git a/src/Bundle/ChillDocStoreBundle/Tests/Controller/WebdavControllerTest.php b/src/Bundle/ChillDocStoreBundle/Tests/Controller/WebdavControllerTest.php index d116add92..5d6565108 100644 --- a/src/Bundle/ChillDocStoreBundle/Tests/Controller/WebdavControllerTest.php +++ b/src/Bundle/ChillDocStoreBundle/Tests/Controller/WebdavControllerTest.php @@ -14,6 +14,7 @@ namespace Chill\DocStoreBundle\Tests\Controller; use Chill\DocStoreBundle\Controller\WebdavController; use Chill\DocStoreBundle\Entity\StoredObject; use Chill\DocStoreBundle\Service\StoredObjectManagerInterface; +use Doctrine\ORM\EntityManagerInterface; use Prophecy\Argument; use Prophecy\PhpUnit\ProphecyTrait; use Ramsey\Uuid\Uuid; @@ -39,20 +40,25 @@ class WebdavControllerTest extends KernelTestCase $this->engine = self::getContainer()->get(\Twig\Environment::class); } - private function buildController(): WebdavController + private function buildController(EntityManagerInterface $entityManager = null): WebdavController { $storedObjectManager = new MockedStoredObjectManager(); $security = $this->prophesize(Security::class); $security->isGranted(Argument::in(['EDIT', 'SEE']), Argument::type(StoredObject::class)) ->willReturn(true); - return new WebdavController($this->engine, $storedObjectManager, $security->reveal()); + if (null === $entityManager) { + $entityManager = $this->createMock(EntityManagerInterface::class); + } + + return new WebdavController($this->engine, $storedObjectManager, $security->reveal(), $entityManager); } private function buildDocument(): StoredObject { $object = (new StoredObject()) - ->setType('application/vnd.oasis.opendocument.text'); + ->registerVersion(type: 'application/vnd.oasis.opendocument.text') + ->getStoredObject(); $reflectionObject = new \ReflectionClass($object); $reflectionObjectUuid = $reflectionObject->getProperty('uuid'); @@ -384,24 +390,27 @@ class WebdavControllerTest extends KernelTestCase class MockedStoredObjectManager implements StoredObjectManagerInterface { - public function getLastModified(StoredObject $document): \DateTimeInterface + public function getLastModified(StoredObject|\Chill\DocStoreBundle\Entity\StoredObjectVersion $document): \DateTimeInterface { - return new \DateTimeImmutable('2023-09-13T14:15'); + return new \DateTimeImmutable('2023-09-13T14:15', new \DateTimeZone('+02:00')); } - public function getContentLength(StoredObject $document): int + public function getContentLength(StoredObject|\Chill\DocStoreBundle\Entity\StoredObjectVersion $document): int { return 5; } - public function read(StoredObject $document): string + public function read(StoredObject|\Chill\DocStoreBundle\Entity\StoredObjectVersion $document): string { return 'abcde'; } - public function write(StoredObject $document, string $clearContent): void {} + public function write(StoredObject $document, string $clearContent, ?string $contentType = null): \Chill\DocStoreBundle\Entity\StoredObjectVersion + { + return $document->registerVersion(); + } - public function etag(StoredObject $document): string + public function etag(StoredObject|\Chill\DocStoreBundle\Entity\StoredObjectVersion $document): string { return 'ab56b4d92b40713acc5af89985d4b786'; }