Spaces:
No application file
No application file
| 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); | |
| } | |
| } | |