Spaces:
No application file
No application file
File size: 1,549 Bytes
d2897cd |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 |
<?php
namespace Mautic\FormBundle\Tests\ProgressiveProfiling;
use Mautic\FormBundle\Entity\Field;
use Mautic\FormBundle\Entity\Form;
use Mautic\FormBundle\ProgressiveProfiling\DisplayCounter;
use Mautic\FormBundle\ProgressiveProfiling\DisplayManager;
class DisplayManagerTest extends \PHPUnit\Framework\TestCase
{
private Form $form;
private array $viewOnlyFields;
private DisplayCounter $displayCounter;
public function setUp(): void
{
$this->viewOnlyFields = [];
$this->form = new Form();
$this->displayCounter = new DisplayCounter($this->form);
}
public function testShowForField(): void
{
$form = new Form();
$viewOnlyFields = ['button'];
$displayManager = new DisplayManager($form, $viewOnlyFields);
$displayCounter = $displayManager->getDisplayCounter();
$field = new Field();
$this->assertTrue($displayManager->showForField($field));
$field->setType('button');
$this->assertTrue($displayManager->showForField($field));
$field->setType('text');
// display If first field is always display and progressive limit 1
$field->setAlwaysDisplay(true);
$form->setProgressiveProfilingLimit(1);
$this->assertTrue($displayManager->showForField($field));
// not display If second field is always display and progressive limit 1
$displayCounter->increaseDisplayedFields();
$this->assertFalse($displayManager->showForField($field));
}
}
|