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); } }