chill-bundles/src/Bundle/ChillMainBundle/Tests/Controller/ExportGenerationControllerTest.php
2025-04-08 15:24:52 +02:00

58 lines
1.8 KiB
PHP

<?php
declare(strict_types=1);
/*
* Chill is a software for social workers
*
* For the full copyright and license information, please view
* the LICENSE file that was distributed with this source code.
*/
namespace Chill\MainBundle\Tests\Controller;
use Chill\DocStoreBundle\Entity\StoredObject;
use Chill\MainBundle\Controller\ExportGenerationController;
use Chill\MainBundle\Entity\ExportGeneration;
use Chill\MainBundle\Export\ExportManager;
use PHPUnit\Framework\TestCase;
use Prophecy\Argument;
use Prophecy\PhpUnit\ProphecyTrait;
use Psr\Log\NullLogger;
use Symfony\Component\Security\Core\Security;
use Symfony\Component\Serializer\SerializerInterface;
use Twig\Environment;
use function PHPUnit\Framework\assertEquals;
/**
* @internal
*
* @coversNothing
*/
class ExportGenerationControllerTest extends TestCase
{
use ProphecyTrait;
public function testObjectStatus(): void
{
$security = $this->prophesize(Security::class);
$security->isGranted('ROLE_USER')->willReturn(true);
$environment = $this->prophesize(Environment::class);
$serializer = $this->prophesize(SerializerInterface::class);
$serializer->serialize(Argument::any(), 'json', ['groups' => ['read']])->willReturn('{}');
$exportManager = $this->prophesize(ExportManager::class);
$pending = new ExportGeneration('dummy', []);
$controller = new ExportGenerationController($security->reveal(), $environment->reveal(), $serializer->reveal(), $exportManager->reveal());
$actual = $controller->objectStatus($pending);
self::assertEquals('{}', $actual->getContent());
$generated = new ExportGeneration('dummy', []);
$generated->getStoredObject()->setStatus(StoredObject::STATUS_READY);
self:assertEquals('{}', $controller->objectStatus($generated)->getContent());
}
}