Spaces:
No application file
No application file
File size: 4,227 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 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 |
<?php
declare(strict_types=1);
namespace Mautic\FormBundle\Tests\Model;
use Doctrine\ORM\EntityManagerInterface;
use Mautic\CoreBundle\Doctrine\Helper\ColumnSchemaHelper;
use Mautic\CoreBundle\Doctrine\Helper\TableSchemaHelper;
use Mautic\CoreBundle\Helper\CoreParametersHelper;
use Mautic\CoreBundle\Helper\ThemeHelperInterface;
use Mautic\CoreBundle\Helper\UserHelper;
use Mautic\CoreBundle\Security\Permissions\CorePermissions;
use Mautic\CoreBundle\Translation\Translator;
use Mautic\FormBundle\Collector\MappedObjectCollectorInterface;
use Mautic\FormBundle\Entity\Form;
use Mautic\FormBundle\Entity\FormRepository;
use Mautic\FormBundle\Helper\FormFieldHelper;
use Mautic\FormBundle\Helper\FormUploader;
use Mautic\FormBundle\Model\ActionModel;
use Mautic\FormBundle\Model\FieldModel;
use Mautic\FormBundle\Model\FormModel;
use Mautic\LeadBundle\Helper\PrimaryCompanyHelper;
use Mautic\LeadBundle\Model\FieldModel as LeadFieldModel;
use Mautic\LeadBundle\Tracker\ContactTracker;
use Psr\Log\LoggerInterface;
use Symfony\Component\EventDispatcher\EventDispatcher;
use Symfony\Component\HttpFoundation\RequestStack;
use Symfony\Component\Routing\Generator\UrlGeneratorInterface;
use Twig\Environment;
class DeleteFormTest extends \PHPUnit\Framework\TestCase
{
public function testDelete(): void
{
$requestStack = $this->createMock(RequestStack::class);
$twigMock = $this->createMock(Environment::class);
$themeHelper = $this->createMock(ThemeHelperInterface::class);
$formActionModel = $this->createMock(ActionModel::class);
$formFieldModel = $this->createMock(FieldModel::class);
$fieldHelper = $this->createMock(FormFieldHelper::class);
$primaryCompanyHelper = $this->createMock(PrimaryCompanyHelper::class);
$leadFieldModel = $this->createMock(LeadFieldModel::class);
$formUploaderMock = $this->createMock(FormUploader::class);
$contactTracker = $this->createMock(ContactTracker::class);
$columnSchemaHelper = $this->createMock(ColumnSchemaHelper::class);
$tableSchemaHelper = $this->createMock(TableSchemaHelper::class);
$entityManager = $this->createMock(EntityManagerInterface::class);
$dispatcher = $this->createMock(EventDispatcher::class);
$formRepository = $this->createMock(FormRepository::class);
$form = $this->createMock(Form::class);
$mappedObjectCollector = $this->createMock(MappedObjectCollectorInterface::class);
$formModel = new FormModel(
$requestStack,
$twigMock,
$themeHelper,
$formActionModel,
$formFieldModel,
$fieldHelper,
$primaryCompanyHelper,
$leadFieldModel,
$formUploaderMock,
$contactTracker,
$columnSchemaHelper,
$tableSchemaHelper,
$mappedObjectCollector,
$entityManager,
$this->createMock(CorePermissions::class),
$dispatcher,
$this->createMock(UrlGeneratorInterface::class),
$this->createMock(Translator::class),
$this->createMock(UserHelper::class),
$this->createMock(LoggerInterface::class),
$this->createMock(CoreParametersHelper::class)
);
$dispatcher->expects($this->exactly(2))
->method('hasListeners')
->withConsecutive(['mautic.form_pre_delete'], ['mautic.form_post_delete'])
->willReturn(false);
$entityManager->expects($this->once())
->method('getRepository')
->willReturn($formRepository);
$form->expects($this->exactly(2))
->method('getId')
->with()
->willReturn(1);
$formUploaderMock->expects($this->once())
->method('deleteFilesOfForm')
->with($form);
$formRepository->expects($this->once())
->method('deleteEntity')
->with($form);
$formModel->deleteEntity($form);
$this->assertSame(1, $form->deletedId);
}
}
|