mautic / app /bundles /FormBundle /Tests /Collector /ObjectCollectorTest.php
chrisbryan17's picture
Upload folder using huggingface_hub
d2897cd verified
<?php
declare(strict_types=1);
namespace Mautic\FormBundle\Tests\Collector;
use Mautic\FormBundle\Collection\ObjectCollection;
use Mautic\FormBundle\Collector\ObjectCollector;
use Mautic\FormBundle\Event\ObjectCollectEvent;
use PHPUnit\Framework\Assert;
use Symfony\Component\EventDispatcher\EventDispatcher;
final class ObjectCollectorTest extends \PHPUnit\Framework\TestCase
{
public function testBuildCollectionForNoObject(): void
{
$dispatcher = new class() extends EventDispatcher {
public int $dispatchMethodCallCounter = 0;
public function dispatch(object $event, string $eventName = null): object
{
++$this->dispatchMethodCallCounter;
Assert::assertInstanceOf(ObjectCollectEvent::class, $event);
return new ObjectCollection();
}
};
$objectCollector = new ObjectCollector($dispatcher);
$objectCollection = $objectCollector->getObjects();
// Calling for the second time to ensure it's cached and the dispatcher is called only once.
$objectCollection = $objectCollector->getObjects();
Assert::assertInstanceOf(ObjectCollection::class, $objectCollection);
Assert::assertEquals(1, $dispatcher->dispatchMethodCallCounter);
}
}