Spaces:
No application file
No application file
File size: 1,978 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 51 52 53 54 55 56 57 58 59 60 61 62 63 64 |
<?php
declare(strict_types=1);
namespace Mautic\LeadBundle\Tests\Provider;
use Mautic\LeadBundle\Event\FormAdjustmentEvent;
use Mautic\LeadBundle\LeadEvents;
use Mautic\LeadBundle\Provider\FormAdjustmentsProvider;
use Mautic\LeadBundle\Segment\OperatorOptions;
use PHPUnit\Framework\MockObject\MockObject;
use Symfony\Component\EventDispatcher\EventDispatcherInterface;
use Symfony\Component\Form\FormInterface;
final class FormAdjustmentsProviderTest extends \PHPUnit\Framework\TestCase
{
/**
* @var MockObject&EventDispatcherInterface
*/
private MockObject $dispatcher;
/**
* @var MockObject&FormInterface<mixed>
*/
private MockObject $form;
private FormAdjustmentsProvider $provider;
protected function setUp(): void
{
parent::setUp();
$this->dispatcher = $this->createMock(EventDispatcherInterface::class);
$this->form = $this->createMock(FormInterface::class);
$this->provider = new FormAdjustmentsProvider($this->dispatcher);
}
public function testAdjustForm(): void
{
$this->dispatcher->expects($this->once())
->method('dispatch')
->with(
$this->callback(function (FormAdjustmentEvent $event) {
$this->assertSame($this->form, $event->getForm());
$this->assertSame('email', $event->getFieldAlias());
$this->assertSame('lead', $event->getFieldObject());
$this->assertSame(OperatorOptions::EQUAL_TO, $event->getOperator());
$this->assertSame('text', $event->getFieldType());
return true;
}),
LeadEvents::ADJUST_FILTER_FORM_TYPE_FOR_FIELD
);
$this->provider->adjustForm(
$this->form,
'email',
'lead',
OperatorOptions::EQUAL_TO,
['properties' => ['type' => 'text']]
);
}
}
|