From 9d08b5000512872388a91adf7176bd9edb97d734 Mon Sep 17 00:00:00 2001 From: Dennis Patzer Date: Tue, 10 Apr 2018 16:10:18 +0200 Subject: [PATCH] fixed translation, text concat issue, readme --- README.md | 2 +- src/Choice/ElementChoice.php | 7 +- src/Choice/FieldOptionsChoice.php | 26 +- src/Choice/TypeChoice.php | 2 +- src/Config/FilterConfig.php | 91 +-- src/ContaoManager/Plugin.php | 10 +- src/Controller/FrontendController.php | 18 +- src/Filter/AbstractType.php | 6 +- src/Filter/Type/CheckboxType.php | 2 +- src/Filter/Type/ChoiceType.php | 14 +- src/Filter/Type/DateRangeType.php | 40 +- src/Filter/Type/DateTimeType.php | 24 +- src/Filter/Type/DateType.php | 32 +- src/Filter/Type/LocaleType.php | 2 - src/Filter/Type/MoneyType.php | 1 - src/Filter/Type/NumberType.php | 1 - src/Filter/Type/ParentType.php | 6 +- src/Filter/Type/PasswordType.php | 1 - src/Filter/Type/PercentType.php | 1 - src/Filter/Type/PublishedType.php | 49 +- src/Filter/Type/RadioType.php | 2 - src/Filter/Type/RangeType.php | 3 - src/Filter/Type/ResetType.php | 2 +- src/Filter/Type/SearchType.php | 3 - src/Filter/Type/TelType.php | 3 - src/Filter/Type/TextConcatType.php | 21 +- src/Filter/Type/TextareaType.php | 2 - src/Filter/Type/TimeType.php | 8 +- src/Filter/Type/UrlType.php | 3 - src/Form/FilterType.php | 24 +- src/Manager/FilterManager.php | 15 +- src/Model/FilterConfigElementModel.php | 111 +-- src/Model/FilterConfigModel.php | 16 +- src/Module/ModuleFilter.php | 14 +- src/QueryBuilder/FilterQueryBuilder.php | 123 ++-- .../languages/de/tl_filter_config_element.php | 2 +- .../languages/en/tl_filter_config_element.php | 2 +- tests/Backend/FilterConfigElementTest.php | 4 +- tests/Choice/CountryChoiceTest.php | 2 +- tests/Choice/ElementChoiceTest.php | 48 +- tests/Choice/FieldOptionsChoiceTest.php | 533 +++++++------- tests/Choice/LanguageChoiceTest.php | 2 +- tests/Choice/LocaleChoiceTest.php | 2 +- tests/Choice/TemplateChoiceTest.php | 3 +- tests/Choice/TypeChoiceTest.php | 2 +- tests/Config/FilterConfigTest.php | 38 +- tests/ContaoManager/PluginTest.php | 2 +- ...eimrichHannotContaoFilterExtensionTest.php | 5 +- tests/Filter/Type/ButtonTypeTest.php | 127 ++-- tests/Filter/Type/CheckboxTypeTest.php | 157 ++-- tests/Filter/Type/ChoiceTypeTest.php | 199 +++-- tests/Filter/Type/ColorTypeTest.php | 53 +- tests/Filter/Type/CountryTypeTest.php | 205 +++--- tests/Filter/Type/DateRangeTypeTest.php | 689 +++++++++--------- tests/Filter/Type/DateTimeTypeTest.php | 386 +++++----- tests/Filter/Type/DateTypeTest.php | 390 +++++----- tests/Filter/Type/EmailTypeTest.php | 53 +- tests/Filter/Type/HiddenTypeTest.php | 79 +- tests/Filter/Type/IllegalTypeClass.php | 10 +- tests/Filter/Type/IntegerTypeTest.php | 53 +- tests/Filter/Type/LanguageTypeTest.php | 206 +++--- tests/Filter/Type/LocaleTypeTest.php | 207 +++--- tests/Filter/Type/MoneyTypeTest.php | 53 +- tests/Filter/Type/NumberTypeTest.php | 53 +- tests/Filter/Type/ParentTypeTest.php | 92 ++- tests/Filter/Type/PasswordTypeTest.php | 53 +- tests/Filter/Type/PercentTypeTest.php | 53 +- tests/Filter/Type/PublishedTypeTest.php | 157 ++-- tests/Filter/Type/RadioTypeTest.php | 157 ++-- tests/Filter/Type/RangeTypeTest.php | 65 +- tests/Filter/Type/ResetTypeTest.php | 127 ++-- tests/Filter/Type/SearchTypeTest.php | 53 +- tests/Filter/Type/SubmitTypeTest.php | 127 ++-- tests/Filter/Type/TelTypeTest.php | 54 +- tests/Filter/Type/TextConcatTypeTest.php | 171 +++-- tests/Filter/Type/TextTypeTest.php | 157 ++-- tests/Filter/Type/TextareaTypeTest.php | 53 +- tests/Filter/Type/TimeTypeTest.php | 386 +++++----- tests/Filter/Type/UrlTypeTest.php | 53 +- tests/Model/FilterConfigElementModelTest.php | 197 +++-- tests/Model/FilterConfigModelTest.php | 34 +- tests/Module/ModuleFilterTest.php | 68 +- tests/Session/FilterSessionTest.php | 21 +- tests/Utils/FilterConfigElementHelperTest.php | 4 +- 84 files changed, 3094 insertions(+), 3238 deletions(-) diff --git a/README.md b/README.md index 8b0feeb..bbaf963 100644 --- a/README.md +++ b/README.md @@ -17,7 +17,7 @@ Replace `categories` with the name of your custom field. Remove `onchange` handl Select fallback can be used on small devices, if too many options, display/hide, using `@media` breakpoints. ``` -{% if(form.categories|default()) %} +{% if(form.categories is defined) %}
{{ form_label(form.categories) }} {% do form.categories.setRendered %} diff --git a/src/Choice/ElementChoice.php b/src/Choice/ElementChoice.php index a3f3b7d..5647d47 100644 --- a/src/Choice/ElementChoice.php +++ b/src/Choice/ElementChoice.php @@ -33,7 +33,7 @@ protected function collect() $context['types'] = isset($context['types']) && is_array($context['types']) ? $context['types'] : []; /** - * @var $adapter FilterConfigElementModel + * @var FilterConfigElementModel */ $adapter = $this->framework->getAdapter(FilterConfigElementModel::class); @@ -45,9 +45,8 @@ protected function collect() return $choices; } - foreach ($elements as $element) - { - $choices[$element->id] = $element->name . ' [' . $element->type . ']'; + foreach ($elements as $element) { + $choices[$element->id] = $element->name.' ['.$element->type.']'; } return $choices; diff --git a/src/Choice/FieldOptionsChoice.php b/src/Choice/FieldOptionsChoice.php index 7bdc5dd..2fb7463 100644 --- a/src/Choice/FieldOptionsChoice.php +++ b/src/Choice/FieldOptionsChoice.php @@ -31,7 +31,7 @@ protected function collect() } $element = $context['element']; - $filter = $context['filter']; + $filter = $context['filter']; $options = []; @@ -48,7 +48,7 @@ protected function collect() return $choices; } - if (true === (bool)$element->customOptions) { + if (true === (bool) $element->customOptions) { $options = $this->getCustomOptions($element, $filter); } elseif (isset($GLOBALS['TL_DCA'][$filter['dataContainer']]['fields'][$element->field])) { $options = $this->getDcaOptions($element, $filter, @@ -77,7 +77,7 @@ protected function collect() * Get custom options. * * @param FilterConfigElementModel $element - * @param array $filter + * @param array $filter * * @return array */ @@ -96,15 +96,15 @@ protected function getCustomOptions(FilterConfigElementModel $element, array $fi * Get contao dca widget options. * * @param FilterConfigElementModel $element - * @param array $filter - * @param array $dca + * @param array $filter + * @param array $dca * * @return array */ protected function getDcaOptions(FilterConfigElementModel $element, array $filter, array $dca) { $options = []; - $dca = $GLOBALS['TL_DCA'][$filter['dataContainer']]['fields'][$element->field]; + $dca = $GLOBALS['TL_DCA'][$filter['dataContainer']]['fields'][$element->field]; if (isset($dca['eval']['isCategoryField']) && $dca['eval']['isCategoryField']) { $options = $this->getCategoryWidgetOptions($element, $filter, $dca); @@ -134,8 +134,8 @@ protected function getDcaOptions(FilterConfigElementModel $element, array $filte * Get default contao widget options. * * @param FilterConfigElementModel $element - * @param array $filter - * @param array $dca + * @param array $filter + * @param array $dca * * @return array */ @@ -173,8 +173,8 @@ protected function getWidgetOptions(FilterConfigElementModel $element, array $fi * Get tag widget options. * * @param FilterConfigElementModel $element - * @param array $filter - * @param array $dca + * @param array $filter + * @param array $dca * * @return array */ @@ -187,7 +187,7 @@ protected function getTagWidgetOptions(FilterConfigElementModel $element, array } /** - * @var $tagsManager \Codefog\TagsBundle\Manager\ManagerInterface + * @var \Codefog\TagsBundle\Manager\ManagerInterface */ $tagsManager = System::getContainer()->get('codefog_tags.manager_registry')->get( $dca['eval']['tagsManager'] @@ -211,8 +211,8 @@ protected function getTagWidgetOptions(FilterConfigElementModel $element, array * Get category widget options. * * @param FilterConfigElementModel $element - * @param array $filter - * @param array $dca + * @param array $filter + * @param array $dca * * @return array */ diff --git a/src/Choice/TypeChoice.php b/src/Choice/TypeChoice.php index fe3c6c8..091d82c 100644 --- a/src/Choice/TypeChoice.php +++ b/src/Choice/TypeChoice.php @@ -40,7 +40,7 @@ protected function collect() } if ($groupChoices) { - $group = $type['type']; + $group = $type['type']; $choices[$group][] = $type['name']; continue; } diff --git a/src/Config/FilterConfig.php b/src/Config/FilterConfig.php index 2d7a677..74451cd 100644 --- a/src/Config/FilterConfig.php +++ b/src/Config/FilterConfig.php @@ -11,13 +11,13 @@ use Contao\CoreBundle\Framework\ContaoFrameworkInterface; use Contao\InsertTags; use Contao\System; -use HeimrichHannot\FilterBundle\Session\FilterSession; use HeimrichHannot\FilterBundle\Filter\AbstractType; use HeimrichHannot\FilterBundle\Form\Extension\FormButtonExtension; use HeimrichHannot\FilterBundle\Form\Extension\FormTypeExtension; use HeimrichHannot\FilterBundle\Form\FilterType; use HeimrichHannot\FilterBundle\Model\FilterConfigElementModel; use HeimrichHannot\FilterBundle\QueryBuilder\FilterQueryBuilder; +use HeimrichHannot\FilterBundle\Session\FilterSession; use Symfony\Component\Form\Exception\TransformationFailedException; use Symfony\Component\Form\FormBuilderInterface; use Symfony\Component\Form\Forms; @@ -70,27 +70,27 @@ class FilterConfig * Constructor. * * @param ContaoFrameworkInterface $framework - * @param FilterSession $session + * @param FilterSession $session */ public function __construct(ContaoFrameworkInterface $framework, FilterSession $session, FilterQueryBuilder $queryBuilder) { - $this->framework = $framework; - $this->session = $session; + $this->framework = $framework; + $this->session = $session; $this->queryBuilder = $queryBuilder; } /** * Init the filter based on its model. * - * @param string $sessionKey - * @param array $filter + * @param string $sessionKey + * @param array $filter * @param \Contao\Model\Collection|FilterConfigElementModel[]|null $elements */ public function init(string $sessionKey, array $filter, $elements = null) { $this->sessionKey = $sessionKey; - $this->filter = $filter; - $this->elements = $elements; + $this->filter = $filter; + $this->elements = $elements; } /** @@ -122,7 +122,7 @@ public function buildForm(array $data = []) $options['attr']['class'] = implode(' ', $cssClass); } - if (isset($this->filter['renderEmpty']) && true === (bool)$this->filter['renderEmpty']) { + if (isset($this->filter['renderEmpty']) && true === (bool) $this->filter['renderEmpty']) { $data = []; } @@ -151,8 +151,8 @@ public function initQueryBuilder() } $config = $types[$element->type]; - $class = $config['class']; - $skip = $this->queryBuilder->getSkip(); + $class = $config['class']; + $skip = $this->queryBuilder->getSkip(); if (!class_exists($class) || isset($skip[$element->id])) { continue; @@ -171,6 +171,7 @@ public function initQueryBuilder() /** * @param mixed $request The request to handle + * * @return RedirectResponse|null */ public function handleForm($request = null): ?RedirectResponse @@ -203,12 +204,12 @@ public function handleForm($request = null): ?RedirectResponse } // form id must match - if ((int)$form->get(FilterType::FILTER_ID_NAME)->getData() !== $this->getId()) { + if ((int) $form->get(FilterType::FILTER_ID_NAME)->getData() !== $this->getId()) { return null; } $data = $form->getData(); - $url = System::getContainer()->get('huh.utils.url')->removeQueryString([$form->getName()], $url ?: null); + $url = System::getContainer()->get('huh.utils.url')->removeQueryString([$form->getName()], $url ?: null); // do not save filter id in session $this->setData($data); @@ -226,32 +227,6 @@ public function handleForm($request = null): ?RedirectResponse return null; } - /** - * Get the redirect url based on current filter action. - * - * @return string - */ - protected function getUrl() - { - $filter = $this->getFilter(); - - if (!isset($filter['action'])) { - return ''; - } - - /** - * @var InsertTags - */ - $insertTagAdapter = $this->framework->createInstance(InsertTags::class); - - // while unit testing, the mock object cant be instantiated - if (null === $insertTagAdapter) { - $insertTagAdapter = $this->framework->getAdapter(InsertTags::class); - } - - return '/' . urldecode($insertTagAdapter->replace($filter['action'])); - } - /** * @return int|null */ @@ -271,8 +246,8 @@ public function getFilter() /** * Get a specific element by its value. * - * @param mixed $value The to search within $key - * @param string $key The array key + * @param mixed $value The to search within $key + * @param string $key The array key * * @return FilterConfigElementModel|null */ @@ -287,7 +262,7 @@ public function getElementByValue($value, $key = 'id') } foreach ($this->getElements() as $element) { - if (null === $element->{$key} || (string)$element->{$key} !== (string)$value) { + if (null === $element->{$key} || (string) $element->{$key} !== (string) $value) { continue; } @@ -414,13 +389,39 @@ public function addContextualValue($elementId, $values) $this->queryBuilder->addContextualValue($elementId, $values); } + /** + * Get the redirect url based on current filter action. + * + * @return string + */ + protected function getUrl() + { + $filter = $this->getFilter(); + + if (!isset($filter['action'])) { + return ''; + } + + /** + * @var InsertTags + */ + $insertTagAdapter = $this->framework->createInstance(InsertTags::class); + + // while unit testing, the mock object cant be instantiated + if (null === $insertTagAdapter) { + $insertTagAdapter = $this->framework->getAdapter(InsertTags::class); + } + + return '/'.urldecode($insertTagAdapter->replace($filter['action'])); + } + /** * Maps the data of the current forms and update builder data. */ protected function mapFormsToData() { - $data = []; - $forms = $this->builder->getForm(); + $data = []; + $forms = $this->builder->getForm(); $propertyAccessor = PropertyAccess::createPropertyAccessor(); /* @@ -428,7 +429,7 @@ protected function mapFormsToData() */ foreach ($forms as $form) { $propertyPath = $form->getPropertyPath(); - $config = $form->getConfig(); + $config = $form->getConfig(); // Write-back is disabled if the form is not synchronized (transformation failed), // if the form was not submitted and if the form is disabled (modification not allowed) diff --git a/src/ContaoManager/Plugin.php b/src/ContaoManager/Plugin.php index ade00ea..0b2913a 100644 --- a/src/ContaoManager/Plugin.php +++ b/src/ContaoManager/Plugin.php @@ -36,8 +36,8 @@ public function getBundles(ParserInterface $parser) /** * Allows a plugin to override extension configuration. * - * @param string $extensionName - * @param array $extensionConfigs + * @param string $extensionName + * @param array $extensionConfigs * @param ContainerBuilder $container * * @return @@ -58,7 +58,7 @@ public function getExtensionConfig($extensionName, array $extensionConfigs, Cont 'huh_filter', $extensionName, $extensionConfigs, - __DIR__ . '/../Resources/config/config.yml' + __DIR__.'/../Resources/config/config.yml' ); } @@ -68,7 +68,7 @@ public function getExtensionConfig($extensionName, array $extensionConfigs, Cont public function getRouteCollection(LoaderResolverInterface $resolver, KernelInterface $kernel): ?RouteCollection { return $resolver - ->resolve(__DIR__ . '/../Resources/config/routing.yml') - ->load(__DIR__ . '/../Resources/config/routing.yml'); + ->resolve(__DIR__.'/../Resources/config/routing.yml') + ->load(__DIR__.'/../Resources/config/routing.yml'); } } diff --git a/src/Controller/FrontendController.php b/src/Controller/FrontendController.php index ca9e00d..8da7c7a 100644 --- a/src/Controller/FrontendController.php +++ b/src/Controller/FrontendController.php @@ -1,20 +1,18 @@ - * @license http://www.gnu.org/licences/lgpl-3.0.html LGPL + * @license LGPL-3.0-or-later */ namespace HeimrichHannot\FilterBundle\Controller; - -use Contao\FrontendCron; use HeimrichHannot\FilterBundle\Exception\HandleFormException; use HeimrichHannot\FilterBundle\Exception\MissingFilterException; -use Symfony\Component\HttpFoundation\RedirectResponse; use Sensio\Bundle\FrameworkExtraBundle\Configuration\Route; use Symfony\Bundle\FrameworkBundle\Controller\Controller; +use Symfony\Component\HttpFoundation\RedirectResponse; /** * Handles the filter frontend routes. @@ -23,7 +21,6 @@ */ class FrontendController extends Controller { - /** * @Route("/_filter/submit/{id}", name="filter_frontend_submit") * @@ -31,6 +28,7 @@ class FrontendController extends Controller * * @throws MissingFilterException * @throws HandleFormException + * * @return RedirectResponse */ public function submitAction(int $id): RedirectResponse @@ -38,13 +36,13 @@ public function submitAction(int $id): RedirectResponse $this->get('contao.framework')->initialize(); if (null === ($filter = $this->get('huh.filter.manager')->findById($id))) { - throw new MissingFilterException('A filter with id ' . $id . ' does not exist.'); + throw new MissingFilterException('A filter with id '.$id.' does not exist.'); } if (null === ($response = $filter->handleForm())) { - throw new HandleFormException('Unable to handle form for filter with id ' . $id . '.'); + throw new HandleFormException('Unable to handle form for filter with id '.$id.'.'); } return $response; } -} \ No newline at end of file +} diff --git a/src/Filter/AbstractType.php b/src/Filter/AbstractType.php index 8888051..5c28792 100644 --- a/src/Filter/AbstractType.php +++ b/src/Filter/AbstractType.php @@ -228,7 +228,8 @@ public function getOptions(FilterConfigElementModel $element, FormBuilderInterfa } /** - * Get min date for given element and type + * Get min date for given element and type. + * * @param FilterConfigElementModel $element * * @return int The min date as timestamp @@ -257,7 +258,8 @@ protected function getMinDate(FilterConfigElementModel $element) } /** - * Get max date for given element and type + * Get max date for given element and type. + * * @param FilterConfigElementModel $element * * @return int The max date as timestamp diff --git a/src/Filter/Type/CheckboxType.php b/src/Filter/Type/CheckboxType.php index 9319a92..43b650d 100644 --- a/src/Filter/Type/CheckboxType.php +++ b/src/Filter/Type/CheckboxType.php @@ -55,7 +55,7 @@ public function getOptions(FilterConfigElementModel $element, FormBuilderInterfa { $options = parent::getOptions($element, $builder); - if (true === (bool)$element->customValue) { + if (true === (bool) $element->customValue) { $options['value'] = $element->value; } diff --git a/src/Filter/Type/ChoiceType.php b/src/Filter/Type/ChoiceType.php index 0d624f2..e01ffc9 100644 --- a/src/Filter/Type/ChoiceType.php +++ b/src/Filter/Type/ChoiceType.php @@ -67,25 +67,25 @@ public function getChoices(FilterConfigElementModel $element) public function getOptions(FilterConfigElementModel $element, FormBuilderInterface $builder) { - $options = parent::getOptions($element, $builder); - $options['choices'] = $this->getChoices($element); + $options = parent::getOptions($element, $builder); + $options['choices'] = $this->getChoices($element); $options['choice_translation_domain'] = false; // disable translation] if (isset($options['attr']['placeholder'])) { $options['attr']['data-placeholder'] = $options['attr']['placeholder']; - $options['placeholder'] = $options['attr']['placeholder']; + $options['placeholder'] = $options['attr']['placeholder']; unset($options['attr']['placeholder']); - $options['required'] = false; + $options['required'] = false; $options['empty_data'] = ''; } - $options['expanded'] = (bool)$element->expanded; - $options['multiple'] = (bool)$element->multiple; + $options['expanded'] = (bool) $element->expanded; + $options['multiple'] = (bool) $element->multiple; // forgiving array handling if ($element->addDefaultValue) { - if (isset($options['multiple']) && true === (bool)$options['multiple'] && isset($options['data'])) { + if (isset($options['multiple']) && true === (bool) $options['multiple'] && isset($options['data'])) { $options['data'] = !is_array($options['data']) ? [$options['data']] : $options['data']; } } diff --git a/src/Filter/Type/DateRangeType.php b/src/Filter/Type/DateRangeType.php index e8c9b46..5aaa6e1 100644 --- a/src/Filter/Type/DateRangeType.php +++ b/src/Filter/Type/DateRangeType.php @@ -33,14 +33,14 @@ class DateRangeType extends AbstractType */ public function buildQuery(FilterQueryBuilder $builder, FilterConfigElementModel $element) { - $data = $this->config->getData(); + $data = $this->config->getData(); $filter = $this->config->getFilter(); - $name = $this->getName($element); + $name = $this->getName($element); Controller::loadDataContainer($filter['dataContainer']); $this->startElement = $this->config->getElementByValue($element->startElement); - $this->stopElement = $this->config->getElementByValue($element->stopElement); + $this->stopElement = $this->config->getElementByValue($element->stopElement); if (null === $this->startElement || null === $this->stopElement) { return; @@ -53,11 +53,11 @@ public function buildQuery(FilterQueryBuilder $builder, FilterConfigElementModel $builder->addSkip($this->startElement); $builder->addSkip($this->stopElement); - $startField = $filter['dataContainer'] . '.' . $this->startElement->field; - $stopField = $filter['dataContainer'] . '.' . $this->stopElement->field; + $startField = $filter['dataContainer'].'.'.$this->startElement->field; + $stopField = $filter['dataContainer'].'.'.$this->stopElement->field; $startName = $this->startElement->getFormName($this->config); - $stopName = $this->stopElement->getFormName($this->config); + $stopName = $this->stopElement->getFormName($this->config); /** @var \DateTime|null $startDate */ $startDate = $startDate = $data[$name][$startName] ?? 0; @@ -79,12 +79,12 @@ public function buildQuery(FilterQueryBuilder $builder, FilterConfigElementModel } $start = System::getContainer()->get('huh.utils.date')->getTimeStamp($startDate, false) ?? 0; - $stop = System::getContainer()->get('huh.utils.date')->getTimeStamp($stopDate, false) ?? 9999999999999; + $stop = System::getContainer()->get('huh.utils.date')->getTimeStamp($stopDate, false) ?? 9999999999999; $startFieldMinDate = $this->getMinDate($this->startElement); $startFieldMaxDate = $this->getMaxDate($this->startElement); - $stopFieldMinDate = $this->getMinDate($this->stopElement); - $stopFieldMaxDate = $this->getMaxDate($this->stopElement); + $stopFieldMinDate = $this->getMinDate($this->stopElement); + $stopFieldMaxDate = $this->getMaxDate($this->stopElement); $start = $start < $startFieldMinDate ? $startFieldMinDate : $start; $start = $start > $startFieldMaxDate ? $startFieldMaxDate : $start; @@ -140,12 +140,13 @@ public function buildForm(FilterConfigElementModel $element, FormBuilderInterfac } $this->startElement = $this->config->getElementByValue($element->startElement); - $this->stopElement = $this->config->getElementByValue($element->stopElement); + $this->stopElement = $this->config->getElementByValue($element->stopElement); if (null === $this->getStartElement() || null === $this->getStopElement()) { null === $this->getStartElement() ? null : $builder->remove($this->getStartElement()->getFormName($this->config)); null === $this->getStopElement() ? null : $builder->remove($this->getStopElement()->getFormName($this->config)); $builder->remove($name); + return; } @@ -153,11 +154,12 @@ public function buildForm(FilterConfigElementModel $element, FormBuilderInterfac $builder->getForm()->has($this->getStartElement()->getFormName($this->config)) ? $builder->remove($this->getStartElement()->getFormName($this->config)) : null; $builder->getForm()->has($this->getStopElement()->getFormName($this->config)) ? $builder->remove($this->getStopElement()->getFormName($this->config)) : null; $builder->remove($name); + return; } $start = $builder->get($this->getStartElement()->getFormName($this->config)); - $stop = $builder->get($this->getStopElement()->getFormName($this->config)); + $stop = $builder->get($this->getStopElement()->getFormName($this->config)); $group = $builder->get($this->getName($element)); @@ -211,9 +213,9 @@ public function getDefaultOperator(FilterConfigElementModel $element) * Get the options for the start field. * * @param FilterConfigElementModel $element - * @param FormBuilderInterface $builder - * @param FormBuilderInterface $start - * @param FormBuilderInterface $stop + * @param FormBuilderInterface $builder + * @param FormBuilderInterface $start + * @param FormBuilderInterface $stop * * @return array */ @@ -223,7 +225,7 @@ protected function getStartOptions( FormBuilderInterface $start, FormBuilderInterface $stop ) { - $options = $start->getOptions(); + $options = $start->getOptions(); $options['attr']['data-linked-end'] = sprintf('#%s_%s_%s', $builder->getName(), $this->getName($element), $stop->getName()); @@ -234,9 +236,9 @@ protected function getStartOptions( * Get the options for the stop field. * * @param FilterConfigElementModel $element - * @param FormBuilderInterface $builder - * @param FormBuilderInterface $start - * @param FormBuilderInterface $stop + * @param FormBuilderInterface $builder + * @param FormBuilderInterface $start + * @param FormBuilderInterface $stop * * @return array */ @@ -246,7 +248,7 @@ protected function getStopOptions( FormBuilderInterface $start, FormBuilderInterface $stop ) { - $options = $stop->getOptions(); + $options = $stop->getOptions(); $options['attr']['data-linked-start'] = sprintf('#%s_%s_%s', $builder->getName(), $this->getName($element), $start->getName()); diff --git a/src/Filter/Type/DateTimeType.php b/src/Filter/Type/DateTimeType.php index 17e4292..97c8564 100644 --- a/src/Filter/Type/DateTimeType.php +++ b/src/Filter/Type/DateTimeType.php @@ -24,9 +24,9 @@ class DateTimeType extends AbstractType */ public function buildQuery(FilterQueryBuilder $builder, FilterConfigElementModel $element) { - $data = $this->config->getData(); + $data = $this->config->getData(); $filter = $this->config->getFilter(); - $name = $this->getName($element); + $name = $this->getName($element); Controller::loadDataContainer($filter['dataContainer']); @@ -34,7 +34,7 @@ public function buildQuery(FilterQueryBuilder $builder, FilterConfigElementModel return; } - $field = $filter['dataContainer'] . '.' . $element->field; + $field = $filter['dataContainer'].'.'.$element->field; $value = isset($data[$name]) && $data[$name] ? $data[$name] : 0; if ($element->isInitial) { @@ -51,7 +51,7 @@ public function buildQuery(FilterQueryBuilder $builder, FilterConfigElementModel $maxDate = $this->getMaxDate($element); $start = $value; - $stop = $value; + $stop = $value; $start = $start < $minDate ? $minDate : $start; $start = $start > $maxDate ? $maxDate : $start; @@ -104,7 +104,7 @@ public function getOptions(FilterConfigElementModel $element, FormBuilderInterfa { $options = parent::getOptions($element, $builder); - $options = $this->addDateWidgetOptions($options, $element, $builder); + $options = $this->addDateWidgetOptions($options, $element, $builder); $options['widget'] = $element->dateWidget ?: DateType::WIDGET_TYPE_CHOICE; return $options; @@ -113,9 +113,9 @@ public function getOptions(FilterConfigElementModel $element, FormBuilderInterfa /** * Add the options for the date_widget property. * - * @param array $options + * @param array $options * @param FilterConfigElementModel $element - * @param FormBuilderInterface $builder + * @param FormBuilderInterface $builder * * @throws \Exception * @@ -129,8 +129,8 @@ protected function addDateWidgetOptions(array $options, FilterConfigElementModel switch ($type) { case DateType::WIDGET_TYPE_SINGLE_TEXT: $element->dateTimeFormat = $element->dateTimeFormat ?: 'd.m.Y H:i'; - $options['html5'] = (bool)$element->html5; - $options['format'] = System::getContainer()->get('huh.utils.date')->transformPhpDateFormatToRFC3339($element->dateTimeFormat); + $options['html5'] = (bool) $element->html5; + $options['format'] = System::getContainer()->get('huh.utils.date')->transformPhpDateFormatToRFC3339($element->dateTimeFormat); if (true === $options['html5']) { if ($element->minDateTime) { @@ -143,7 +143,7 @@ protected function addDateWidgetOptions(array $options, FilterConfigElementModel break; } - $options['group_attr']['class'] = 'datepicker timepicker'; + $options['group_attr']['class'] = 'datepicker timepicker'; $options['attr']['data-enable-time'] = 'true'; $options['attr']['data-date-format'] = $element->dateTimeFormat; @@ -157,8 +157,8 @@ protected function addDateWidgetOptions(array $options, FilterConfigElementModel break; case DateType::WIDGET_TYPE_CHOICE: - $minYear = Date::parse('Y', strtotime('-5 year', $time)); - $maxYear = Date::parse('Y', strtotime('+5 year', $time)); + $minYear = Date::parse('Y', strtotime('-5 year', $time)); + $maxYear = Date::parse('Y', strtotime('+5 year', $time)); $minMonth = null; if ($element->minDateTime) { diff --git a/src/Filter/Type/DateType.php b/src/Filter/Type/DateType.php index 6570523..5afdd61 100644 --- a/src/Filter/Type/DateType.php +++ b/src/Filter/Type/DateType.php @@ -19,8 +19,8 @@ class DateType extends AbstractType { - const WIDGET_TYPE_CHOICE = 'choice'; - const WIDGET_TYPE_TEXT = 'text'; + const WIDGET_TYPE_CHOICE = 'choice'; + const WIDGET_TYPE_TEXT = 'text'; const WIDGET_TYPE_SINGLE_TEXT = 'single_text'; /** @@ -28,9 +28,9 @@ class DateType extends AbstractType */ public function buildQuery(FilterQueryBuilder $builder, FilterConfigElementModel $element) { - $data = $this->config->getData(); + $data = $this->config->getData(); $filter = $this->config->getFilter(); - $name = $this->getName($element); + $name = $this->getName($element); Controller::loadDataContainer($filter['dataContainer']); @@ -38,7 +38,7 @@ public function buildQuery(FilterQueryBuilder $builder, FilterConfigElementModel return; } - $field = $filter['dataContainer'] . '.' . $element->field; + $field = $filter['dataContainer'].'.'.$element->field; $value = isset($data[$name]) && $data[$name] ? $data[$name] : 0; if ($element->isInitial) { @@ -55,7 +55,7 @@ public function buildQuery(FilterQueryBuilder $builder, FilterConfigElementModel $maxDate = $this->getMaxDate($element); $start = $value; - $stop = $value; + $stop = $value; $start = $start < $minDate ? $minDate : $start; $start = $start > $maxDate ? $maxDate : $start; @@ -108,7 +108,7 @@ public function getOptions(FilterConfigElementModel $element, FormBuilderInterfa { $options = parent::getOptions($element, $builder); - $options = $this->addDateWidgetOptions($options, $element, $builder); + $options = $this->addDateWidgetOptions($options, $element, $builder); $options['widget'] = $element->dateWidget ?: static::WIDGET_TYPE_CHOICE; return $options; @@ -117,9 +117,9 @@ public function getOptions(FilterConfigElementModel $element, FormBuilderInterfa /** * Add the options for the date_widget property. * - * @param array $options + * @param array $options * @param FilterConfigElementModel $element - * @param FormBuilderInterface $builder + * @param FormBuilderInterface $builder * * @throws \Exception * @@ -133,8 +133,8 @@ protected function addDateWidgetOptions(array $options, FilterConfigElementModel switch ($type) { case static::WIDGET_TYPE_SINGLE_TEXT: $element->dateFormat = $element->dateFormat ?: 'd.m.Y'; - $options['html5'] = (bool)$element->html5; - $options['format'] = System::getContainer()->get('huh.utils.date')->transformPhpDateFormatToRFC3339($element->dateFormat); + $options['html5'] = (bool) $element->html5; + $options['format'] = System::getContainer()->get('huh.utils.date')->transformPhpDateFormatToRFC3339($element->dateFormat); if (true === $options['html5']) { if ($element->minDate) { @@ -148,21 +148,21 @@ protected function addDateWidgetOptions(array $options, FilterConfigElementModel break; } - $options['group_attr']['class'] = 'datepicker'; + $options['group_attr']['class'] = 'datepicker'; $options['attr']['data-date-format'] = $element->dateFormat; if ('' !== $element->minDate) { - $options['attr']['data-min-date'] = Date::parse($element->dateFormat, (int)strtotime(Controller::replaceInsertTags($element->minDate, false))); + $options['attr']['data-min-date'] = Date::parse($element->dateFormat, (int) strtotime(Controller::replaceInsertTags($element->minDate, false))); } if ('' !== $element->maxDate) { - $options['attr']['data-max-date'] = Date::parse($element->dateFormat, (int)strtotime(Controller::replaceInsertTags($element->maxDate, false))); + $options['attr']['data-max-date'] = Date::parse($element->dateFormat, (int) strtotime(Controller::replaceInsertTags($element->maxDate, false))); } break; case static::WIDGET_TYPE_CHOICE: - $minYear = Date::parse('Y', strtotime('-5 year', $time)); - $maxYear = Date::parse('Y', strtotime('+5 year', $time)); + $minYear = Date::parse('Y', strtotime('-5 year', $time)); + $maxYear = Date::parse('Y', strtotime('+5 year', $time)); $minMonth = null; if ($element->minDate) { diff --git a/src/Filter/Type/LocaleType.php b/src/Filter/Type/LocaleType.php index 71fcc8e..3fd0b80 100644 --- a/src/Filter/Type/LocaleType.php +++ b/src/Filter/Type/LocaleType.php @@ -10,8 +10,6 @@ use Contao\System; use HeimrichHannot\FilterBundle\Model\FilterConfigElementModel; -use HeimrichHannot\FilterBundle\QueryBuilder\FilterQueryBuilder; -use HeimrichHannot\UtilsBundle\Database\DatabaseUtil; use Symfony\Component\Form\FormBuilderInterface; class LocaleType extends ChoiceType diff --git a/src/Filter/Type/MoneyType.php b/src/Filter/Type/MoneyType.php index d90441b..0649e1c 100644 --- a/src/Filter/Type/MoneyType.php +++ b/src/Filter/Type/MoneyType.php @@ -9,7 +9,6 @@ namespace HeimrichHannot\FilterBundle\Filter\Type; use HeimrichHannot\FilterBundle\Model\FilterConfigElementModel; -use HeimrichHannot\FilterBundle\QueryBuilder\FilterQueryBuilder; use HeimrichHannot\UtilsBundle\Database\DatabaseUtil; use Symfony\Component\Form\FormBuilderInterface; diff --git a/src/Filter/Type/NumberType.php b/src/Filter/Type/NumberType.php index 65e5b0d..d9c0f7c 100644 --- a/src/Filter/Type/NumberType.php +++ b/src/Filter/Type/NumberType.php @@ -9,7 +9,6 @@ namespace HeimrichHannot\FilterBundle\Filter\Type; use HeimrichHannot\FilterBundle\Model\FilterConfigElementModel; -use HeimrichHannot\FilterBundle\QueryBuilder\FilterQueryBuilder; use HeimrichHannot\UtilsBundle\Database\DatabaseUtil; use Symfony\Component\Form\FormBuilderInterface; diff --git a/src/Filter/Type/ParentType.php b/src/Filter/Type/ParentType.php index bb4e6e2..6967bcc 100644 --- a/src/Filter/Type/ParentType.php +++ b/src/Filter/Type/ParentType.php @@ -19,14 +19,14 @@ public function getChoices(FilterConfigElementModel $element) { $choices = []; $context = []; - $filter = $this->config->getFilter(); + $filter = $this->config->getFilter(); if (!isset($filter['dataContainer'])) { return $choices; } $context['dataContainer'] = $table = $filter['dataContainer']; - $parentTable = null; + $parentTable = null; switch ($table) { case 'tl_member': @@ -37,7 +37,7 @@ public function getChoices(FilterConfigElementModel $element) Controller::loadDataContainer($table); if (isset($GLOBALS['TL_DCA'][$table]['fields']['pid']['foreignKey'])) { - $foreignKey = explode('.', $GLOBALS['TL_DCA'][$table]['fields']['pid']['foreignKey']); + $foreignKey = explode('.', $GLOBALS['TL_DCA'][$table]['fields']['pid']['foreignKey']); $parentTable = $foreignKey[0]; } break; diff --git a/src/Filter/Type/PasswordType.php b/src/Filter/Type/PasswordType.php index 284a273..c89fcff 100644 --- a/src/Filter/Type/PasswordType.php +++ b/src/Filter/Type/PasswordType.php @@ -9,7 +9,6 @@ namespace HeimrichHannot\FilterBundle\Filter\Type; use HeimrichHannot\FilterBundle\Model\FilterConfigElementModel; -use HeimrichHannot\FilterBundle\QueryBuilder\FilterQueryBuilder; use HeimrichHannot\UtilsBundle\Database\DatabaseUtil; use Symfony\Component\Form\FormBuilderInterface; diff --git a/src/Filter/Type/PercentType.php b/src/Filter/Type/PercentType.php index e444bfe..80f184c 100644 --- a/src/Filter/Type/PercentType.php +++ b/src/Filter/Type/PercentType.php @@ -9,7 +9,6 @@ namespace HeimrichHannot\FilterBundle\Filter\Type; use HeimrichHannot\FilterBundle\Model\FilterConfigElementModel; -use HeimrichHannot\FilterBundle\QueryBuilder\FilterQueryBuilder; use HeimrichHannot\UtilsBundle\Database\DatabaseUtil; use Symfony\Component\Form\FormBuilderInterface; diff --git a/src/Filter/Type/PublishedType.php b/src/Filter/Type/PublishedType.php index 765682a..071b775 100644 --- a/src/Filter/Type/PublishedType.php +++ b/src/Filter/Type/PublishedType.php @@ -27,15 +27,15 @@ public function buildQuery(FilterQueryBuilder $builder, FilterConfigElementModel } $filter = $this->config->getFilter(); - $and = $builder->expr()->andX(); + $and = $builder->expr()->andX(); - if ($element->addStartAndStop && !$this->isPreviewMode((bool)$element->ignoreFePreview)) { + if ($element->addStartAndStop && !$this->isPreviewMode((bool) $element->ignoreFePreview)) { $time = Date::floorToMinute(); if ($element->startField) { $orStart = $builder->expr()->orX( - $builder->expr()->eq($filter['dataContainer'] . '.' . $element->startField, '""'), - $builder->expr()->lte($filter['dataContainer'] . '.' . $element->startField, ':startField_time') + $builder->expr()->eq($filter['dataContainer'].'.'.$element->startField, '""'), + $builder->expr()->lte($filter['dataContainer'].'.'.$element->startField, ':startField_time') ); $and->add($orStart); @@ -43,17 +43,16 @@ public function buildQuery(FilterQueryBuilder $builder, FilterConfigElementModel } if ($element->stopField) { - $orStop = $builder->expr()->orX( - $builder->expr()->eq($filter['dataContainer'] . '.' . $element->stopField, '""'), - $builder->expr()->gt($filter['dataContainer'] . '.' . $element->stopField, ':stopField_time') + $builder->expr()->eq($filter['dataContainer'].'.'.$element->stopField, '""'), + $builder->expr()->gt($filter['dataContainer'].'.'.$element->stopField, ':stopField_time') ); $and->add($orStop); $builder->setParameter(':stopField_time', $time + 60); } } - $and->add($builder->expr()->eq($filter['dataContainer'] . '.' . $element->field, $element->invertField ? '""' : 1)); + $and->add($builder->expr()->eq($filter['dataContainer'].'.'.$element->field, $element->invertField ? '""' : 1)); $builder->andWhere($and); } @@ -63,23 +62,7 @@ public function buildForm(FilterConfigElementModel $element, FormBuilderInterfac } /** - * Check if the preview mode is enabled. - * - * @param bool $isIgnored - * - * @return bool - */ - protected function isPreviewMode(bool $isIgnored = false) - { - if ($isIgnored) { - return false; - } - - return \defined('BE_USER_LOGGED_IN') && true === BE_USER_LOGGED_IN; - } - - /** - * @inheritdoc + * {@inheritdoc} */ public function getDefaultOperator(FilterConfigElementModel $element) { @@ -87,12 +70,26 @@ public function getDefaultOperator(FilterConfigElementModel $element) } /** - * @inheritdoc + * {@inheritdoc} */ public function getDefaultName(FilterConfigElementModel $element) { return null; } + /** + * Check if the preview mode is enabled. + * + * @param bool $isIgnored + * + * @return bool + */ + protected function isPreviewMode(bool $isIgnored = false) + { + if ($isIgnored) { + return false; + } + return \defined('BE_USER_LOGGED_IN') && true === BE_USER_LOGGED_IN; + } } diff --git a/src/Filter/Type/RadioType.php b/src/Filter/Type/RadioType.php index 045e6a2..5f9a907 100644 --- a/src/Filter/Type/RadioType.php +++ b/src/Filter/Type/RadioType.php @@ -9,8 +9,6 @@ namespace HeimrichHannot\FilterBundle\Filter\Type; use HeimrichHannot\FilterBundle\Model\FilterConfigElementModel; -use HeimrichHannot\FilterBundle\QueryBuilder\FilterQueryBuilder; -use HeimrichHannot\UtilsBundle\Database\DatabaseUtil; use Symfony\Component\Form\FormBuilderInterface; class RadioType extends CheckboxType diff --git a/src/Filter/Type/RangeType.php b/src/Filter/Type/RangeType.php index 580fe29..a83b398 100644 --- a/src/Filter/Type/RangeType.php +++ b/src/Filter/Type/RangeType.php @@ -8,10 +8,7 @@ namespace HeimrichHannot\FilterBundle\Filter\Type; -use HeimrichHannot\FilterBundle\Filter\AbstractType; use HeimrichHannot\FilterBundle\Model\FilterConfigElementModel; -use HeimrichHannot\FilterBundle\QueryBuilder\FilterQueryBuilder; -use HeimrichHannot\UtilsBundle\Database\DatabaseUtil; use Symfony\Component\Form\FormBuilderInterface; class RangeType extends TextType diff --git a/src/Filter/Type/ResetType.php b/src/Filter/Type/ResetType.php index d0d9499..f7021a5 100644 --- a/src/Filter/Type/ResetType.php +++ b/src/Filter/Type/ResetType.php @@ -29,7 +29,7 @@ public function buildForm(FilterConfigElementModel $element, FormBuilderInterfac { $filter = $this->config->getFilter(); - if (!$this->config->hasData() || (isset($filter['renderEmpty']) && true === (bool)$filter['renderEmpty'])) { + if (!$this->config->hasData() || (isset($filter['renderEmpty']) && true === (bool) $filter['renderEmpty'])) { return; } diff --git a/src/Filter/Type/SearchType.php b/src/Filter/Type/SearchType.php index 7ad11aa..6d60282 100644 --- a/src/Filter/Type/SearchType.php +++ b/src/Filter/Type/SearchType.php @@ -8,10 +8,7 @@ namespace HeimrichHannot\FilterBundle\Filter\Type; -use HeimrichHannot\FilterBundle\Filter\AbstractType; use HeimrichHannot\FilterBundle\Model\FilterConfigElementModel; -use HeimrichHannot\FilterBundle\QueryBuilder\FilterQueryBuilder; -use HeimrichHannot\UtilsBundle\Database\DatabaseUtil; use Symfony\Component\Form\FormBuilderInterface; class SearchType extends TextType diff --git a/src/Filter/Type/TelType.php b/src/Filter/Type/TelType.php index 45f1b36..f768a13 100644 --- a/src/Filter/Type/TelType.php +++ b/src/Filter/Type/TelType.php @@ -8,10 +8,7 @@ namespace HeimrichHannot\FilterBundle\Filter\Type; -use HeimrichHannot\FilterBundle\Filter\AbstractType; use HeimrichHannot\FilterBundle\Model\FilterConfigElementModel; -use HeimrichHannot\FilterBundle\QueryBuilder\FilterQueryBuilder; -use HeimrichHannot\UtilsBundle\Database\DatabaseUtil; use Symfony\Component\Form\FormBuilderInterface; class TelType extends TextType diff --git a/src/Filter/Type/TextConcatType.php b/src/Filter/Type/TextConcatType.php index 6927c3c..feb0113 100644 --- a/src/Filter/Type/TextConcatType.php +++ b/src/Filter/Type/TextConcatType.php @@ -22,24 +22,33 @@ class TextConcatType extends AbstractType */ public function buildQuery(FilterQueryBuilder $builder, FilterConfigElementModel $element) { - $data = $this->config->getData(); - $name = $this->getName($element); + $data = $this->config->getData(); + $filter = $this->config->getFilter(); + $name = $this->getName($element); if (!isset($data[$name])) { return; } - $wildcard = ':' . $name; - $fields = StringUtil::deserialize($element->fields, true); + $wildcard = ':'.$name; + $fields = StringUtil::deserialize($element->fields, true); if (empty($fields)) { return; } - $concat = 'CONCAT(' . implode('," ",', $fields) . ')'; + $concat = 'CONCAT('.implode( + '," ",', + array_map( + function ($field) use ($filter) { + return 'COALESCE('.$filter['dataContainer'].'.'.$field.', "")'; + }, + $fields + ) + ).')'; $builder->andWhere($builder->expr()->like($concat, $wildcard)); - $builder->setParameter($wildcard, '%' . $data[$name] . '%'); + $builder->setParameter($wildcard, '%'.$data[$name].'%'); } /** diff --git a/src/Filter/Type/TextareaType.php b/src/Filter/Type/TextareaType.php index ba862e8..65b1dbe 100644 --- a/src/Filter/Type/TextareaType.php +++ b/src/Filter/Type/TextareaType.php @@ -9,8 +9,6 @@ namespace HeimrichHannot\FilterBundle\Filter\Type; use HeimrichHannot\FilterBundle\Model\FilterConfigElementModel; -use HeimrichHannot\FilterBundle\QueryBuilder\FilterQueryBuilder; -use HeimrichHannot\UtilsBundle\Database\DatabaseUtil; use Symfony\Component\Form\FormBuilderInterface; class TextareaType extends TextType diff --git a/src/Filter/Type/TimeType.php b/src/Filter/Type/TimeType.php index 5c714c0..2932e65 100644 --- a/src/Filter/Type/TimeType.php +++ b/src/Filter/Type/TimeType.php @@ -24,9 +24,9 @@ class TimeType extends AbstractType */ public function buildQuery(FilterQueryBuilder $builder, FilterConfigElementModel $element) { - $data = $this->config->getData(); + $data = $this->config->getData(); $filter = $this->config->getFilter(); - $name = $this->getName($element); + $name = $this->getName($element); Controller::loadDataContainer($filter['dataContainer']); @@ -34,7 +34,7 @@ public function buildQuery(FilterQueryBuilder $builder, FilterConfigElementModel return; } - $field = $filter['dataContainer'] . '.' . $element->field; + $field = $filter['dataContainer'].'.'.$element->field; $value = isset($data[$name]) && $data[$name] ? $data[$name] : 0; if ($element->isInitial) { @@ -51,7 +51,7 @@ public function buildQuery(FilterQueryBuilder $builder, FilterConfigElementModel $maxDate = $this->getMaxDate($element); $start = $value; - $stop = $value; + $stop = $value; $start = $start < $minDate ? $minDate : $start; $start = $start > $maxDate ? $maxDate : $start; diff --git a/src/Filter/Type/UrlType.php b/src/Filter/Type/UrlType.php index 5825671..0b2b246 100644 --- a/src/Filter/Type/UrlType.php +++ b/src/Filter/Type/UrlType.php @@ -8,10 +8,7 @@ namespace HeimrichHannot\FilterBundle\Filter\Type; -use HeimrichHannot\FilterBundle\Filter\AbstractType; use HeimrichHannot\FilterBundle\Model\FilterConfigElementModel; -use HeimrichHannot\FilterBundle\QueryBuilder\FilterQueryBuilder; -use HeimrichHannot\UtilsBundle\Database\DatabaseUtil; use Symfony\Component\Form\FormBuilderInterface; class UrlType extends TextType diff --git a/src/Form/FilterType.php b/src/Form/FilterType.php index ee00ada..d112cbf 100644 --- a/src/Form/FilterType.php +++ b/src/Form/FilterType.php @@ -9,7 +9,6 @@ namespace HeimrichHannot\FilterBundle\Form; use Contao\CoreBundle\Framework\ContaoFrameworkInterface; -use Contao\InsertTags; use Contao\System; use HeimrichHannot\FilterBundle\Config\FilterConfig; use HeimrichHannot\FilterBundle\Exception\MissingFilterConfigException; @@ -22,7 +21,7 @@ class FilterType extends AbstractType { - const FILTER_ID_NAME = 'f_id'; + const FILTER_ID_NAME = 'f_id'; const FILTER_REFERRER_NAME = 'f_ref'; /** @@ -69,7 +68,7 @@ public function configureOptions(OptionsResolver $resolver) { $resolver->setDefaults( [ - 'filter' => null, + 'filter' => null, 'framework' => null, ] ); @@ -79,7 +78,7 @@ public function configureOptions(OptionsResolver $resolver) * Build the form fields for the given elements. * * @param FormBuilderInterface $builder - * @param array $options + * @param array $options */ protected function buildElements(FormBuilderInterface $builder, array $options) { @@ -90,7 +89,7 @@ protected function buildElements(FormBuilderInterface $builder, array $options) } $wrappers = []; - $types = \System::getContainer()->get('huh.filter.choice.type')->getCachedChoices(); + $types = \System::getContainer()->get('huh.filter.choice.type')->getCachedChoices(); if (!is_array($types) || empty($types)) { return; @@ -105,7 +104,7 @@ protected function buildElements(FormBuilderInterface $builder, array $options) } $config = $types[$element->type]; - $class = $config['class']; + $class = $config['class']; if (!class_exists($class)) { continue; @@ -124,7 +123,7 @@ protected function buildElements(FormBuilderInterface $builder, array $options) // collect wrappers and render afterwards if (isset($config['wrapper']) && true === $config['wrapper']) { - $options = $type->getOptions($element, $builder); + $options = $type->getOptions($element, $builder); $options['inherit_data'] = false; $builder->add($builder->create($name, FormType::class, $options)); // add the group here to maintain correct form order $wrappers[] = $element; @@ -147,9 +146,9 @@ protected function buildElements(FormBuilderInterface $builder, array $options) /** * Build the wrapper form elements. * - * @param array $wrappers + * @param array $wrappers * @param FormBuilderInterface $builder - * @param array $options + * @param array $options */ protected function buildWrapperElements(array $wrappers, FormBuilderInterface $builder, array $options) { @@ -167,7 +166,7 @@ protected function buildWrapperElements(array $wrappers, FormBuilderInterface $b continue; } - $type = $types[$element->type]; + $type = $types[$element->type]; $class = $type['class']; if (!class_exists($class)) { @@ -193,7 +192,7 @@ protected function buildWrapperElements(array $wrappers, FormBuilderInterface $b } /** - * Get the form action url to internal filter_frontend_submit action + * Get the form action url to internal filter_frontend_submit action. */ protected function getAction() { @@ -201,8 +200,7 @@ protected function getAction() $filter = $this->config->getFilter(); - if(!isset($filter['id'])) - { + if (!isset($filter['id'])) { return null; } diff --git a/src/Manager/FilterManager.php b/src/Manager/FilterManager.php index 56559c2..3398df2 100644 --- a/src/Manager/FilterManager.php +++ b/src/Manager/FilterManager.php @@ -11,11 +11,9 @@ use Contao\CoreBundle\Framework\ContaoFrameworkInterface; use Contao\System; use HeimrichHannot\FilterBundle\Config\FilterConfig; -use HeimrichHannot\FilterBundle\Session\FilterSession; -use HeimrichHannot\FilterBundle\Form\FilterType; use HeimrichHannot\FilterBundle\Model\FilterConfigElementModel; use HeimrichHannot\FilterBundle\Model\FilterConfigModel; -use Symfony\Component\Form\Exception\TransformationFailedException; +use HeimrichHannot\FilterBundle\Session\FilterSession; class FilterManager { @@ -29,9 +27,8 @@ class FilterManager */ protected $session; - /** - * All available filter configurations cache + * All available filter configurations cache. * * @var FilterConfig[] */ @@ -41,12 +38,12 @@ class FilterManager * Constructor. * * @param ContaoFrameworkInterface $framework - * @param FilterSession $session + * @param FilterSession $session */ public function __construct(ContaoFrameworkInterface $framework, FilterSession $session) { $this->framework = $framework; - $this->session = $session; + $this->session = $session; } /** @@ -77,7 +74,7 @@ public function getQueryBuilder(int $id) */ public function getSessionKey(array $filter) { - return 'huh.filter.session.' . $filter['name'] ?: $filter['id']; + return 'huh.filter.session.'.$filter['name'] ?: $filter['id']; } /** @@ -108,7 +105,7 @@ public function findById(int $id) } /** - * Get the config for a given filter + * Get the config for a given filter. * * @param array $filter * @param mixed $request The request to handle diff --git a/src/Model/FilterConfigElementModel.php b/src/Model/FilterConfigElementModel.php index 2716cfd..077efde 100644 --- a/src/Model/FilterConfigElementModel.php +++ b/src/Model/FilterConfigElementModel.php @@ -16,43 +16,43 @@ /** * Reads and writes filter. * - * @property int $id - * @property int $pid - * @property int $sorting - * @property int $tstamp - * @property int $dateAdded + * @property int $id + * @property int $pid + * @property int $sorting + * @property int $tstamp + * @property int $dateAdded * @property string $type * @property string $title * @property string $field - * @property array $fields - * @property bool $customOptions - * @property array $options - * @property bool $customName + * @property array $fields + * @property bool $customOptions + * @property array $options + * @property bool $customName * @property string $name - * @property bool $addPlaceholder + * @property bool $addPlaceholder * @property string $placeholder - * @property bool $customLabel + * @property bool $customLabel * @property string $label - * @property bool $expanded - * @property bool $multiple - * @property bool $grouping - * @property int $scale - * @property int $roundingMode - * @property int $currency - * @property int $divisor - * @property bool $alwaysEmpty + * @property bool $expanded + * @property bool $multiple + * @property bool $grouping + * @property int $scale + * @property int $roundingMode + * @property int $currency + * @property int $divisor + * @property bool $alwaysEmpty * @property string $percentType * @property string $defaultProtocol * @property string $min * @property string $max * @property string $step - * @property bool $customCountries - * @property array $countries - * @property bool $customLanguages - * @property array $languages - * @property bool $customLocales - * @property array $locales - * @property bool $customValue + * @property bool $customCountries + * @property array $countries + * @property bool $customLanguages + * @property array $languages + * @property bool $customLocales + * @property array $locales + * @property bool $customValue * @property string $value * @property string $minTime * @property string $maxTime @@ -63,32 +63,32 @@ * @property string $minDateTime * @property string $maxDateTime * @property string $dateTimeFormat - * @property bool $html5 + * @property bool $html5 * @property string $timeWidget * @property string $dateWidget - * @property int $startElement - * @property int $stopElement - * @property bool $hideLabel - * @property bool $inputGroup + * @property int $startElement + * @property int $stopElement + * @property bool $hideLabel + * @property bool $inputGroup * @property string $inputGroupAppend * @property string $inputGroupPrepend * @property string $operator - * @property bool $customOperator - * @property bool $addDefaultValue - * @property array $defaultValueArray + * @property bool $customOperator + * @property bool $addDefaultValue + * @property array $defaultValueArray * @property string $defaultValue * @property string $defaultValueType * @property string $cssClass - * @property bool $isInitial - * @property array $initialValueArray + * @property bool $isInitial + * @property array $initialValueArray * @property string $initialValue * @property string $initialValueType * @property string $startField * @property string $stopField - * @property bool $addStartAndStop - * @property bool $ignoreFePreview - * @property bool $invertField - * @property bool $published + * @property bool $addStartAndStop + * @property bool $ignoreFePreview + * @property bool $invertField + * @property bool $published * @property string $start * @property string $stop * @@ -134,20 +134,20 @@ class FilterConfigElementModel extends \Model implements \JsonSerializable /** * Find published filte elements items by their parent ID. * - * @param int $intId The filter ID - * @param int $intLimit An optional limit + * @param int $intId The filter ID + * @param int $intLimit An optional limit * @param array $arrOptions An optional options array * * @return \Contao\Model\Collection|FilterConfigElementModel[]|FilterConfigElementModel|null A collection of models or null if there are no filter elements */ public function findPublishedByPid($intId, $intLimit = 0, array $arrOptions = []) { - $t = static::$strTable; + $t = static::$strTable; $arrColumns = ["$t.pid=?"]; if (isset($arrOptions['ignoreFePreview']) || !defined('BE_USER_LOGGED_IN') || !BE_USER_LOGGED_IN) { - $time = \Date::floorToMinute(); - $arrColumns[] = "($t.start='' OR $t.start<='$time') AND ($t.stop='' OR $t.stop>'" . ($time + 60) . "') AND $t.published='1'"; + $time = \Date::floorToMinute(); + $arrColumns[] = "($t.start='' OR $t.start<='$time') AND ($t.stop='' OR $t.stop>'".($time + 60)."') AND $t.published='1'"; } if (!isset($arrOptions['order'])) { @@ -171,21 +171,21 @@ public function findPublishedByPid($intId, $intLimit = 0, array $arrOptions = [] /** * Find published filter elements items by their parent ID and optional types. * - * @param int $intId The filter ID - * @param array $types The list of element types - * @param int $intLimit An optional limit + * @param int $intId The filter ID + * @param array $types The list of element types + * @param int $intLimit An optional limit * @param array $arrOptions An optional options array * * @return \Contao\Model\Collection|FilterConfigElementModel[]|FilterConfigElementModel|null A collection of models or null if there are no filter elements */ public function findPublishedByPidAndTypes($intId, array $types = [], $intLimit = 0, array $arrOptions = []) { - $t = static::$strTable; + $t = static::$strTable; $arrColumns = ["$t.pid=?"]; if (isset($arrOptions['ignoreFePreview']) || !defined('BE_USER_LOGGED_IN') || !BE_USER_LOGGED_IN) { - $time = \Date::floorToMinute(); - $arrColumns[] = "($t.start='' OR $t.start<='$time') AND ($t.stop='' OR $t.stop>'" . ($time + 60) . "') AND $t.published='1'"; + $time = \Date::floorToMinute(); + $arrColumns[] = "($t.start='' OR $t.start<='$time') AND ($t.stop='' OR $t.stop>'".($time + 60)."') AND $t.published='1'"; } if (!isset($arrOptions['order'])) { @@ -211,8 +211,10 @@ public function findPublishedByPidAndTypes($intId, array $types = [], $intLimit } /** - * Get the element form name + * Get the element form name. + * * @param $config FilterConfig Current filter config + * * @return string|null */ public function getFormName(FilterConfig $config) @@ -221,8 +223,7 @@ public function getFormName(FilterConfig $config) return $this->formName; } - if(!\System::getContainer()->has('huh.filter.choice.type')) - { + if (!\System::getContainer()->has('huh.filter.choice.type')) { return null; } @@ -236,7 +237,7 @@ public function getFormName(FilterConfig $config) return null; } - $type = $types[$this->type]; + $type = $types[$this->type]; $class = $type['class']; /** @var AbstractType $type */ diff --git a/src/Model/FilterConfigModel.php b/src/Model/FilterConfigModel.php index 19fb597..36e6a8d 100644 --- a/src/Model/FilterConfigModel.php +++ b/src/Model/FilterConfigModel.php @@ -14,9 +14,9 @@ /** * Reads and writes filter. * - * @property int $id - * @property int $tstamp - * @property int $dateAdded + * @property int $id + * @property int $tstamp + * @property int $dateAdded * @property string $title * @property string $dataContainer * @property string $method @@ -24,8 +24,8 @@ * @property string $template * @property string $name * @property string $cssClass - * @property bool $renderEmpty - * @property bool $published + * @property bool $renderEmpty + * @property bool $published * @property string $start * @property string $stop * @@ -89,12 +89,12 @@ class FilterConfigModel extends \Model */ public function findAllPublished(array $options = []) { - $t = static::$strTable; + $t = static::$strTable; $arrColumns = []; if (isset($arrOptions['ignoreFePreview']) || !defined('BE_USER_LOGGED_IN') || !BE_USER_LOGGED_IN) { - $time = \Date::floorToMinute(); - $arrColumns[] = "($t.start='' OR $t.start<='$time') AND ($t.stop='' OR $t.stop>'" . ($time + 60) . "') AND $t.published='1'"; + $time = \Date::floorToMinute(); + $arrColumns[] = "($t.start='' OR $t.start<='$time') AND ($t.stop='' OR $t.stop>'".($time + 60)."') AND $t.published='1'"; } /** @var Model $adapter */ diff --git a/src/Module/ModuleFilter.php b/src/Module/ModuleFilter.php index 43c5bc9..1305509 100644 --- a/src/Module/ModuleFilter.php +++ b/src/Module/ModuleFilter.php @@ -25,12 +25,12 @@ class ModuleFilter extends \Contao\Module public function generate() { if (TL_MODE === 'BE') { - $objTemplate = new \BackendTemplate('be_wildcard'); - $objTemplate->wildcard = '### ' . Utf8::strtoupper($GLOBALS['TL_LANG']['FMD'][$this->type][0]) . ' ###'; - $objTemplate->title = $this->headline; - $objTemplate->id = $this->id; - $objTemplate->link = $this->name; - $objTemplate->href = 'contao/main.php?do=themes&table=tl_module&act=edit&id=' . $this->id; + $objTemplate = new \BackendTemplate('be_wildcard'); + $objTemplate->wildcard = '### '.Utf8::strtoupper($GLOBALS['TL_LANG']['FMD'][$this->type][0]).' ###'; + $objTemplate->title = $this->headline; + $objTemplate->id = $this->id; + $objTemplate->link = $this->name; + $objTemplate->href = 'contao/main.php?do=themes&table=tl_module&act=edit&id='.$this->id; return $objTemplate->parse(); } @@ -80,7 +80,7 @@ protected function compile() $templates[$filter['template']], [ 'filter' => $this->config, - 'form' => $form->createView(), + 'form' => $form->createView(), ] ); } diff --git a/src/QueryBuilder/FilterQueryBuilder.php b/src/QueryBuilder/FilterQueryBuilder.php index 5a12217..7b5c579 100644 --- a/src/QueryBuilder/FilterQueryBuilder.php +++ b/src/QueryBuilder/FilterQueryBuilder.php @@ -14,7 +14,6 @@ use Doctrine\DBAL\Connection; use Doctrine\DBAL\Query\QueryBuilder; use Haste\Model\Relations; -use HeimrichHannot\FilterBundle\Backend\FilterConfigElement; use HeimrichHannot\FilterBundle\Config\FilterConfig; use HeimrichHannot\FilterBundle\Filter\AbstractType; use HeimrichHannot\FilterBundle\Model\FilterConfigElementModel; @@ -33,7 +32,8 @@ class FilterQueryBuilder extends QueryBuilder protected $contextualValues = []; /** - * List of elements that should be skipped + * List of elements that should be skipped. + * * @var FilterConfigElementModel[] */ protected $skip = []; @@ -48,8 +48,8 @@ public function __construct(ContaoFrameworkInterface $framework, Connection $con * Add where clause based on an element. * * @param FilterConfigElementModel $element - * @param string $name The field name - * @param FilterConfig $config + * @param string $name The field name + * @param FilterConfig $config * * @return $this this FilterQueryBuilder instance */ @@ -89,9 +89,9 @@ public function whereElement(FilterConfigElementModel $element, string $name, Fi * Add tag widget where clause. * * @param FilterConfigElementModel $element - * @param string $name The field name - * @param FilterConfig $config - * @param array $dca + * @param string $name The field name + * @param FilterConfig $config + * @param array $dca * * @return $this this FilterQueryBuilder instance */ @@ -148,31 +148,69 @@ public function addContextualValue($elementId, $value) $this->contextualValues[$elementId] = $value; } + /** + * @return array + */ + public function getContextualValues(): array + { + return $this->contextualValues; + } + + /** + * Get filter skip elements. + * + * @return FilterConfigElementModel[] + */ + public function getSkip() + { + return is_array($this->skip) ? $this->skip : []; + } + + /** + * Set filter skip elements. + * + * @param FilterConfigElementModel[] $skip + */ + public function setSkip(array $skip) + { + $this->skip = $skip; + } + + /** + * Add filter element to skip. + * + * @param FilterConfigElementModel $element + */ + public function addSkip(FilterConfigElementModel $element) + { + $this->skip[$element->id] = $element; + } + /** * Add tag widget where clause. * * @param FilterConfigElementModel $element - * @param string $name The field name - * @param FilterConfig $config - * @param array $dca + * @param string $name The field name + * @param FilterConfig $config + * @param array $dca * * @return $this this FilterQueryBuilder instance */ protected function whereTagWidget(FilterConfigElementModel $element, string $name, FilterConfig $config, array $dca) { - $filter = $config->getFilter(); - $data = $config->getData(); - $value = $data[$name]; + $filter = $config->getFilter(); + $data = $config->getData(); + $value = $data[$name]; $relation = Relations::getRelation($filter['dataContainer'], $element->field); if (false === $relation || null === $value) { return $this; } - $alias = $relation['table'] . '_' . $name; + $alias = $relation['table'].'_'.$name; - $this->join($relation['reference_table'], $relation['table'], $alias, $alias . '.' . $relation['reference_field'] . '=' . $relation['reference_table'] . '.' . $relation['reference']); - $this->andWhere($this->expr()->in($alias . '.' . $relation['related_field'], $value)); + $this->join($relation['reference_table'], $relation['table'], $alias, $alias.'.'.$relation['reference_field'].'='.$relation['reference_table'].'.'.$relation['reference']); + $this->andWhere($this->expr()->in($alias.'.'.$relation['related_field'], $value)); return $this; } @@ -181,68 +219,33 @@ protected function whereTagWidget(FilterConfigElementModel $element, string $nam * Add category widget where clause. * * @param FilterConfigElementModel $element - * @param string $name The field name - * @param FilterConfig $config - * @param array $dca + * @param string $name The field name + * @param FilterConfig $config + * @param array $dca * * @return $this this FilterQueryBuilder instance */ protected function whereCategoryWidget(FilterConfigElementModel $element, string $name, FilterConfig $config, array $dca) { $filter = $config->getFilter(); - $data = $config->getData(); - $value = $data[$name]; + $data = $config->getData(); + $value = $data[$name]; if (null === $value) { return $this; } - $alias = 'tl_category_association_' . $element->field; + $alias = 'tl_category_association_'.$element->field; $this->join($filter['dataContainer'], 'tl_category_association', $alias, " $alias.categoryField='$element->field' AND - $alias.parentTable='" . $filter['dataContainer'] . "' AND - $alias.entity=" . $filter['dataContainer'] . '.id + $alias.parentTable='".$filter['dataContainer']."' AND + $alias.entity=".$filter['dataContainer'].'.id '); - $this->andWhere($this->expr()->in($alias . '.category', ":$alias")); + $this->andWhere($this->expr()->in($alias.'.category', ":$alias")); $this->setParameter(":$alias", $value, \PDO::PARAM_STR); return $this; } - - /** - * @return array - */ - public function getContextualValues(): array - { - return $this->contextualValues; - } - - /** - * Get filter skip elements - * @return FilterConfigElementModel[] - */ - public function getSkip() - { - return is_array($this->skip) ? $this->skip : []; - } - - /** - * Set filter skip elements - * @param FilterConfigElementModel[] $skip - */ - public function setSkip(array $skip) - { - $this->skip = $skip; - } - - /** - * Add filter element to skip - * @param FilterConfigElementModel $element - */ - public function addSkip(FilterConfigElementModel $element) - { - $this->skip[$element->id] = $element; - } } diff --git a/src/Resources/contao/languages/de/tl_filter_config_element.php b/src/Resources/contao/languages/de/tl_filter_config_element.php index 9bd8577..50c4b05 100644 --- a/src/Resources/contao/languages/de/tl_filter_config_element.php +++ b/src/Resources/contao/languages/de/tl_filter_config_element.php @@ -13,7 +13,7 @@ $lang['customOptions'] = ['Optionen anpassen', 'Wählen Sie diese Option, um benutzerdefinierte Optionswerte festzulegen.']; $lang['options'] = ['Optionen', 'Wenn JavaScript deaktiviert ist, speichern Sie Ihre Änderungen, bevor Sie die Reihenfolge verändern.']; $lang['customName'] = ['Name anpassen', 'Setzen Sie hier einen benutzerdefinierten Namen.']; -$lang['name'] = ['Name', 'Geben Sie hier den gewünschten Namen ein.']; +$lang['name'] = ['Formularfeldname', 'Geben Sie hier den gewünschten Namen im HTML-Formular ein.']; $lang['customOperator'] = ['Operator anpassen', 'Setzen Sie hier einen benutzerdefinierten Operator.']; $lang['operator'] = ['Operator', 'Wählen Sie hier den gewünschten Operator aus.']; $lang['addPlaceholder'] = ['Platzhalter hinzufügen', 'Wählen Sie diese Option, um dem Filter einen Platzhaltertext hinzuzufügen.']; diff --git a/src/Resources/contao/languages/en/tl_filter_config_element.php b/src/Resources/contao/languages/en/tl_filter_config_element.php index 7054daf..b2a267d 100644 --- a/src/Resources/contao/languages/en/tl_filter_config_element.php +++ b/src/Resources/contao/languages/en/tl_filter_config_element.php @@ -12,7 +12,7 @@ $lang['customOptions'] = ['Custom options', 'Use choices.']; $lang['options'] = ['Options', 'If JavaScript is disabled, make sure to save your changes before modifying the order.']; $lang['customName'] = ['Custom name', 'Set a custom field name.']; -$lang['name'] = ['Name', 'Enter a custom field name.']; +$lang['name'] = ['Form field name', 'Enter the name for the field in the HTML form.']; $lang['customOperator'] = ['Custom operator', 'Set a custom operator.']; $lang['operator'] = ['Operator', 'Choose a custom operator.']; $lang['addPlaceholder'] = ['Add placeholder', 'Add a placeholder value.']; diff --git a/tests/Backend/FilterConfigElementTest.php b/tests/Backend/FilterConfigElementTest.php index 5d9c28d..62c5020 100644 --- a/tests/Backend/FilterConfigElementTest.php +++ b/tests/Backend/FilterConfigElementTest.php @@ -19,11 +19,11 @@ use HeimrichHannot\FilterBundle\Backend\FilterConfigElement; use HeimrichHannot\FilterBundle\Choice\FieldOptionsChoice; use HeimrichHannot\FilterBundle\Config\FilterConfig; -use HeimrichHannot\FilterBundle\Session\FilterSession; +use HeimrichHannot\FilterBundle\Manager\FilterManager; use HeimrichHannot\FilterBundle\Model\FilterConfigElementModel; use HeimrichHannot\FilterBundle\Model\FilterConfigModel; use HeimrichHannot\FilterBundle\QueryBuilder\FilterQueryBuilder; -use HeimrichHannot\FilterBundle\Manager\FilterManager; +use HeimrichHannot\FilterBundle\Session\FilterSession; use HeimrichHannot\UtilsBundle\Container\ContainerUtil; use HeimrichHannot\UtilsBundle\Model\ModelUtil; use Symfony\Component\HttpFoundation\RequestStack; diff --git a/tests/Choice/CountryChoiceTest.php b/tests/Choice/CountryChoiceTest.php index cfc2f99..24730fc 100644 --- a/tests/Choice/CountryChoiceTest.php +++ b/tests/Choice/CountryChoiceTest.php @@ -438,7 +438,7 @@ protected function getFixturesDir(): string * Mocks the plugin loader. * * @param \PHPUnit_Framework_MockObject_Matcher_InvokedCount $expects - * @param array $plugins + * @param array $plugins * * @return PluginLoader|\PHPUnit_Framework_MockObject_MockObject */ diff --git a/tests/Choice/ElementChoiceTest.php b/tests/Choice/ElementChoiceTest.php index d67aaca..62f9824 100644 --- a/tests/Choice/ElementChoiceTest.php +++ b/tests/Choice/ElementChoiceTest.php @@ -56,12 +56,12 @@ public function setUp(): void $containerBuilder = new \Contao\ManagerPlugin\Config\ContainerBuilder($this->mockPluginLoader($this->never()), []); - $config = $plugin->getExtensionConfig('huh_filter', [[]], $containerBuilder); + $config = $plugin->getExtensionConfig('huh_filter', [[]], $containerBuilder); $this->config['filter'] = $config['huh']['filter']; // required within Contao\Widget::getAttributesFromDca() if (!\function_exists('array_is_assoc')) { - include_once __DIR__ . '/../../vendor/contao/core-bundle/src/Resources/contao/helper/functions.php'; + include_once __DIR__.'/../../vendor/contao/core-bundle/src/Resources/contao/helper/functions.php'; } } @@ -76,38 +76,36 @@ public function testCanBeInstantiated() System::setContainer($this->container); $framework = $this->mockContaoFramework(); - $instance = new ElementChoice($framework); + $instance = new ElementChoice($framework); $this->assertInstanceOf('HeimrichHannot\FilterBundle\Choice\ElementChoice', $instance); } /** - * Tests the element collection with valid context and elements + * Tests the element collection with valid context and elements. */ public function testCollectElementsWithContextAndElements() { $this->container->set('kernel', $this->kernel); - $filterConfigDateElement = $this->mockClassWithProperties(FilterConfigElementModel::class, [ - 'id' => 1, - 'pid' => 1, + 'id' => 1, + 'pid' => 1, 'type' => 'date', - 'name' => 'testDate' + 'name' => 'testDate', ]); $filterConfigTimeElement = $this->mockClassWithProperties(FilterConfigElementModel::class, [ - 'id' => 2, - 'pid' => 1, + 'id' => 2, + 'pid' => 1, 'type' => 'time', - 'name' => 'testTime' + 'name' => 'testTime', ]); - $filterConfigElementAdapter = $this->mockAdapter(['findPublishedByPidAndTypes']); $filterConfigElementAdapter->method('findPublishedByPidAndTypes')->willReturn([ $filterConfigDateElement, - $filterConfigTimeElement + $filterConfigTimeElement, ]); $framework = $this->mockContaoFramework([FilterConfigElementModel::class => $filterConfigElementAdapter]); @@ -117,14 +115,14 @@ public function testCollectElementsWithContextAndElements() $context = ['pid' => 1, 'types' => ['date']]; $instance = new ElementChoice($framework); - $choices = $instance->getChoices($context); + $choices = $instance->getChoices($context); System::setContainer($this->container); $this->assertNotEmpty($choices); $this->assertCount(2, $choices); - $this->assertEquals('testDate [date]', $choices[1]); - $this->assertEquals('testTime [time]', $choices[2]); + $this->assertSame('testDate [date]', $choices[1]); + $this->assertSame('testTime [time]', $choices[2]); } /** @@ -144,7 +142,7 @@ public function testCollectWithNoElements() $context = ['pid' => 1, 'types' => ['date']]; $instance = new ElementChoice($framework); - $choices = $instance->getChoices($context); + $choices = $instance->getChoices($context); System::setContainer($this->container); @@ -152,7 +150,7 @@ public function testCollectWithNoElements() } /** - * Tests the element collection without model adapter + * Tests the element collection without model adapter. */ public function testCollectWithNoAdapter() { @@ -165,7 +163,7 @@ public function testCollectWithNoAdapter() $context = ['pid' => 1, 'types' => ['date']]; $instance = new ElementChoice($framework); - $choices = $instance->getChoices($context); + $choices = $instance->getChoices($context); System::setContainer($this->container); @@ -173,7 +171,7 @@ public function testCollectWithNoAdapter() } /** - * Tests the element collection with invalid pid + * Tests the element collection with invalid pid. */ public function testCollectWithInvalidPid() { @@ -186,7 +184,7 @@ public function testCollectWithInvalidPid() $context = ['pid' => 0]; $instance = new ElementChoice($framework); - $choices = $instance->getChoices($context); + $choices = $instance->getChoices($context); System::setContainer($this->container); @@ -207,7 +205,7 @@ public function testCollectWithInvalidContext() $context = ['pid' => []]; $instance = new ElementChoice($framework); - $choices = $instance->getChoices($context); + $choices = $instance->getChoices($context); System::setContainer($this->container); @@ -228,7 +226,7 @@ public function testCollectWithoutFilterAndPidAndTypes() $context = []; $instance = new ElementChoice($framework); - $choices = $instance->getChoices($context); + $choices = $instance->getChoices($context); System::setContainer($this->container); @@ -240,14 +238,14 @@ public function testCollectWithoutFilterAndPidAndTypes() */ protected function getFixturesDir(): string { - return __DIR__ . DIRECTORY_SEPARATOR . 'Fixtures'; + return __DIR__.DIRECTORY_SEPARATOR.'Fixtures'; } /** * Mocks the plugin loader. * * @param \PHPUnit_Framework_MockObject_Matcher_InvokedCount $expects - * @param array $plugins + * @param array $plugins * * @return PluginLoader|\PHPUnit_Framework_MockObject_MockObject */ diff --git a/tests/Choice/FieldOptionsChoiceTest.php b/tests/Choice/FieldOptionsChoiceTest.php index aac37da..fc0a4bd 100644 --- a/tests/Choice/FieldOptionsChoiceTest.php +++ b/tests/Choice/FieldOptionsChoiceTest.php @@ -9,7 +9,6 @@ namespace HeimrichHannot\FilterBundle\Test\Choice; use Codefog\TagsBundle\Manager\DefaultManager; -use Codefog\TagsBundle\ManagerRegistry; use Codefog\TagsBundle\Model\TagModel; use Contao\Controller; use Contao\ManagerPlugin\PluginLoader; @@ -51,8 +50,7 @@ public function setUp() \define('TL_ROOT', $this->getFixturesDir()); } - unset($GLOBALS['TL_DCA']['tl_test']); - unset($GLOBALS['TL_FFL']); + unset($GLOBALS['TL_DCA']['tl_test'], $GLOBALS['TL_FFL']); $this->container = $this->mockContainer(); $this->container->setParameter('kernel.debug', true); @@ -65,12 +63,12 @@ public function setUp() $containerBuilder = new \Contao\ManagerPlugin\Config\ContainerBuilder($this->mockPluginLoader($this->never()), []); - $config = $plugin->getExtensionConfig('huh_filter', [[]], $containerBuilder); + $config = $plugin->getExtensionConfig('huh_filter', [[]], $containerBuilder); $this->config['filter'] = $config['huh']['filter']; // required within Contao\Widget::getAttributesFromDca() if (!\function_exists('array_is_assoc')) { - include_once __DIR__ . '/../../vendor/contao/core-bundle/src/Resources/contao/helper/functions.php'; + include_once __DIR__.'/../../vendor/contao/core-bundle/src/Resources/contao/helper/functions.php'; } } @@ -85,13 +83,13 @@ public function testCanBeInstantiated() System::setContainer($this->container); $framework = $this->mockContaoFramework(); - $instance = new FieldOptionsChoice($framework); + $instance = new FieldOptionsChoice($framework); $this->assertInstanceOf('HeimrichHannot\FilterBundle\Choice\FieldOptionsChoice', $instance); } /** - * Tests the field options choices based on tag field without tag manager service + * Tests the field options choices based on tag field without tag manager service. */ public function testCollectTagOptionsWithTranslation() { @@ -116,7 +114,7 @@ public function testCollectTagOptionsWithTranslation() $framework = $this->mockContaoFramework([ Controller::class => $controllerAdapter, - TagModel::class => $tagModelAdapter + TagModel::class => $tagModelAdapter, ]); $defaultManagerAdapter = $this->mockAdapter(['findMultiple']); @@ -132,42 +130,42 @@ public function testCollectTagOptionsWithTranslation() $GLOBALS['TL_DCA']['tl_test'] = [ 'fields' => [ 'test' => [ - 'label' => ['foo', 'bar'], + 'label' => ['foo', 'bar'], 'inputType' => 'cfgTags', - 'eval' => [ - 'submitOnChange' => false, - 'allowHtml' => false, - 'rte' => false, - 'preserveTags' => false, - 'isAssociative' => false, + 'eval' => [ + 'submitOnChange' => false, + 'allowHtml' => false, + 'rte' => false, + 'preserveTags' => false, + 'isAssociative' => false, 'includeBlankOption' => false, - 'sql' => '', - 'tagsManager' => 'tag_manager.test' + 'sql' => '', + 'tagsManager' => 'tag_manager.test', ], - ] - ] + ], + ], ]; $elementModel = $this->mockClassWithProperties(FilterConfigElementModel::class, [ - 'field' => 'test' + 'field' => 'test', ]); $context = [ - 'filter' => ['dataContainer' => 'tl_test'], - 'element' => $elementModel + 'filter' => ['dataContainer' => 'tl_test'], + 'element' => $elementModel, ]; $instance = new FieldOptionsChoice($framework); - $choices = $instance->getChoices($context); + $choices = $instance->getChoices($context); System::setContainer($this->container); $this->assertNotEmpty($choices); - $this->assertEquals(['Translated tag A' => 1, 'Tag B' => 2], $choices); + $this->assertSame(['Translated tag A' => 1, 'Tag B' => 2], $choices); } /** - * Tests the field options choices based on tag field without tags + * Tests the field options choices based on tag field without tags. */ public function testCollectTagOptionsWithoutTags() { @@ -183,7 +181,7 @@ public function testCollectTagOptionsWithoutTags() $framework = $this->mockContaoFramework([ Controller::class => $controllerAdapter, - TagModel::class => $tagModelAdapter + TagModel::class => $tagModelAdapter, ]); $defaultManagerAdapter = $this->mockAdapter(['findMultiple']); @@ -199,33 +197,33 @@ public function testCollectTagOptionsWithoutTags() $GLOBALS['TL_DCA']['tl_test'] = [ 'fields' => [ 'test' => [ - 'label' => ['foo', 'bar'], + 'label' => ['foo', 'bar'], 'inputType' => 'cfgTags', - 'eval' => [ - 'submitOnChange' => false, - 'allowHtml' => false, - 'rte' => false, - 'preserveTags' => false, - 'isAssociative' => false, + 'eval' => [ + 'submitOnChange' => false, + 'allowHtml' => false, + 'rte' => false, + 'preserveTags' => false, + 'isAssociative' => false, 'includeBlankOption' => false, - 'sql' => '', - 'tagsManager' => 'tag_manager.test' + 'sql' => '', + 'tagsManager' => 'tag_manager.test', ], - ] - ] + ], + ], ]; $elementModel = $this->mockClassWithProperties(FilterConfigElementModel::class, [ - 'field' => 'test' + 'field' => 'test', ]); $context = [ - 'filter' => ['dataContainer' => 'tl_test'], - 'element' => $elementModel + 'filter' => ['dataContainer' => 'tl_test'], + 'element' => $elementModel, ]; $instance = new FieldOptionsChoice($framework); - $choices = $instance->getChoices($context); + $choices = $instance->getChoices($context); System::setContainer($this->container); @@ -233,7 +231,7 @@ public function testCollectTagOptionsWithoutTags() } /** - * Tests the field options choices based on tag field without tag manager service + * Tests the field options choices based on tag field without tag manager service. */ public function testCollectTagOptionsWithoutTagManager() { @@ -249,7 +247,7 @@ public function testCollectTagOptionsWithoutTagManager() $framework = $this->mockContaoFramework([ Controller::class => $controllerAdapter, - TagModel::class => $tagModelAdapter + TagModel::class => $tagModelAdapter, ]); $tagManagerRegistry = $this->mockAdapter(['get']); @@ -262,33 +260,33 @@ public function testCollectTagOptionsWithoutTagManager() $GLOBALS['TL_DCA']['tl_test'] = [ 'fields' => [ 'test' => [ - 'label' => ['foo', 'bar'], + 'label' => ['foo', 'bar'], 'inputType' => 'cfgTags', - 'eval' => [ - 'submitOnChange' => false, - 'allowHtml' => false, - 'rte' => false, - 'preserveTags' => false, - 'isAssociative' => false, + 'eval' => [ + 'submitOnChange' => false, + 'allowHtml' => false, + 'rte' => false, + 'preserveTags' => false, + 'isAssociative' => false, 'includeBlankOption' => false, - 'sql' => '', - 'tagsManager' => 'tag_manager.test' + 'sql' => '', + 'tagsManager' => 'tag_manager.test', ], - ] - ] + ], + ], ]; $elementModel = $this->mockClassWithProperties(FilterConfigElementModel::class, [ - 'field' => 'test' + 'field' => 'test', ]); $context = [ - 'filter' => ['dataContainer' => 'tl_test'], - 'element' => $elementModel + 'filter' => ['dataContainer' => 'tl_test'], + 'element' => $elementModel, ]; $instance = new FieldOptionsChoice($framework); - $choices = $instance->getChoices($context); + $choices = $instance->getChoices($context); System::setContainer($this->container); @@ -296,7 +294,7 @@ public function testCollectTagOptionsWithoutTagManager() } /** - * Tests the field options choices based on tag field without codefog_tags.manager_registry service + * Tests the field options choices based on tag field without codefog_tags.manager_registry service. */ public function testCollectTagOptionsWithoutTagsManagerRegistryService() { @@ -314,33 +312,33 @@ public function testCollectTagOptionsWithoutTagsManagerRegistryService() $GLOBALS['TL_DCA']['tl_test'] = [ 'fields' => [ 'test' => [ - 'label' => ['foo', 'bar'], + 'label' => ['foo', 'bar'], 'inputType' => 'cfgTags', - 'eval' => [ - 'submitOnChange' => false, - 'allowHtml' => false, - 'rte' => false, - 'preserveTags' => false, - 'isAssociative' => false, + 'eval' => [ + 'submitOnChange' => false, + 'allowHtml' => false, + 'rte' => false, + 'preserveTags' => false, + 'isAssociative' => false, 'includeBlankOption' => false, - 'sql' => '', - 'tagsManager' => 'tag_manager.test' + 'sql' => '', + 'tagsManager' => 'tag_manager.test', ], - ] - ] + ], + ], ]; $elementModel = $this->mockClassWithProperties(FilterConfigElementModel::class, [ - 'field' => 'test' + 'field' => 'test', ]); $context = [ - 'filter' => ['dataContainer' => 'tl_test'], - 'element' => $elementModel + 'filter' => ['dataContainer' => 'tl_test'], + 'element' => $elementModel, ]; $instance = new FieldOptionsChoice($framework); - $choices = $instance->getChoices($context); + $choices = $instance->getChoices($context); System::setContainer($this->container); @@ -348,7 +346,7 @@ public function testCollectTagOptionsWithoutTagsManagerRegistryService() } /** - * Tests the field options choices based on tag field without tagsManager in eval set + * Tests the field options choices based on tag field without tagsManager in eval set. */ public function testCollectTagOptionsWithoutTagManagerEval() { @@ -366,32 +364,32 @@ public function testCollectTagOptionsWithoutTagManagerEval() $GLOBALS['TL_DCA']['tl_test'] = [ 'fields' => [ 'test' => [ - 'label' => ['foo', 'bar'], + 'label' => ['foo', 'bar'], 'inputType' => 'cfgTags', - 'eval' => [ - 'submitOnChange' => false, - 'allowHtml' => false, - 'rte' => false, - 'preserveTags' => false, - 'isAssociative' => false, + 'eval' => [ + 'submitOnChange' => false, + 'allowHtml' => false, + 'rte' => false, + 'preserveTags' => false, + 'isAssociative' => false, 'includeBlankOption' => false, - 'sql' => '', + 'sql' => '', ], - ] - ] + ], + ], ]; $elementModel = $this->mockClassWithProperties(FilterConfigElementModel::class, [ - 'field' => 'test' + 'field' => 'test', ]); $context = [ - 'filter' => ['dataContainer' => 'tl_test'], - 'element' => $elementModel + 'filter' => ['dataContainer' => 'tl_test'], + 'element' => $elementModel, ]; $instance = new FieldOptionsChoice($framework); - $choices = $instance->getChoices($context); + $choices = $instance->getChoices($context); System::setContainer($this->container); @@ -399,7 +397,7 @@ public function testCollectTagOptionsWithoutTagManagerEval() } /** - * Tests the field options choices based on category field with categories and translation + * Tests the field options choices based on category field with categories and translation. */ public function testCollectCategoryOptionsWithTranslation() { @@ -412,21 +410,21 @@ public function testCollectCategoryOptionsWithTranslation() $controllerAdapter->method('loadDataContainer')->willReturn(null); $categoryA = $this->mockClassWithProperties(CategoryModel::class, [ - 'id' => 1, + 'id' => 1, 'frontendTitle' => 'message.categoryA.frontendTitle', - 'title' => 'Category A', + 'title' => 'Category A', ]); $categoryB = $this->mockClassWithProperties(CategoryModel::class, [ - 'id' => 2, + 'id' => 2, 'frontendTitle' => 'Frontend Title Category B', - 'title' => 'Category B', + 'title' => 'Category B', ]); $categoryAdapter = $this->mockAdapter(['findByCategoryFieldAndTable']); $categoryAdapter->method('findByCategoryFieldAndTable')->willReturn([ $categoryA, - $categoryB + $categoryB, ]); $this->container->set('huh.categories.manager', $categoryAdapter); @@ -437,42 +435,42 @@ public function testCollectCategoryOptionsWithTranslation() $GLOBALS['TL_DCA']['tl_test'] = [ 'fields' => [ 'test' => [ - 'label' => ['foo', 'bar'], + 'label' => ['foo', 'bar'], 'inputType' => 'select', - 'eval' => [ - 'submitOnChange' => false, - 'allowHtml' => false, - 'rte' => false, - 'preserveTags' => false, - 'isAssociative' => false, + 'eval' => [ + 'submitOnChange' => false, + 'allowHtml' => false, + 'rte' => false, + 'preserveTags' => false, + 'isAssociative' => false, 'includeBlankOption' => false, - 'sql' => '', - 'isCategoryField' => true, + 'sql' => '', + 'isCategoryField' => true, ], - ] - ] + ], + ], ]; $elementModel = $this->mockClassWithProperties(FilterConfigElementModel::class, [ - 'field' => 'test' + 'field' => 'test', ]); $context = [ - 'filter' => ['dataContainer' => 'tl_test'], - 'element' => $elementModel + 'filter' => ['dataContainer' => 'tl_test'], + 'element' => $elementModel, ]; $instance = new FieldOptionsChoice($framework); - $choices = $instance->getChoices($context); + $choices = $instance->getChoices($context); System::setContainer($this->container); $this->assertNotEmpty($choices); - $this->assertEquals(['Frontend Title Category A' => 1, 'Frontend Title Category B' => 2], $choices); + $this->assertSame(['Frontend Title Category A' => 1, 'Frontend Title Category B' => 2], $choices); } /** - * Tests the field options choices based on category field without existing categories + * Tests the field options choices based on category field without existing categories. */ public function testCollectCategoryOptionsWithoutCategories() { @@ -494,33 +492,33 @@ public function testCollectCategoryOptionsWithoutCategories() $GLOBALS['TL_DCA']['tl_test'] = [ 'fields' => [ 'test' => [ - 'label' => ['foo', 'bar'], + 'label' => ['foo', 'bar'], 'inputType' => 'select', - 'eval' => [ - 'submitOnChange' => false, - 'allowHtml' => false, - 'rte' => false, - 'preserveTags' => false, - 'isAssociative' => false, + 'eval' => [ + 'submitOnChange' => false, + 'allowHtml' => false, + 'rte' => false, + 'preserveTags' => false, + 'isAssociative' => false, 'includeBlankOption' => false, - 'sql' => '', - 'isCategoryField' => true, + 'sql' => '', + 'isCategoryField' => true, ], - ] - ] + ], + ], ]; $elementModel = $this->mockClassWithProperties(FilterConfigElementModel::class, [ - 'field' => 'test' + 'field' => 'test', ]); $context = [ - 'filter' => ['dataContainer' => 'tl_test'], - 'element' => $elementModel + 'filter' => ['dataContainer' => 'tl_test'], + 'element' => $elementModel, ]; $instance = new FieldOptionsChoice($framework); - $choices = $instance->getChoices($context); + $choices = $instance->getChoices($context); System::setContainer($this->container); @@ -528,7 +526,7 @@ public function testCollectCategoryOptionsWithoutCategories() } /** - * Tests the field options choices based on category field without existing category manager + * Tests the field options choices based on category field without existing category manager. */ public function testCollectCategoryOptionsWithoutCategoryManagerService() { @@ -546,33 +544,33 @@ public function testCollectCategoryOptionsWithoutCategoryManagerService() $GLOBALS['TL_DCA']['tl_test'] = [ 'fields' => [ 'test' => [ - 'label' => ['foo', 'bar'], + 'label' => ['foo', 'bar'], 'inputType' => 'select', - 'eval' => [ - 'submitOnChange' => false, - 'allowHtml' => false, - 'rte' => false, - 'preserveTags' => false, - 'isAssociative' => false, + 'eval' => [ + 'submitOnChange' => false, + 'allowHtml' => false, + 'rte' => false, + 'preserveTags' => false, + 'isAssociative' => false, 'includeBlankOption' => false, - 'sql' => '', - 'isCategoryField' => true, + 'sql' => '', + 'isCategoryField' => true, ], - ] - ] + ], + ], ]; $elementModel = $this->mockClassWithProperties(FilterConfigElementModel::class, [ - 'field' => 'test' + 'field' => 'test', ]); $context = [ - 'filter' => ['dataContainer' => 'tl_test'], - 'element' => $elementModel + 'filter' => ['dataContainer' => 'tl_test'], + 'element' => $elementModel, ]; $instance = new FieldOptionsChoice($framework); - $choices = $instance->getChoices($context); + $choices = $instance->getChoices($context); System::setContainer($this->container); @@ -580,7 +578,7 @@ public function testCollectCategoryOptionsWithoutCategoryManagerService() } /** - * Tests the field options choices based on given dca field from `options_callback` + * Tests the field options choices based on given dca field from `options_callback`. */ public function testCollectDcaOptionsFromWidgetOptionsCallback() { @@ -602,44 +600,44 @@ public function testCollectDcaOptionsFromWidgetOptionsCallback() $GLOBALS['TL_DCA']['tl_test'] = [ 'fields' => [ 'test' => [ - 'label' => ['foo', 'bar'], - 'inputType' => 'select', + 'label' => ['foo', 'bar'], + 'inputType' => 'select', 'options_callback' => function () { return ['optionA', 'optionB']; }, - 'eval' => [ - 'submitOnChange' => false, - 'allowHtml' => false, - 'rte' => false, - 'preserveTags' => false, - 'isAssociative' => false, + 'eval' => [ + 'submitOnChange' => false, + 'allowHtml' => false, + 'rte' => false, + 'preserveTags' => false, + 'isAssociative' => false, 'includeBlankOption' => false, - 'sql' => '', + 'sql' => '', ], - ] - ] + ], + ], ]; $elementModel = $this->mockClassWithProperties(FilterConfigElementModel::class, [ - 'field' => 'test' + 'field' => 'test', ]); $context = [ - 'filter' => ['dataContainer' => 'tl_test'], - 'element' => $elementModel + 'filter' => ['dataContainer' => 'tl_test'], + 'element' => $elementModel, ]; $instance = new FieldOptionsChoice($framework); - $choices = $instance->getChoices($context); + $choices = $instance->getChoices($context); System::setContainer($this->container); $this->assertNotEmpty($choices); - $this->assertEquals(['optionA' => 'optionA', 'optionB' => 'optionB'], $choices); + $this->assertSame(['optionA' => 'optionA', 'optionB' => 'optionB'], $choices); } /** - * Tests the field options choices based on given dca field from `options` with reference + * Tests the field options choices based on given dca field from `options` with reference. */ public function testCollectDcaOptionsFromWidgetOptionsWithReference() { @@ -664,47 +662,47 @@ public function testCollectDcaOptionsFromWidgetOptionsWithReference() $GLOBALS['TL_DCA']['tl_test'] = [ 'fields' => [ 'test' => [ - 'label' => ['foo', 'bar'], - 'inputType' => 'select', - 'options' => [ + 'label' => ['foo', 'bar'], + 'inputType' => 'select', + 'options' => [ 'optionA', - 'optionB' + 'optionB', ], 'options_callback' => null, - 'eval' => [ - 'submitOnChange' => false, - 'allowHtml' => false, - 'rte' => false, - 'preserveTags' => false, - 'isAssociative' => false, + 'eval' => [ + 'submitOnChange' => false, + 'allowHtml' => false, + 'rte' => false, + 'preserveTags' => false, + 'isAssociative' => false, 'includeBlankOption' => false, - 'sql' => '', + 'sql' => '', ], - 'reference' => &$GLOBALS['TL_LANG']['tl_test']['test']['reference'] - ] - ] + 'reference' => &$GLOBALS['TL_LANG']['tl_test']['test']['reference'], + ], + ], ]; $elementModel = $this->mockClassWithProperties(FilterConfigElementModel::class, [ - 'field' => 'test' + 'field' => 'test', ]); $context = [ - 'filter' => ['dataContainer' => 'tl_test'], - 'element' => $elementModel + 'filter' => ['dataContainer' => 'tl_test'], + 'element' => $elementModel, ]; $instance = new FieldOptionsChoice($framework); - $choices = $instance->getChoices($context); + $choices = $instance->getChoices($context); System::setContainer($this->container); $this->assertNotEmpty($choices); - $this->assertEquals(['translated option A' => 'optionA', 'translated option B' => 'optionB'], $choices); + $this->assertSame(['translated option A' => 'optionA', 'translated option B' => 'optionB'], $choices); } /** - * Tests the field options choices based on given dca field from `options` + * Tests the field options choices based on given dca field from `options`. */ public function testCollectDcaOptionsFromWidgetOptions() { @@ -726,46 +724,46 @@ public function testCollectDcaOptionsFromWidgetOptions() $GLOBALS['TL_DCA']['tl_test'] = [ 'fields' => [ 'test' => [ - 'label' => ['foo', 'bar'], - 'inputType' => 'select', - 'options' => [ + 'label' => ['foo', 'bar'], + 'inputType' => 'select', + 'options' => [ 'optionA', - 'optionB' + 'optionB', ], 'options_callback' => null, - 'eval' => [ - 'submitOnChange' => false, - 'allowHtml' => false, - 'rte' => false, - 'preserveTags' => false, - 'isAssociative' => false, + 'eval' => [ + 'submitOnChange' => false, + 'allowHtml' => false, + 'rte' => false, + 'preserveTags' => false, + 'isAssociative' => false, 'includeBlankOption' => false, - 'sql' => '', + 'sql' => '', ], - ] - ] + ], + ], ]; $elementModel = $this->mockClassWithProperties(FilterConfigElementModel::class, [ - 'field' => 'test' + 'field' => 'test', ]); $context = [ - 'filter' => ['dataContainer' => 'tl_test'], - 'element' => $elementModel + 'filter' => ['dataContainer' => 'tl_test'], + 'element' => $elementModel, ]; $instance = new FieldOptionsChoice($framework); - $choices = $instance->getChoices($context); + $choices = $instance->getChoices($context); System::setContainer($this->container); $this->assertNotEmpty($choices); - $this->assertEquals(['optionA' => 'optionA', 'optionB' => 'optionB'], $choices); + $this->assertSame(['optionA' => 'optionA', 'optionB' => 'optionB'], $choices); } /** - * Tests the field options choices based on given dca field without frontend widget $GLOBALS['TL_FFL'] class + * Tests the field options choices based on given dca field without frontend widget $GLOBALS['TL_FFL'] class. */ public function testCollectDcaOptionsFromWidgetWithoutExistingFrontendWidgetClass() { @@ -786,25 +784,25 @@ public function testCollectDcaOptionsFromWidgetWithoutExistingFrontendWidgetClas 'fields' => [ 'test' => [ 'inputType' => 'select', - 'options' => [ + 'options' => [ 'optionA', - 'optionB' - ] - ] - ] + 'optionB', + ], + ], + ], ]; $elementModel = $this->mockClassWithProperties(FilterConfigElementModel::class, [ - 'field' => 'test' + 'field' => 'test', ]); $context = [ - 'filter' => ['dataContainer' => 'tl_test'], - 'element' => $elementModel + 'filter' => ['dataContainer' => 'tl_test'], + 'element' => $elementModel, ]; $instance = new FieldOptionsChoice($framework); - $choices = $instance->getChoices($context); + $choices = $instance->getChoices($context); System::setContainer($this->container); @@ -812,7 +810,7 @@ public function testCollectDcaOptionsFromWidgetWithoutExistingFrontendWidgetClas } /** - * Tests the field options choices based on given dca field without frontend widget $GLOBALS['TL_FFL'] + * Tests the field options choices based on given dca field without frontend widget $GLOBALS['TL_FFL']. */ public function testCollectDcaOptionsFromWidgetWithoutExistingFrontendWidget() { @@ -831,25 +829,25 @@ public function testCollectDcaOptionsFromWidgetWithoutExistingFrontendWidget() 'fields' => [ 'test' => [ 'inputType' => 'select', - 'options' => [ + 'options' => [ 'optionA', - 'optionB' - ] - ] - ] + 'optionB', + ], + ], + ], ]; $elementModel = $this->mockClassWithProperties(FilterConfigElementModel::class, [ - 'field' => 'test' + 'field' => 'test', ]); $context = [ - 'filter' => ['dataContainer' => 'tl_test'], - 'element' => $elementModel + 'filter' => ['dataContainer' => 'tl_test'], + 'element' => $elementModel, ]; $instance = new FieldOptionsChoice($framework); - $choices = $instance->getChoices($context); + $choices = $instance->getChoices($context); System::setContainer($this->container); @@ -857,7 +855,7 @@ public function testCollectDcaOptionsFromWidgetWithoutExistingFrontendWidget() } /** - * Tests the field options choices based on given dca field + * Tests the field options choices based on given dca field. */ public function testCollectDcaOptionsWithoutInputType() { @@ -875,21 +873,21 @@ public function testCollectDcaOptionsWithoutInputType() $GLOBALS['TL_DCA']['tl_test'] = [ 'fields' => [ 'test' => [ - ] - ] + ], + ], ]; $elementModel = $this->mockClassWithProperties(FilterConfigElementModel::class, [ - 'field' => 'test' + 'field' => 'test', ]); $context = [ - 'filter' => ['dataContainer' => 'tl_test'], - 'element' => $elementModel + 'filter' => ['dataContainer' => 'tl_test'], + 'element' => $elementModel, ]; $instance = new FieldOptionsChoice($framework); - $choices = $instance->getChoices($context); + $choices = $instance->getChoices($context); System::setContainer($this->container); @@ -897,7 +895,7 @@ public function testCollectDcaOptionsWithoutInputType() } /** - * Tests the field options choices based on given dca field without existing dca field configuration + * Tests the field options choices based on given dca field without existing dca field configuration. */ public function testCollectDcaOptionsForNonExistingField() { @@ -915,16 +913,16 @@ public function testCollectDcaOptionsForNonExistingField() $GLOBALS['TL_DCA']['tl_test'] = []; $elementModel = $this->mockClassWithProperties(FilterConfigElementModel::class, [ - 'field' => 'test' + 'field' => 'test', ]); $context = [ - 'filter' => ['dataContainer' => 'tl_test'], - 'element' => $elementModel + 'filter' => ['dataContainer' => 'tl_test'], + 'element' => $elementModel, ]; $instance = new FieldOptionsChoice($framework); - $choices = $instance->getChoices($context); + $choices = $instance->getChoices($context); System::setContainer($this->container); @@ -932,7 +930,7 @@ public function testCollectDcaOptionsForNonExistingField() } /** - * Tests the field options choices for custom options + * Tests the field options choices for custom options. */ public function testCollectCustomOptions() { @@ -940,7 +938,7 @@ public function testCollectCustomOptions() $translator->getCatalogue('de')->add( [ 'message.customOption1' => 'My custom option 1 label', - 'message.customOption2' => 'My custom option 2 label' + 'message.customOption2' => 'My custom option 2 label', ] ); $this->container->set('translator', $translator); @@ -957,32 +955,32 @@ public function testCollectCustomOptions() $elementModel = $this->mockClassWithProperties(FilterConfigElementModel::class, [ 'customOptions' => true, - 'options' => [ + 'options' => [ ['value' => 'customOption1', 'label' => 'message.customOption1'], - ['value' => 'customOption2', 'label' => 'message.customOption2'] - ] + ['value' => 'customOption2', 'label' => 'message.customOption2'], + ], ]); $context = [ - 'filter' => ['dataContainer' => 'tl_test'], - 'element' => $elementModel + 'filter' => ['dataContainer' => 'tl_test'], + 'element' => $elementModel, ]; $instance = new FieldOptionsChoice($framework); - $choices = $instance->getChoices($context); + $choices = $instance->getChoices($context); System::setContainer($this->container); $this->assertNotEmpty($choices); - $this->assertEquals( + $this->assertSame( [ 'My custom option 1 label' => 'customOption1', - 'My custom option 2 label' => 'customOption2' + 'My custom option 2 label' => 'customOption2', ], $choices); } /** - * Tests the field options choices without custom options + * Tests the field options choices without custom options. */ public function testCollectCustomOptionsWithoutOptions() { @@ -1001,16 +999,16 @@ public function testCollectCustomOptionsWithoutOptions() $elementModel = $this->mockClassWithProperties(FilterConfigElementModel::class, [ 'customOptions' => true, - 'options' => null + 'options' => null, ]); $context = [ - 'filter' => ['dataContainer' => 'tl_test'], - 'element' => $elementModel + 'filter' => ['dataContainer' => 'tl_test'], + 'element' => $elementModel, ]; $instance = new FieldOptionsChoice($framework); - $choices = $instance->getChoices($context); + $choices = $instance->getChoices($context); System::setContainer($this->container); @@ -1018,7 +1016,7 @@ public function testCollectCustomOptionsWithoutOptions() } /** - * Tests the field options choices for invalid custom options + * Tests the field options choices for invalid custom options. */ public function testCollectCustomOptionsOnInvalidOptions() { @@ -1037,19 +1035,19 @@ public function testCollectCustomOptionsOnInvalidOptions() $elementModel = $this->mockClassWithProperties(FilterConfigElementModel::class, [ 'customOptions' => true, - 'options' => [ + 'options' => [ ['customOption1' => 'message.customOption1'], - ['customOption2' => 'message.customOption2'] - ] + ['customOption2' => 'message.customOption2'], + ], ]); $context = [ - 'filter' => ['dataContainer' => 'tl_test'], - 'element' => $elementModel + 'filter' => ['dataContainer' => 'tl_test'], + 'element' => $elementModel, ]; $instance = new FieldOptionsChoice($framework); - $choices = $instance->getChoices($context); + $choices = $instance->getChoices($context); System::setContainer($this->container); @@ -1057,7 +1055,7 @@ public function testCollectCustomOptionsOnInvalidOptions() } /** - * Tests the field options choices with controller adapter + * Tests the field options choices with controller adapter. */ public function testCollectWithController() { @@ -1071,12 +1069,12 @@ public function testCollectWithController() System::setContainer($this->container); $context = [ - 'filter' => ['dataContainer' => 'tl_test'], - 'element' => [] + 'filter' => ['dataContainer' => 'tl_test'], + 'element' => [], ]; $instance = new FieldOptionsChoice($framework); - $choices = $instance->getChoices($context); + $choices = $instance->getChoices($context); System::setContainer($this->container); @@ -1084,7 +1082,7 @@ public function testCollectWithController() } /** - * Tests the field options choices without controller adapter + * Tests the field options choices without controller adapter. */ public function testCollectWithoutController() { @@ -1097,7 +1095,7 @@ public function testCollectWithoutController() $context = ['filter' => [], 'element' => []]; $instance = new FieldOptionsChoice($framework); - $choices = $instance->getChoices($context); + $choices = $instance->getChoices($context); System::setContainer($this->container); @@ -1105,7 +1103,7 @@ public function testCollectWithoutController() } /** - * Tests the field options choices without element context + * Tests the field options choices without element context. */ public function testCollectWithoutElementContext() { @@ -1118,16 +1116,15 @@ public function testCollectWithoutElementContext() $context = ['filter' => []]; $instance = new FieldOptionsChoice($framework); - $choices = $instance->getChoices($context); + $choices = $instance->getChoices($context); System::setContainer($this->container); $this->assertEmpty($choices); } - /** - * Tests the field options choices without filter context + * Tests the field options choices without filter context. */ public function testCollectWithoutFilterContext() { @@ -1140,7 +1137,7 @@ public function testCollectWithoutFilterContext() $context = ['element' => []]; $instance = new FieldOptionsChoice($framework); - $choices = $instance->getChoices($context); + $choices = $instance->getChoices($context); System::setContainer($this->container); @@ -1148,7 +1145,7 @@ public function testCollectWithoutFilterContext() } /** - * Tests the field options choices without filter and element context + * Tests the field options choices without filter and element context. */ public function testCollectWithoutFilterAndElementsContext() { @@ -1161,7 +1158,7 @@ public function testCollectWithoutFilterAndElementsContext() $context = []; $instance = new FieldOptionsChoice($framework); - $choices = $instance->getChoices($context); + $choices = $instance->getChoices($context); System::setContainer($this->container); @@ -1173,14 +1170,14 @@ public function testCollectWithoutFilterAndElementsContext() */ protected function getFixturesDir(): string { - return __DIR__ . DIRECTORY_SEPARATOR . 'Fixtures'; + return __DIR__.DIRECTORY_SEPARATOR.'Fixtures'; } /** * Mocks the plugin loader. * * @param \PHPUnit_Framework_MockObject_Matcher_InvokedCount $expects - * @param array $plugins + * @param array $plugins * * @return PluginLoader|\PHPUnit_Framework_MockObject_MockObject */ diff --git a/tests/Choice/LanguageChoiceTest.php b/tests/Choice/LanguageChoiceTest.php index 6544234..538b7f2 100644 --- a/tests/Choice/LanguageChoiceTest.php +++ b/tests/Choice/LanguageChoiceTest.php @@ -436,7 +436,7 @@ protected function getFixturesDir(): string * Mocks the plugin loader. * * @param \PHPUnit_Framework_MockObject_Matcher_InvokedCount $expects - * @param array $plugins + * @param array $plugins * * @return PluginLoader|\PHPUnit_Framework_MockObject_MockObject */ diff --git a/tests/Choice/LocaleChoiceTest.php b/tests/Choice/LocaleChoiceTest.php index 6090852..9ddc8c4 100644 --- a/tests/Choice/LocaleChoiceTest.php +++ b/tests/Choice/LocaleChoiceTest.php @@ -510,7 +510,7 @@ protected function getFixturesDir(): string * Mocks the plugin loader. * * @param \PHPUnit_Framework_MockObject_Matcher_InvokedCount $expects - * @param array $plugins + * @param array $plugins * * @return PluginLoader|\PHPUnit_Framework_MockObject_MockObject */ diff --git a/tests/Choice/TemplateChoiceTest.php b/tests/Choice/TemplateChoiceTest.php index 11e6d46..47e05f2 100644 --- a/tests/Choice/TemplateChoiceTest.php +++ b/tests/Choice/TemplateChoiceTest.php @@ -15,7 +15,6 @@ use HeimrichHannot\FilterBundle\Choice\TemplateChoice; use HeimrichHannot\FilterBundle\Choice\TypeChoice; use HeimrichHannot\FilterBundle\ContaoManager\Plugin; -use PHPUnit\Framework\MockObject\Matcher\Invocation; use Symfony\Component\DependencyInjection\ContainerBuilder; use Symfony\Component\HttpKernel\Kernel; @@ -176,7 +175,7 @@ public function testCollectWithExistingTypesWithDataContainerContext() * Mocks the plugin loader. * * @param \PHPUnit_Framework_MockObject_Matcher_InvokedCount $expects - * @param array $plugins + * @param array $plugins * * @return PluginLoader|\PHPUnit_Framework_MockObject_MockObject */ diff --git a/tests/Choice/TypeChoiceTest.php b/tests/Choice/TypeChoiceTest.php index 18b5abb..e5a1614 100644 --- a/tests/Choice/TypeChoiceTest.php +++ b/tests/Choice/TypeChoiceTest.php @@ -184,7 +184,7 @@ public function testCollectWithExistingTypesWithDataContainerContext() * Mocks the plugin loader. * * @param \PHPUnit_Framework_MockObject_Matcher_InvokedCount $expects - * @param array $plugins + * @param array $plugins * * @return PluginLoader|\PHPUnit_Framework_MockObject_MockObject */ diff --git a/tests/Config/FilterConfigTest.php b/tests/Config/FilterConfigTest.php index 28e47c1..d07b19d 100644 --- a/tests/Config/FilterConfigTest.php +++ b/tests/Config/FilterConfigTest.php @@ -8,14 +8,13 @@ namespace HeimrichHannot\FilterBundle\Tests\Config; -use Contao\InsertTags; use Contao\System; use Contao\TestCase\ContaoTestCase; use Doctrine\DBAL\Connection; use Doctrine\DBAL\Driver\Mysqli\Driver; use HeimrichHannot\FilterBundle\Config\FilterConfig; -use HeimrichHannot\FilterBundle\Session\FilterSession; use HeimrichHannot\FilterBundle\QueryBuilder\FilterQueryBuilder; +use HeimrichHannot\FilterBundle\Session\FilterSession; use Symfony\Component\DependencyInjection\ContainerBuilder; use Symfony\Component\Form\FormBuilder; use Symfony\Component\HttpFoundation\Request; @@ -31,7 +30,6 @@ class FilterConfigTest extends ContaoTestCase */ private $container; - protected function setUp() { parent::setUp(); @@ -39,7 +37,7 @@ protected function setUp() $request = new Request(); $this->container = $this->mockContainer(); - $requestStack = new RequestStack(); + $requestStack = new RequestStack(); $requestStack->push($request); $this->container->set('request_stack', $requestStack); @@ -57,7 +55,7 @@ protected function setUp() public function testCanBeInstantiated() { $framework = $this->mockContaoFramework([]); - $session = new MockArraySessionStorage(); + $session = new MockArraySessionStorage(); $queryBuilder = new FilterQueryBuilder($framework, new Connection([], new Driver())); @@ -72,10 +70,10 @@ public function testCanBeInstantiated() public function testInit() { $framework = $this->mockContaoFramework([]); - $session = new MockArraySessionStorage(); + $session = new MockArraySessionStorage(); $queryBuilder = new FilterQueryBuilder($framework, new Connection([], new Driver())); - $config = new FilterConfig($framework, new FilterSession($framework, new Session($session)), $queryBuilder); + $config = new FilterConfig($framework, new FilterSession($framework, new Session($session)), $queryBuilder); $config->init('test', []); $this->assertSame('test', $config->getSessionKey()); @@ -89,10 +87,10 @@ public function testInit() public function testBuildFormWithNotFilter() { $framework = $this->mockContaoFramework([]); - $session = new MockArraySessionStorage(); + $session = new MockArraySessionStorage(); $queryBuilder = new FilterQueryBuilder($framework, new Connection([], new Driver())); - $config = new FilterConfig($framework, new FilterSession($framework, new Session($session)), $queryBuilder); + $config = new FilterConfig($framework, new FilterSession($framework, new Session($session)), $queryBuilder); $config->buildForm(); $this->assertNull($config->getBuilder(), $config); @@ -104,19 +102,19 @@ public function testBuildFormWithNotFilter() public function testBuildFormWithoutElementsAndAction() { $filter = [ - 'id' => 1, + 'id' => 1, 'dataContainer' => 'tl_member', - 'name' => 'test_form', - 'method' => 'GET', + 'name' => 'test_form', + 'method' => 'GET', ]; System::setContainer($this->container); $framework = $this->mockContaoFramework([]); - $session = new MockArraySessionStorage(); + $session = new MockArraySessionStorage(); $queryBuilder = new FilterQueryBuilder($framework, new Connection([], new Driver())); - $config = new FilterConfig($framework, new FilterSession($framework, new Session($session)), $queryBuilder); + $config = new FilterConfig($framework, new FilterSession($framework, new Session($session)), $queryBuilder); $config->init('test', $filter); $config->buildForm(); @@ -130,20 +128,20 @@ public function testBuildFormWithoutElementsAndAction() public function testBuildFormWithInsertTagActionAndWithoutElements() { $filter = [ - 'id' => 1, + 'id' => 1, 'dataContainer' => 'tl_member', - 'name' => 'test_form', - 'method' => 'GET', - 'action' => '{{env::path}}', + 'name' => 'test_form', + 'method' => 'GET', + 'action' => '{{env::path}}', ]; System::setContainer($this->container); $framework = $this->mockContaoFramework(); - $session = new MockArraySessionStorage(); + $session = new MockArraySessionStorage(); $queryBuilder = new FilterQueryBuilder($framework, new Connection([], new Driver())); - $config = new FilterConfig($framework, new FilterSession($framework, new Session($session)), $queryBuilder); + $config = new FilterConfig($framework, new FilterSession($framework, new Session($session)), $queryBuilder); $config->init('test', $filter); $config->buildForm(); diff --git a/tests/ContaoManager/PluginTest.php b/tests/ContaoManager/PluginTest.php index 69efabc..ce4dcaa 100644 --- a/tests/ContaoManager/PluginTest.php +++ b/tests/ContaoManager/PluginTest.php @@ -136,7 +136,7 @@ public function testGetExtensionConfigLoadFilterConfig() * Mocks the plugin loader. * * @param \PHPUnit_Framework_MockObject_Matcher_InvokedCount $expects - * @param array $plugins + * @param array $plugins * * @return PluginLoader|\PHPUnit_Framework_MockObject_MockObject */ diff --git a/tests/DependencyInjection/HeimrichHannotContaoFilterExtensionTest.php b/tests/DependencyInjection/HeimrichHannotContaoFilterExtensionTest.php index 4467341..35fa4bb 100644 --- a/tests/DependencyInjection/HeimrichHannotContaoFilterExtensionTest.php +++ b/tests/DependencyInjection/HeimrichHannotContaoFilterExtensionTest.php @@ -12,14 +12,13 @@ use HeimrichHannot\FilterBundle\Choice\FieldOptionsChoice; use HeimrichHannot\FilterBundle\Choice\LanguageChoice; use HeimrichHannot\FilterBundle\Choice\LocaleChoice; -use HeimrichHannot\FilterBundle\Choice\ParentChoice; use HeimrichHannot\FilterBundle\Choice\TemplateChoice; use HeimrichHannot\FilterBundle\Choice\TypeChoice; use HeimrichHannot\FilterBundle\Config\FilterConfig; use HeimrichHannot\FilterBundle\DependencyInjection\HeimrichHannotContaoFilterExtension; -use HeimrichHannot\FilterBundle\Session\FilterSession; -use HeimrichHannot\FilterBundle\QueryBuilder\FilterQueryBuilder; use HeimrichHannot\FilterBundle\Manager\FilterManager; +use HeimrichHannot\FilterBundle\QueryBuilder\FilterQueryBuilder; +use HeimrichHannot\FilterBundle\Session\FilterSession; use PHPUnit\Framework\TestCase; use Symfony\Component\DependencyInjection\ContainerBuilder; use Symfony\Component\DependencyInjection\ParameterBag\ParameterBag; diff --git a/tests/Filter/Type/ButtonTypeTest.php b/tests/Filter/Type/ButtonTypeTest.php index 307d4b2..6bb11ab 100644 --- a/tests/Filter/Type/ButtonTypeTest.php +++ b/tests/Filter/Type/ButtonTypeTest.php @@ -17,8 +17,8 @@ use HeimrichHannot\FilterBundle\Config\FilterConfig; use HeimrichHannot\FilterBundle\Filter\Type\ButtonType; use HeimrichHannot\FilterBundle\Model\FilterConfigElementModel; -use HeimrichHannot\FilterBundle\Session\FilterSession; use HeimrichHannot\FilterBundle\QueryBuilder\FilterQueryBuilder; +use HeimrichHannot\FilterBundle\Session\FilterSession; use Symfony\Component\DependencyInjection\ContainerBuilder; use Symfony\Component\HttpFoundation\Request; use Symfony\Component\HttpFoundation\RequestStack; @@ -40,7 +40,6 @@ class ButtonTypeTest extends ContaoTestCase */ private $kernel; - protected function setUp() { parent::setUp(); @@ -49,37 +48,35 @@ protected function setUp() \define('TL_ROOT', $this->getFixturesDir()); } - $GLOBALS['TL_LANGUAGE'] = 'en'; + $GLOBALS['TL_LANGUAGE'] = 'en'; $GLOBALS['TL_LANG']['MSC'] = ['test' => 'bar']; $GLOBALS['TL_DCA']['tl_test'] = [ 'config' => [ 'dataContainer' => 'Table', - 'sql' => [ + 'sql' => [ 'keys' => [ ], ], ], 'fields' => [ - - ] + ], ]; $GLOBALS['TL_DCA']['tl_filter_config_element'] = [ 'config' => [ 'dataContainer' => 'Table', - 'sql' => [ + 'sql' => [ 'keys' => [ ], ], ], 'fields' => [ - - ] + ], ]; $finder = new ResourceFinder([ - $this->getFixturesDir() . '/vendor/contao/core-bundle/Resources/contao', + $this->getFixturesDir().'/vendor/contao/core-bundle/Resources/contao', ]); $this->container = $this->mockContainer(); @@ -115,10 +112,10 @@ public function testCanBeInstantiated() System::setContainer($this->container); $framework = $this->mockContaoFramework(); - $session = new MockArraySessionStorage(); + $session = new MockArraySessionStorage(); $queryBuilder = new FilterQueryBuilder($framework, new Connection([], new Driver())); - $config = new FilterConfig($framework, new FilterSession($framework, new Session($session)), $queryBuilder); + $config = new FilterConfig($framework, new FilterSession($framework, new Session($session)), $queryBuilder); $type = new ButtonType($config); @@ -126,15 +123,15 @@ public function testCanBeInstantiated() } /** - * Test getDefaultOperator() + * Test getDefaultOperator(). */ public function testGetDefaultOperator() { $framework = $this->mockContaoFramework(); - $session = new MockArraySessionStorage(); + $session = new MockArraySessionStorage(); $queryBuilder = new FilterQueryBuilder($framework, new Connection([], new Driver())); - $config = new FilterConfig($framework, new FilterSession($framework, new Session($session)), $queryBuilder); + $config = new FilterConfig($framework, new FilterSession($framework, new Session($session)), $queryBuilder); /** @var FilterConfigElementModel $element */ $element = $this->mockClassWithProperties(FilterConfigElementModel::class, []); @@ -145,45 +142,45 @@ public function testGetDefaultOperator() } /** - * Test getDefaultName() + * Test getDefaultName(). */ public function testGetDefaultName() { $framework = $this->mockContaoFramework(); - $session = new MockArraySessionStorage(); + $session = new MockArraySessionStorage(); $queryBuilder = new FilterQueryBuilder($framework, new Connection([], new Driver())); - $config = new FilterConfig($framework, new FilterSession($framework, new Session($session)), $queryBuilder); + $config = new FilterConfig($framework, new FilterSession($framework, new Session($session)), $queryBuilder); - $range = new FilterConfigElementModel(); + $range = new FilterConfigElementModel(); $range->name = 'test'; $type = new ButtonType($config); - $this->assertEquals('test', $type->getDefaultName($range)); + $this->assertSame('test', $type->getDefaultName($range)); } /** - * Test buildForm() without name + * Test buildForm() without name. */ public function testBuildFormWithoutName() { $framework = $this->mockContaoFramework(); - $session = new MockArraySessionStorage(); + $session = new MockArraySessionStorage(); $queryBuilder = new FilterQueryBuilder($framework, new Connection([], new Driver())); - $config = new FilterConfig($framework, new FilterSession($framework, new Session($session)), $queryBuilder); + $config = new FilterConfig($framework, new FilterSession($framework, new Session($session)), $queryBuilder); $this->container->setParameter('huh.filter', [ 'filter' => [ 'types' => [ [ - 'name' => 'button', + 'name' => 'button', 'class' => ButtonType::class, - 'type' => 'button' - ] - ] - ] + 'type' => 'button', + ], + ], + ], ]); $this->container->set('huh.filter.choice.type', new TypeChoice($framework)); @@ -191,36 +188,36 @@ public function testBuildFormWithoutName() $filter = ['name' => 'test', 'dataContainer' => 'tl_test']; - $element = new FilterConfigElementModel(); + $element = new FilterConfigElementModel(); $element->type = 'button'; $config->init('test', $filter, [$element]); $config->buildForm(); - $this->assertEquals(2, $config->getBuilder()->count()); // f_id and f_ref element always exists + $this->assertSame(2, $config->getBuilder()->count()); // f_id and f_ref element always exists } /** - * Test buildForm() with name + * Test buildForm() with name. */ public function testBuildFormWithName() { $framework = $this->mockContaoFramework(); - $session = new MockArraySessionStorage(); + $session = new MockArraySessionStorage(); $queryBuilder = new FilterQueryBuilder($framework, new Connection([], new Driver())); - $config = new FilterConfig($framework, new FilterSession($framework, new Session($session)), $queryBuilder); + $config = new FilterConfig($framework, new FilterSession($framework, new Session($session)), $queryBuilder); $this->container->setParameter('huh.filter', [ 'filter' => [ 'types' => [ [ - 'name' => 'button', + 'name' => 'button', 'class' => ButtonType::class, - 'type' => 'button' - ] - ] - ] + 'type' => 'button', + ], + ], + ], ]); $this->container->set('huh.filter.choice.type', new TypeChoice($framework)); @@ -228,39 +225,39 @@ public function testBuildFormWithName() $filter = ['name' => 'test', 'dataContainer' => 'tl_test']; - $element = new FilterConfigElementModel(); + $element = new FilterConfigElementModel(); $element->type = 'button'; $element->name = 'test'; $config->init('test', $filter, [$element]); $config->buildForm(); - $this->assertEquals(3, $config->getBuilder()->count()); // f_id and f_ref element always exists + $this->assertSame(3, $config->getBuilder()->count()); // f_id and f_ref element always exists $this->assertTrue($config->getBuilder()->has('test')); $this->assertInstanceOf(\Symfony\Component\Form\Extension\Core\Type\ButtonType::class, $config->getBuilder()->get('test')->getType()->getInnerType()); } /** - * Test buildForm() with custom label + * Test buildForm() with custom label. */ public function testBuildFormWithLabel() { $framework = $this->mockContaoFramework(); - $session = new MockArraySessionStorage(); + $session = new MockArraySessionStorage(); $queryBuilder = new FilterQueryBuilder($framework, new Connection([], new Driver())); - $config = new FilterConfig($framework, new FilterSession($framework, new Session($session)), $queryBuilder); + $config = new FilterConfig($framework, new FilterSession($framework, new Session($session)), $queryBuilder); $this->container->setParameter('huh.filter', [ 'filter' => [ 'types' => [ [ - 'name' => 'button', + 'name' => 'button', 'class' => ButtonType::class, - 'type' => 'button' - ] - ] - ] + 'type' => 'button', + ], + ], + ], ]); $this->container->set('huh.filter.choice.type', new TypeChoice($framework)); @@ -268,42 +265,42 @@ public function testBuildFormWithLabel() $filter = ['name' => 'test', 'dataContainer' => 'tl_test']; - $element = new FilterConfigElementModel(); - $element->type = 'button'; - $element->name = 'test'; + $element = new FilterConfigElementModel(); + $element->type = 'button'; + $element->name = 'test'; $element->customLabel = true; - $element->label = 'Button label'; + $element->label = 'Button label'; $config->init('test', $filter, [$element]); $config->buildForm(); - $this->assertEquals(3, $config->getBuilder()->count()); // f_id and f_ref element always exists + $this->assertSame(3, $config->getBuilder()->count()); // f_id and f_ref element always exists $this->assertTrue($config->getBuilder()->has('test')); $this->assertInstanceOf(\Symfony\Component\Form\Extension\Core\Type\ButtonType::class, $config->getBuilder()->get('test')->getType()->getInnerType()); - $this->assertEquals('Button label', $config->getBuilder()->get('test')->getForm()->getConfig()->getOption('label')); + $this->assertSame('Button label', $config->getBuilder()->get('test')->getForm()->getConfig()->getOption('label')); } /** - * Test buildQuery() + * Test buildQuery(). */ public function testBuildQuery() { $framework = $this->mockContaoFramework(); - $session = new MockArraySessionStorage(); + $session = new MockArraySessionStorage(); $queryBuilder = new FilterQueryBuilder($framework, new Connection([], new Driver())); - $config = new FilterConfig($framework, new FilterSession($framework, new Session($session)), $queryBuilder); + $config = new FilterConfig($framework, new FilterSession($framework, new Session($session)), $queryBuilder); $this->container->setParameter('huh.filter', [ 'filter' => [ 'types' => [ [ - 'name' => 'button', + 'name' => 'button', 'class' => ButtonType::class, - 'type' => 'button', - ] - ] - ] + 'type' => 'button', + ], + ], + ], ]); $this->container->set('huh.filter.choice.type', new TypeChoice($framework)); @@ -311,8 +308,8 @@ public function testBuildQuery() $filter = ['name' => 'test', 'dataContainer' => 'tl_test']; - $element = new FilterConfigElementModel(); - $element->id = 2; + $element = new FilterConfigElementModel(); + $element->id = 2; $element->type = 'button'; $element->name = 'start'; @@ -328,6 +325,6 @@ public function testBuildQuery() */ protected function getFixturesDir(): string { - return __DIR__ . DIRECTORY_SEPARATOR . '../..' . DIRECTORY_SEPARATOR . 'Fixtures'; + return __DIR__.DIRECTORY_SEPARATOR.'../..'.DIRECTORY_SEPARATOR.'Fixtures'; } } diff --git a/tests/Filter/Type/CheckboxTypeTest.php b/tests/Filter/Type/CheckboxTypeTest.php index 50e3ad3..b095ec2 100644 --- a/tests/Filter/Type/CheckboxTypeTest.php +++ b/tests/Filter/Type/CheckboxTypeTest.php @@ -17,8 +17,8 @@ use HeimrichHannot\FilterBundle\Config\FilterConfig; use HeimrichHannot\FilterBundle\Filter\Type\CheckboxType; use HeimrichHannot\FilterBundle\Model\FilterConfigElementModel; -use HeimrichHannot\FilterBundle\Session\FilterSession; use HeimrichHannot\FilterBundle\QueryBuilder\FilterQueryBuilder; +use HeimrichHannot\FilterBundle\Session\FilterSession; use HeimrichHannot\UtilsBundle\Database\DatabaseUtil; use Symfony\Component\DependencyInjection\ContainerBuilder; use Symfony\Component\HttpFoundation\Request; @@ -41,7 +41,6 @@ class CheckboxTypeTest extends ContaoTestCase */ private $kernel; - protected function setUp() { parent::setUp(); @@ -50,37 +49,35 @@ protected function setUp() \define('TL_ROOT', $this->getFixturesDir()); } - $GLOBALS['TL_LANGUAGE'] = 'en'; + $GLOBALS['TL_LANGUAGE'] = 'en'; $GLOBALS['TL_LANG']['MSC'] = ['test' => 'bar']; $GLOBALS['TL_DCA']['tl_test'] = [ 'config' => [ 'dataContainer' => 'Table', - 'sql' => [ + 'sql' => [ 'keys' => [ ], ], ], 'fields' => [ - - ] + ], ]; $GLOBALS['TL_DCA']['tl_filter_config_element'] = [ 'config' => [ 'dataContainer' => 'Table', - 'sql' => [ + 'sql' => [ 'keys' => [ ], ], ], 'fields' => [ - - ] + ], ]; $finder = new ResourceFinder([ - $this->getFixturesDir() . '/vendor/contao/core-bundle/Resources/contao', + $this->getFixturesDir().'/vendor/contao/core-bundle/Resources/contao', ]); $this->container = $this->mockContainer(); @@ -116,10 +113,10 @@ public function testCanBeInstantiated() System::setContainer($this->container); $framework = $this->mockContaoFramework(); - $session = new MockArraySessionStorage(); + $session = new MockArraySessionStorage(); $queryBuilder = new FilterQueryBuilder($framework, new Connection([], new Driver())); - $config = new FilterConfig($framework, new FilterSession($framework, new Session($session)), $queryBuilder); + $config = new FilterConfig($framework, new FilterSession($framework, new Session($session)), $queryBuilder); $type = new CheckboxType($config); @@ -127,36 +124,36 @@ public function testCanBeInstantiated() } /** - * Test getDefaultOperator() + * Test getDefaultOperator(). */ public function testGetDefaultOperator() { $framework = $this->mockContaoFramework(); - $session = new MockArraySessionStorage(); + $session = new MockArraySessionStorage(); $queryBuilder = new FilterQueryBuilder($framework, new Connection([], new Driver())); - $config = new FilterConfig($framework, new FilterSession($framework, new Session($session)), $queryBuilder); + $config = new FilterConfig($framework, new FilterSession($framework, new Session($session)), $queryBuilder); /** @var FilterConfigElementModel $element */ $element = $this->mockClassWithProperties(FilterConfigElementModel::class, []); $type = new CheckboxType($config); - $this->assertEquals(DatabaseUtil::OPERATOR_EQUAL, $type->getDefaultOperator($element)); + $this->assertSame(DatabaseUtil::OPERATOR_EQUAL, $type->getDefaultOperator($element)); } /** - * Test getDefaultName() + * Test getDefaultName(). */ public function testGetDefaultName() { $framework = $this->mockContaoFramework(); - $session = new MockArraySessionStorage(); + $session = new MockArraySessionStorage(); $queryBuilder = new FilterQueryBuilder($framework, new Connection([], new Driver())); - $config = new FilterConfig($framework, new FilterSession($framework, new Session($session)), $queryBuilder); + $config = new FilterConfig($framework, new FilterSession($framework, new Session($session)), $queryBuilder); - $range = new FilterConfigElementModel(); + $range = new FilterConfigElementModel(); $range->name = 'test'; $type = new CheckboxType($config); @@ -165,26 +162,26 @@ public function testGetDefaultName() } /** - * Test buildForm() without name + * Test buildForm() without name. */ public function testBuildFormWithoutName() { $framework = $this->mockContaoFramework(); - $session = new MockArraySessionStorage(); + $session = new MockArraySessionStorage(); $queryBuilder = new FilterQueryBuilder($framework, new Connection([], new Driver())); - $config = new FilterConfig($framework, new FilterSession($framework, new Session($session)), $queryBuilder); + $config = new FilterConfig($framework, new FilterSession($framework, new Session($session)), $queryBuilder); $this->container->setParameter('huh.filter', [ 'filter' => [ 'types' => [ [ - 'name' => 'checkbox', + 'name' => 'checkbox', 'class' => CheckboxType::class, - 'type' => 'other' - ] - ] - ] + 'type' => 'other', + ], + ], + ], ]); $this->container->set('huh.filter.choice.type', new TypeChoice($framework)); @@ -192,36 +189,36 @@ public function testBuildFormWithoutName() $filter = ['name' => 'test', 'dataContainer' => 'tl_test']; - $element = new FilterConfigElementModel(); + $element = new FilterConfigElementModel(); $element->type = 'checkbox'; $config->init('test', $filter, [$element]); $config->buildForm(); - $this->assertEquals(2, $config->getBuilder()->count()); // f_id and f_ref element always exists + $this->assertSame(2, $config->getBuilder()->count()); // f_id and f_ref element always exists } /** - * Test buildForm() with field name + * Test buildForm() with field name. */ public function testBuildFormWithFieldName() { $framework = $this->mockContaoFramework(); - $session = new MockArraySessionStorage(); + $session = new MockArraySessionStorage(); $queryBuilder = new FilterQueryBuilder($framework, new Connection([], new Driver())); - $config = new FilterConfig($framework, new FilterSession($framework, new Session($session)), $queryBuilder); + $config = new FilterConfig($framework, new FilterSession($framework, new Session($session)), $queryBuilder); $this->container->setParameter('huh.filter', [ 'filter' => [ 'types' => [ [ - 'name' => 'checkbox', + 'name' => 'checkbox', 'class' => CheckboxType::class, - 'type' => 'other' - ] - ] - ] + 'type' => 'other', + ], + ], + ], ]); $this->container->set('huh.filter.choice.type', new TypeChoice($framework)); @@ -229,39 +226,39 @@ public function testBuildFormWithFieldName() $filter = ['name' => 'test', 'dataContainer' => 'tl_test']; - $element = new FilterConfigElementModel(); - $element->type = 'checkbox'; + $element = new FilterConfigElementModel(); + $element->type = 'checkbox'; $element->field = 'test'; $config->init('test', $filter, [$element]); $config->buildForm(); - $this->assertEquals(3, $config->getBuilder()->count()); // f_id and f_ref element always exists + $this->assertSame(3, $config->getBuilder()->count()); // f_id and f_ref element always exists $this->assertTrue($config->getBuilder()->has('test')); $this->assertInstanceOf(\Symfony\Component\Form\Extension\Core\Type\CheckboxType::class, $config->getBuilder()->get('test')->getType()->getInnerType()); } /** - * Test buildForm() with custom value + * Test buildForm() with custom value. */ public function testBuildFormWithCustomValue() { $framework = $this->mockContaoFramework(); - $session = new MockArraySessionStorage(); + $session = new MockArraySessionStorage(); $queryBuilder = new FilterQueryBuilder($framework, new Connection([], new Driver())); - $config = new FilterConfig($framework, new FilterSession($framework, new Session($session)), $queryBuilder); + $config = new FilterConfig($framework, new FilterSession($framework, new Session($session)), $queryBuilder); $this->container->setParameter('huh.filter', [ 'filter' => [ 'types' => [ [ - 'name' => 'checkbox', + 'name' => 'checkbox', 'class' => CheckboxType::class, - 'type' => 'other' - ] - ] - ] + 'type' => 'other', + ], + ], + ], ]); $this->container->set('huh.filter.choice.type', new TypeChoice($framework)); @@ -269,41 +266,41 @@ public function testBuildFormWithCustomValue() $filter = ['name' => 'test', 'dataContainer' => 'tl_test']; - $element = new FilterConfigElementModel(); - $element->type = 'checkbox'; - $element->field = 'test'; + $element = new FilterConfigElementModel(); + $element->type = 'checkbox'; + $element->field = 'test'; $element->customValue = true; - $element->value = 'myCustomValue'; + $element->value = 'myCustomValue'; $config->init('test', $filter, [$element]); $config->buildForm(); - $this->assertEquals(3, $config->getBuilder()->count()); // f_id and f_ref element always exists + $this->assertSame(3, $config->getBuilder()->count()); // f_id and f_ref element always exists $this->assertTrue($config->getBuilder()->has('test')); $this->assertInstanceOf(\Symfony\Component\Form\Extension\Core\Type\CheckboxType::class, $config->getBuilder()->get('test')->getType()->getInnerType()); } /** - * Test buildQuery() without dca field + * Test buildQuery() without dca field. */ public function testBuildQueryWithoutDcaField() { $framework = $this->mockContaoFramework(); - $session = new MockArraySessionStorage(); + $session = new MockArraySessionStorage(); $queryBuilder = new FilterQueryBuilder($framework, new Connection([], new Driver())); - $config = new FilterConfig($framework, new FilterSession($framework, new Session($session)), $queryBuilder); + $config = new FilterConfig($framework, new FilterSession($framework, new Session($session)), $queryBuilder); $this->container->setParameter('huh.filter', [ 'filter' => [ 'types' => [ [ - 'name' => 'checkbox', + 'name' => 'checkbox', 'class' => CheckboxType::class, - 'type' => 'other' - ] - ] - ] + 'type' => 'other', + ], + ], + ], ]); $this->container->set('huh.filter.choice.type', new TypeChoice($framework)); @@ -311,10 +308,10 @@ public function testBuildQueryWithoutDcaField() $filter = ['name' => 'test', 'dataContainer' => 'tl_test']; - $element = new FilterConfigElementModel(); - $element->id = 2; - $element->type = 'checkbox'; - $element->name = 'test'; + $element = new FilterConfigElementModel(); + $element->id = 2; + $element->type = 'checkbox'; + $element->name = 'test'; $element->customName = true; $config->init('test', $filter, [$element]); @@ -325,26 +322,26 @@ public function testBuildQueryWithoutDcaField() } /** - * Test buildQuery() without dca field + * Test buildQuery() without dca field. */ public function testBuildQuery() { $framework = $this->mockContaoFramework(); - $session = new MockArraySessionStorage(); + $session = new MockArraySessionStorage(); $queryBuilder = new FilterQueryBuilder($framework, new Connection([], new Driver())); - $config = new FilterConfig($framework, new FilterSession($framework, new Session($session)), $queryBuilder); + $config = new FilterConfig($framework, new FilterSession($framework, new Session($session)), $queryBuilder); $this->container->setParameter('huh.filter', [ 'filter' => [ 'types' => [ [ - 'name' => 'checkbox', + 'name' => 'checkbox', 'class' => CheckboxType::class, - 'type' => 'other' - ] - ] - ] + 'type' => 'other', + ], + ], + ], ]); $GLOBALS['TL_DCA']['tl_test']['fields']['test'] = [ @@ -361,9 +358,9 @@ public function testBuildQuery() $errorReporting = error_reporting(); error_reporting($errorReporting & ~E_NOTICE); - $element = new FilterConfigElementModel(); - $element->id = 2; - $element->type = 'checkbox'; + $element = new FilterConfigElementModel(); + $element->id = 2; + $element->type = 'checkbox'; $element->field = 'test'; $config->init('test', $filter, [$element]); @@ -372,8 +369,8 @@ public function testBuildQuery() $this->assertNotEmpty($config->getQueryBuilder()->getParameters()); $this->assertNotEmpty($config->getQueryBuilder()->getQueryPart('where')); - $this->assertEquals('SELECT FROM tl_test WHERE test = :test', $config->getQueryBuilder()->getSQL()); - $this->assertEquals([':test' => 1], $config->getQueryBuilder()->getParameters()); + $this->assertSame('SELECT FROM tl_test WHERE test = :test', $config->getQueryBuilder()->getSQL()); + $this->assertSame([':test' => 1], $config->getQueryBuilder()->getParameters()); } /** @@ -381,6 +378,6 @@ public function testBuildQuery() */ protected function getFixturesDir(): string { - return __DIR__ . DIRECTORY_SEPARATOR . '../..' . DIRECTORY_SEPARATOR . 'Fixtures'; + return __DIR__.DIRECTORY_SEPARATOR.'../..'.DIRECTORY_SEPARATOR.'Fixtures'; } } diff --git a/tests/Filter/Type/ChoiceTypeTest.php b/tests/Filter/Type/ChoiceTypeTest.php index 788d660..a4774c3 100644 --- a/tests/Filter/Type/ChoiceTypeTest.php +++ b/tests/Filter/Type/ChoiceTypeTest.php @@ -18,8 +18,8 @@ use HeimrichHannot\FilterBundle\Config\FilterConfig; use HeimrichHannot\FilterBundle\Filter\Type\ChoiceType; use HeimrichHannot\FilterBundle\Model\FilterConfigElementModel; -use HeimrichHannot\FilterBundle\Session\FilterSession; use HeimrichHannot\FilterBundle\QueryBuilder\FilterQueryBuilder; +use HeimrichHannot\FilterBundle\Session\FilterSession; use HeimrichHannot\UtilsBundle\Database\DatabaseUtil; use Symfony\Component\DependencyInjection\ContainerBuilder; use Symfony\Component\HttpFoundation\Request; @@ -42,7 +42,6 @@ class ChoiceTypeTest extends ContaoTestCase */ private $kernel; - protected function setUp() { parent::setUp(); @@ -51,37 +50,35 @@ protected function setUp() \define('TL_ROOT', $this->getFixturesDir()); } - $GLOBALS['TL_LANGUAGE'] = 'en'; + $GLOBALS['TL_LANGUAGE'] = 'en'; $GLOBALS['TL_LANG']['MSC'] = ['test' => 'bar']; $GLOBALS['TL_DCA']['tl_test'] = [ 'config' => [ 'dataContainer' => 'Table', - 'sql' => [ + 'sql' => [ 'keys' => [ ], ], ], 'fields' => [ - - ] + ], ]; $GLOBALS['TL_DCA']['tl_filter_config_element'] = [ 'config' => [ 'dataContainer' => 'Table', - 'sql' => [ + 'sql' => [ 'keys' => [ ], ], ], 'fields' => [ - - ] + ], ]; $finder = new ResourceFinder([ - $this->getFixturesDir() . '/vendor/contao/core-bundle/Resources/contao', + $this->getFixturesDir().'/vendor/contao/core-bundle/Resources/contao', ]); $this->container = $this->mockContainer(); @@ -117,10 +114,10 @@ public function testCanBeInstantiated() System::setContainer($this->container); $framework = $this->mockContaoFramework(); - $session = new MockArraySessionStorage(); + $session = new MockArraySessionStorage(); $queryBuilder = new FilterQueryBuilder($framework, new Connection([], new Driver())); - $config = new FilterConfig($framework, new FilterSession($framework, new Session($session)), $queryBuilder); + $config = new FilterConfig($framework, new FilterSession($framework, new Session($session)), $queryBuilder); $type = new ChoiceType($config); @@ -128,36 +125,36 @@ public function testCanBeInstantiated() } /** - * Test getDefaultOperator() + * Test getDefaultOperator(). */ public function testGetDefaultOperator() { $framework = $this->mockContaoFramework(); - $session = new MockArraySessionStorage(); + $session = new MockArraySessionStorage(); $queryBuilder = new FilterQueryBuilder($framework, new Connection([], new Driver())); - $config = new FilterConfig($framework, new FilterSession($framework, new Session($session)), $queryBuilder); + $config = new FilterConfig($framework, new FilterSession($framework, new Session($session)), $queryBuilder); /** @var FilterConfigElementModel $element */ $element = $this->mockClassWithProperties(FilterConfigElementModel::class, []); $type = new ChoiceType($config); - $this->assertEquals(DatabaseUtil::OPERATOR_EQUAL, $type->getDefaultOperator($element)); + $this->assertSame(DatabaseUtil::OPERATOR_EQUAL, $type->getDefaultOperator($element)); } /** - * Test getDefaultName() + * Test getDefaultName(). */ public function testGetDefaultName() { $framework = $this->mockContaoFramework(); - $session = new MockArraySessionStorage(); + $session = new MockArraySessionStorage(); $queryBuilder = new FilterQueryBuilder($framework, new Connection([], new Driver())); - $config = new FilterConfig($framework, new FilterSession($framework, new Session($session)), $queryBuilder); + $config = new FilterConfig($framework, new FilterSession($framework, new Session($session)), $queryBuilder); - $range = new FilterConfigElementModel(); + $range = new FilterConfigElementModel(); $range->name = 'test'; $type = new ChoiceType($config); @@ -166,17 +163,17 @@ public function testGetDefaultName() } /** - * Test getDefaultName() + * Test getDefaultName(). */ public function testGetChoices() { $framework = $this->mockContaoFramework(); - $session = new MockArraySessionStorage(); + $session = new MockArraySessionStorage(); $queryBuilder = new FilterQueryBuilder($framework, new Connection([], new Driver())); - $config = new FilterConfig($framework, new FilterSession($framework, new Session($session)), $queryBuilder); + $config = new FilterConfig($framework, new FilterSession($framework, new Session($session)), $queryBuilder); - $element = new FilterConfigElementModel(); + $element = new FilterConfigElementModel(); $element->type = 'choice'; $filter = ['name' => 'test', 'dataContainer' => 'tl_test']; @@ -193,26 +190,26 @@ public function testGetChoices() } /** - * Test buildForm() without name + * Test buildForm() without name. */ public function testBuildFormWithoutName() { $framework = $this->mockContaoFramework(); - $session = new MockArraySessionStorage(); + $session = new MockArraySessionStorage(); $queryBuilder = new FilterQueryBuilder($framework, new Connection([], new Driver())); - $config = new FilterConfig($framework, new FilterSession($framework, new Session($session)), $queryBuilder); + $config = new FilterConfig($framework, new FilterSession($framework, new Session($session)), $queryBuilder); $this->container->setParameter('huh.filter', [ 'filter' => [ 'types' => [ [ - 'name' => 'choice', + 'name' => 'choice', 'class' => ChoiceType::class, - 'type' => 'choice' - ] - ] - ] + 'type' => 'choice', + ], + ], + ], ]); $this->container->set('huh.filter.choice.type', new TypeChoice($framework)); @@ -220,36 +217,36 @@ public function testBuildFormWithoutName() $filter = ['name' => 'test', 'dataContainer' => 'tl_test']; - $element = new FilterConfigElementModel(); + $element = new FilterConfigElementModel(); $element->type = 'choice'; $config->init('test', $filter, [$element]); $config->buildForm(); - $this->assertEquals(2, $config->getBuilder()->count()); // f_id and f_ref element always exists + $this->assertSame(2, $config->getBuilder()->count()); // f_id and f_ref element always exists } /** - * Test buildForm() with field name + * Test buildForm() with field name. */ public function testBuildFormWithFieldName() { $framework = $this->mockContaoFramework(); - $session = new MockArraySessionStorage(); + $session = new MockArraySessionStorage(); $queryBuilder = new FilterQueryBuilder($framework, new Connection([], new Driver())); - $config = new FilterConfig($framework, new FilterSession($framework, new Session($session)), $queryBuilder); + $config = new FilterConfig($framework, new FilterSession($framework, new Session($session)), $queryBuilder); $this->container->setParameter('huh.filter', [ 'filter' => [ 'types' => [ [ - 'name' => 'choice', + 'name' => 'choice', 'class' => ChoiceType::class, - 'type' => 'choice' - ] - ] - ] + 'type' => 'choice', + ], + ], + ], ]); $this->container->set('huh.filter.choice.type', new TypeChoice($framework)); @@ -257,39 +254,39 @@ public function testBuildFormWithFieldName() $filter = ['name' => 'test', 'dataContainer' => 'tl_test']; - $element = new FilterConfigElementModel(); - $element->type = 'choice'; + $element = new FilterConfigElementModel(); + $element->type = 'choice'; $element->field = 'test'; $config->init('test', $filter, [$element]); $config->buildForm(); - $this->assertEquals(3, $config->getBuilder()->count()); // f_id and f_ref element always exists + $this->assertSame(3, $config->getBuilder()->count()); // f_id and f_ref element always exists $this->assertTrue($config->getBuilder()->has('test')); $this->assertInstanceOf(\Symfony\Component\Form\Extension\Core\Type\ChoiceType::class, $config->getBuilder()->get('test')->getType()->getInnerType()); } /** - * Test buildForm() with non array default values + * Test buildForm() with non array default values. */ public function testBuildFormWithNonArrayDefaultValues() { $framework = $this->mockContaoFramework(); - $session = new MockArraySessionStorage(); + $session = new MockArraySessionStorage(); $queryBuilder = new FilterQueryBuilder($framework, new Connection([], new Driver())); - $config = new FilterConfig($framework, new FilterSession($framework, new Session($session)), $queryBuilder); + $config = new FilterConfig($framework, new FilterSession($framework, new Session($session)), $queryBuilder); $this->container->setParameter('huh.filter', [ 'filter' => [ 'types' => [ [ - 'name' => 'choice', + 'name' => 'choice', 'class' => ChoiceType::class, - 'type' => 'choice' - ] - ] - ] + 'type' => 'choice', + ], + ], + ], ]); $this->container->set('huh.filter.choice.type', new TypeChoice($framework)); @@ -297,44 +294,44 @@ public function testBuildFormWithNonArrayDefaultValues() $filter = ['name' => 'test', 'dataContainer' => 'tl_test']; - $element = new FilterConfigElementModel(); - $element->type = 'choice'; - $element->field = 'test'; + $element = new FilterConfigElementModel(); + $element->type = 'choice'; + $element->field = 'test'; $element->addDefaultValue = true; - $element->defaultValue = '123'; + $element->defaultValue = '123'; $element->addDefaultValue = true; - $element->multiple = true; + $element->multiple = true; $config->init('test', $filter, [$element]); $config->buildForm(); - $this->assertEquals(3, $config->getBuilder()->count()); // f_id and f_ref element always exists + $this->assertSame(3, $config->getBuilder()->count()); // f_id and f_ref element always exists $this->assertTrue($config->getBuilder()->has('test')); $this->assertInstanceOf(\Symfony\Component\Form\Extension\Core\Type\ChoiceType::class, $config->getBuilder()->get('test')->getType()->getInnerType()); - $this->assertEquals(['123'], $config->getBuilder()->get('test')->getForm()->getConfig()->getOption('data')); + $this->assertSame(['123'], $config->getBuilder()->get('test')->getForm()->getConfig()->getOption('data')); } /** - * Test buildForm() with field name + * Test buildForm() with field name. */ public function testBuildFormWithPlaceholder() { $framework = $this->mockContaoFramework(); - $session = new MockArraySessionStorage(); + $session = new MockArraySessionStorage(); $queryBuilder = new FilterQueryBuilder($framework, new Connection([], new Driver())); - $config = new FilterConfig($framework, new FilterSession($framework, new Session($session)), $queryBuilder); + $config = new FilterConfig($framework, new FilterSession($framework, new Session($session)), $queryBuilder); $this->container->setParameter('huh.filter', [ 'filter' => [ 'types' => [ [ - 'name' => 'choice', + 'name' => 'choice', 'class' => ChoiceType::class, - 'type' => 'choice' - ] - ] - ] + 'type' => 'choice', + ], + ], + ], ]); $this->container->set('huh.filter.choice.type', new TypeChoice($framework)); @@ -346,44 +343,44 @@ public function testBuildFormWithPlaceholder() $translator->getCatalogue()->add(['message.test_placholder' => 'test placeholder']); $this->container->set('translator', $translator); - $element = new FilterConfigElementModel(); - $element->type = 'choice'; - $element->field = 'test'; + $element = new FilterConfigElementModel(); + $element->type = 'choice'; + $element->field = 'test'; $element->addPlaceholder = true; - $element->placeholder = 'message.test_placholder'; + $element->placeholder = 'message.test_placholder'; $config->init('test', $filter, [$element]); $config->buildForm(); - $this->assertEquals(3, $config->getBuilder()->count()); // f_id and f_ref element always exists + $this->assertSame(3, $config->getBuilder()->count()); // f_id and f_ref element always exists $this->assertTrue($config->getBuilder()->has('test')); $this->assertInstanceOf(\Symfony\Component\Form\Extension\Core\Type\ChoiceType::class, $config->getBuilder()->get('test')->getType()->getInnerType()); - $this->assertEquals('test placeholder', $config->getBuilder()->get('test')->getForm()->getConfig()->getOption('placeholder')); - $this->assertEquals('test placeholder', $config->getBuilder()->get('test')->getForm()->getConfig()->getOption('attr')['data-placeholder']); + $this->assertSame('test placeholder', $config->getBuilder()->get('test')->getForm()->getConfig()->getOption('placeholder')); + $this->assertSame('test placeholder', $config->getBuilder()->get('test')->getForm()->getConfig()->getOption('attr')['data-placeholder']); $this->assertArrayNotHasKey('placeholder', $config->getBuilder()->get('test')->getForm()->getConfig()->getOption('attr')); } /** - * Test buildQuery() without dca field + * Test buildQuery() without dca field. */ public function testBuildQueryWithoutDcaField() { $framework = $this->mockContaoFramework(); - $session = new MockArraySessionStorage(); + $session = new MockArraySessionStorage(); $queryBuilder = new FilterQueryBuilder($framework, new Connection([], new Driver())); - $config = new FilterConfig($framework, new FilterSession($framework, new Session($session)), $queryBuilder); + $config = new FilterConfig($framework, new FilterSession($framework, new Session($session)), $queryBuilder); $this->container->setParameter('huh.filter', [ 'filter' => [ 'types' => [ [ - 'name' => 'choice', + 'name' => 'choice', 'class' => ChoiceType::class, - 'type' => 'choice' - ] - ] - ] + 'type' => 'choice', + ], + ], + ], ]); $this->container->set('huh.filter.choice.type', new TypeChoice($framework)); @@ -391,10 +388,10 @@ public function testBuildQueryWithoutDcaField() $filter = ['name' => 'test', 'dataContainer' => 'tl_test']; - $element = new FilterConfigElementModel(); - $element->id = 2; - $element->type = 'choice'; - $element->name = 'test'; + $element = new FilterConfigElementModel(); + $element->id = 2; + $element->type = 'choice'; + $element->name = 'test'; $element->customName = true; $config->init('test', $filter, [$element]); @@ -405,26 +402,26 @@ public function testBuildQueryWithoutDcaField() } /** - * Test buildQuery() + * Test buildQuery(). */ public function testBuildQuery() { $framework = $this->mockContaoFramework(); - $session = new MockArraySessionStorage(); + $session = new MockArraySessionStorage(); $queryBuilder = new FilterQueryBuilder($framework, new Connection([], new Driver())); - $config = new FilterConfig($framework, new FilterSession($framework, new Session($session)), $queryBuilder); + $config = new FilterConfig($framework, new FilterSession($framework, new Session($session)), $queryBuilder); $this->container->setParameter('huh.filter', [ 'filter' => [ 'types' => [ [ - 'name' => 'choice', + 'name' => 'choice', 'class' => ChoiceType::class, - 'type' => 'choice' - ] - ] - ] + 'type' => 'choice', + ], + ], + ], ]); $GLOBALS['TL_DCA']['tl_test']['fields']['test'] = [ @@ -441,9 +438,9 @@ public function testBuildQuery() $errorReporting = error_reporting(); error_reporting($errorReporting & ~E_NOTICE); - $element = new FilterConfigElementModel(); - $element->id = 2; - $element->type = 'choice'; + $element = new FilterConfigElementModel(); + $element->id = 2; + $element->type = 'choice'; $element->field = 'test'; $config->init('test', $filter, [$element]); @@ -452,8 +449,8 @@ public function testBuildQuery() $this->assertNotEmpty($config->getQueryBuilder()->getParameters()); $this->assertNotEmpty($config->getQueryBuilder()->getQueryPart('where')); - $this->assertEquals('SELECT FROM tl_test WHERE test = :test', $config->getQueryBuilder()->getSQL()); - $this->assertEquals([':test' => '1'], $config->getQueryBuilder()->getParameters()); + $this->assertSame('SELECT FROM tl_test WHERE test = :test', $config->getQueryBuilder()->getSQL()); + $this->assertSame([':test' => '1'], $config->getQueryBuilder()->getParameters()); } /** @@ -461,6 +458,6 @@ public function testBuildQuery() */ protected function getFixturesDir(): string { - return __DIR__ . DIRECTORY_SEPARATOR . '../..' . DIRECTORY_SEPARATOR . 'Fixtures'; + return __DIR__.DIRECTORY_SEPARATOR.'../..'.DIRECTORY_SEPARATOR.'Fixtures'; } } diff --git a/tests/Filter/Type/ColorTypeTest.php b/tests/Filter/Type/ColorTypeTest.php index 5b45923..8d4c48c 100644 --- a/tests/Filter/Type/ColorTypeTest.php +++ b/tests/Filter/Type/ColorTypeTest.php @@ -17,8 +17,8 @@ use HeimrichHannot\FilterBundle\Config\FilterConfig; use HeimrichHannot\FilterBundle\Filter\Type\ColorType; use HeimrichHannot\FilterBundle\Model\FilterConfigElementModel; -use HeimrichHannot\FilterBundle\Session\FilterSession; use HeimrichHannot\FilterBundle\QueryBuilder\FilterQueryBuilder; +use HeimrichHannot\FilterBundle\Session\FilterSession; use HeimrichHannot\UtilsBundle\Database\DatabaseUtil; use Symfony\Component\DependencyInjection\ContainerBuilder; use Symfony\Component\HttpFoundation\Request; @@ -41,7 +41,6 @@ class ColorTypeTest extends ContaoTestCase */ private $kernel; - protected function setUp() { parent::setUp(); @@ -50,37 +49,35 @@ protected function setUp() \define('TL_ROOT', $this->getFixturesDir()); } - $GLOBALS['TL_LANGUAGE'] = 'en'; + $GLOBALS['TL_LANGUAGE'] = 'en'; $GLOBALS['TL_LANG']['MSC'] = ['test' => 'bar']; $GLOBALS['TL_DCA']['tl_test'] = [ 'config' => [ 'dataContainer' => 'Table', - 'sql' => [ + 'sql' => [ 'keys' => [ ], ], ], 'fields' => [ - - ] + ], ]; $GLOBALS['TL_DCA']['tl_filter_config_element'] = [ 'config' => [ 'dataContainer' => 'Table', - 'sql' => [ + 'sql' => [ 'keys' => [ ], ], ], 'fields' => [ - - ] + ], ]; $finder = new ResourceFinder([ - $this->getFixturesDir() . '/vendor/contao/core-bundle/Resources/contao', + $this->getFixturesDir().'/vendor/contao/core-bundle/Resources/contao', ]); $this->container = $this->mockContainer(); @@ -116,10 +113,10 @@ public function testCanBeInstantiated() System::setContainer($this->container); $framework = $this->mockContaoFramework(); - $session = new MockArraySessionStorage(); + $session = new MockArraySessionStorage(); $queryBuilder = new FilterQueryBuilder($framework, new Connection([], new Driver())); - $config = new FilterConfig($framework, new FilterSession($framework, new Session($session)), $queryBuilder); + $config = new FilterConfig($framework, new FilterSession($framework, new Session($session)), $queryBuilder); $type = new ColorType($config); @@ -127,45 +124,45 @@ public function testCanBeInstantiated() } /** - * Test getDefaultOperator() + * Test getDefaultOperator(). */ public function testGetDefaultOperator() { $framework = $this->mockContaoFramework(); - $session = new MockArraySessionStorage(); + $session = new MockArraySessionStorage(); $queryBuilder = new FilterQueryBuilder($framework, new Connection([], new Driver())); - $config = new FilterConfig($framework, new FilterSession($framework, new Session($session)), $queryBuilder); + $config = new FilterConfig($framework, new FilterSession($framework, new Session($session)), $queryBuilder); /** @var FilterConfigElementModel $element */ $element = $this->mockClassWithProperties(FilterConfigElementModel::class, []); $type = new ColorType($config); - $this->assertEquals(DatabaseUtil::OPERATOR_EQUAL, $type->getDefaultOperator($element)); + $this->assertSame(DatabaseUtil::OPERATOR_EQUAL, $type->getDefaultOperator($element)); } /** - * Test buildForm() with field name + * Test buildForm() with field name. */ public function testBuildFormWithFieldName() { $framework = $this->mockContaoFramework(); - $session = new MockArraySessionStorage(); + $session = new MockArraySessionStorage(); $queryBuilder = new FilterQueryBuilder($framework, new Connection([], new Driver())); - $config = new FilterConfig($framework, new FilterSession($framework, new Session($session)), $queryBuilder); + $config = new FilterConfig($framework, new FilterSession($framework, new Session($session)), $queryBuilder); $this->container->setParameter('huh.filter', [ 'filter' => [ 'types' => [ [ - 'name' => 'color', + 'name' => 'color', 'class' => ColorType::class, - 'type' => 'text' - ] - ] - ] + 'type' => 'text', + ], + ], + ], ]); $this->container->set('huh.filter.choice.type', new TypeChoice($framework)); @@ -173,14 +170,14 @@ public function testBuildFormWithFieldName() $filter = ['name' => 'test', 'dataContainer' => 'tl_test']; - $element = new FilterConfigElementModel(); - $element->type = 'color'; + $element = new FilterConfigElementModel(); + $element->type = 'color'; $element->field = 'test'; $config->init('test', $filter, [$element]); $config->buildForm(); - $this->assertEquals(3, $config->getBuilder()->count()); // f_id and f_ref element always exists + $this->assertSame(3, $config->getBuilder()->count()); // f_id and f_ref element always exists $this->assertTrue($config->getBuilder()->has('test')); $this->assertInstanceOf(\Symfony\Component\Form\Extension\Core\Type\ColorType::class, $config->getBuilder()->get('test')->getType()->getInnerType()); } @@ -190,6 +187,6 @@ public function testBuildFormWithFieldName() */ protected function getFixturesDir(): string { - return __DIR__ . DIRECTORY_SEPARATOR . '../..' . DIRECTORY_SEPARATOR . 'Fixtures'; + return __DIR__.DIRECTORY_SEPARATOR.'../..'.DIRECTORY_SEPARATOR.'Fixtures'; } } diff --git a/tests/Filter/Type/CountryTypeTest.php b/tests/Filter/Type/CountryTypeTest.php index fa6ec1d..8c9618d 100644 --- a/tests/Filter/Type/CountryTypeTest.php +++ b/tests/Filter/Type/CountryTypeTest.php @@ -19,8 +19,8 @@ use HeimrichHannot\FilterBundle\Config\FilterConfig; use HeimrichHannot\FilterBundle\Filter\Type\CountryType; use HeimrichHannot\FilterBundle\Model\FilterConfigElementModel; -use HeimrichHannot\FilterBundle\Session\FilterSession; use HeimrichHannot\FilterBundle\QueryBuilder\FilterQueryBuilder; +use HeimrichHannot\FilterBundle\Session\FilterSession; use HeimrichHannot\UtilsBundle\Database\DatabaseUtil; use Symfony\Component\DependencyInjection\ContainerBuilder; use Symfony\Component\HttpFoundation\Request; @@ -43,7 +43,6 @@ class CountryTypeTest extends ContaoTestCase */ private $kernel; - protected function setUp() { parent::setUp(); @@ -52,37 +51,35 @@ protected function setUp() \define('TL_ROOT', $this->getFixturesDir()); } - $GLOBALS['TL_LANGUAGE'] = 'en'; + $GLOBALS['TL_LANGUAGE'] = 'en'; $GLOBALS['TL_LANG']['MSC'] = ['test' => 'bar']; $GLOBALS['TL_DCA']['tl_test'] = [ 'config' => [ 'dataContainer' => 'Table', - 'sql' => [ + 'sql' => [ 'keys' => [ ], ], ], 'fields' => [ - - ] + ], ]; $GLOBALS['TL_DCA']['tl_filter_config_element'] = [ 'config' => [ 'dataContainer' => 'Table', - 'sql' => [ + 'sql' => [ 'keys' => [ ], ], ], 'fields' => [ - - ] + ], ]; $finder = new ResourceFinder([ - $this->getFixturesDir() . '/vendor/contao/core-bundle/Resources/contao', + $this->getFixturesDir().'/vendor/contao/core-bundle/Resources/contao', ]); $this->container = $this->mockContainer(); @@ -118,10 +115,10 @@ public function testCanBeInstantiated() System::setContainer($this->container); $framework = $this->mockContaoFramework(); - $session = new MockArraySessionStorage(); + $session = new MockArraySessionStorage(); $queryBuilder = new FilterQueryBuilder($framework, new Connection([], new Driver())); - $config = new FilterConfig($framework, new FilterSession($framework, new Session($session)), $queryBuilder); + $config = new FilterConfig($framework, new FilterSession($framework, new Session($session)), $queryBuilder); $type = new CountryType($config); @@ -129,36 +126,36 @@ public function testCanBeInstantiated() } /** - * Test getDefaultOperator() + * Test getDefaultOperator(). */ public function testGetDefaultOperator() { $framework = $this->mockContaoFramework(); - $session = new MockArraySessionStorage(); + $session = new MockArraySessionStorage(); $queryBuilder = new FilterQueryBuilder($framework, new Connection([], new Driver())); - $config = new FilterConfig($framework, new FilterSession($framework, new Session($session)), $queryBuilder); + $config = new FilterConfig($framework, new FilterSession($framework, new Session($session)), $queryBuilder); /** @var FilterConfigElementModel $element */ $element = $this->mockClassWithProperties(FilterConfigElementModel::class, []); $type = new CountryType($config); - $this->assertEquals(DatabaseUtil::OPERATOR_EQUAL, $type->getDefaultOperator($element)); + $this->assertSame(DatabaseUtil::OPERATOR_EQUAL, $type->getDefaultOperator($element)); } /** - * Test getDefaultName() + * Test getDefaultName(). */ public function testGetDefaultName() { $framework = $this->mockContaoFramework(); - $session = new MockArraySessionStorage(); + $session = new MockArraySessionStorage(); $queryBuilder = new FilterQueryBuilder($framework, new Connection([], new Driver())); - $config = new FilterConfig($framework, new FilterSession($framework, new Session($session)), $queryBuilder); + $config = new FilterConfig($framework, new FilterSession($framework, new Session($session)), $queryBuilder); - $range = new FilterConfigElementModel(); + $range = new FilterConfigElementModel(); $range->name = 'test'; $type = new CountryType($config); @@ -167,17 +164,17 @@ public function testGetDefaultName() } /** - * Test getDefaultName() + * Test getDefaultName(). */ public function testGetChoices() { $framework = $this->mockContaoFramework(); - $session = new MockArraySessionStorage(); + $session = new MockArraySessionStorage(); $queryBuilder = new FilterQueryBuilder($framework, new Connection([], new Driver())); - $config = new FilterConfig($framework, new FilterSession($framework, new Session($session)), $queryBuilder); + $config = new FilterConfig($framework, new FilterSession($framework, new Session($session)), $queryBuilder); - $element = new FilterConfigElementModel(); + $element = new FilterConfigElementModel(); $element->type = 'choice'; $filter = ['name' => 'test', 'dataContainer' => 'tl_test']; @@ -194,26 +191,26 @@ public function testGetChoices() } /** - * Test buildForm() without name + * Test buildForm() without name. */ public function testBuildFormWithoutName() { $framework = $this->mockContaoFramework(); - $session = new MockArraySessionStorage(); + $session = new MockArraySessionStorage(); $queryBuilder = new FilterQueryBuilder($framework, new Connection([], new Driver())); - $config = new FilterConfig($framework, new FilterSession($framework, new Session($session)), $queryBuilder); + $config = new FilterConfig($framework, new FilterSession($framework, new Session($session)), $queryBuilder); $this->container->setParameter('huh.filter', [ 'filter' => [ 'types' => [ [ - 'name' => 'country', + 'name' => 'country', 'class' => CountryType::class, - 'type' => 'choice' - ] - ] - ] + 'type' => 'choice', + ], + ], + ], ]); $this->container->set('huh.filter.choice.type', new TypeChoice($framework)); @@ -221,36 +218,36 @@ public function testBuildFormWithoutName() $filter = ['name' => 'test', 'dataContainer' => 'tl_test']; - $element = new FilterConfigElementModel(); + $element = new FilterConfigElementModel(); $element->type = 'choice'; $config->init('test', $filter, [$element]); $config->buildForm(); - $this->assertEquals(2, $config->getBuilder()->count()); // f_id and f_ref element always exists + $this->assertSame(2, $config->getBuilder()->count()); // f_id and f_ref element always exists } /** - * Test buildForm() with field name + * Test buildForm() with field name. */ public function testBuildFormWithFieldName() { $framework = $this->mockContaoFramework(); - $session = new MockArraySessionStorage(); + $session = new MockArraySessionStorage(); $queryBuilder = new FilterQueryBuilder($framework, new Connection([], new Driver())); - $config = new FilterConfig($framework, new FilterSession($framework, new Session($session)), $queryBuilder); + $config = new FilterConfig($framework, new FilterSession($framework, new Session($session)), $queryBuilder); $this->container->setParameter('huh.filter', [ 'filter' => [ 'types' => [ [ - 'name' => 'country', + 'name' => 'country', 'class' => CountryType::class, - 'type' => 'choice' - ] - ] - ] + 'type' => 'choice', + ], + ], + ], ]); $this->container->set('huh.filter.choice.type', new TypeChoice($framework)); @@ -259,43 +256,43 @@ public function testBuildFormWithFieldName() $filter = ['name' => 'test', 'dataContainer' => 'tl_test']; - $element = new FilterConfigElementModel(); - $element->type = 'country'; - $element->field = 'test'; + $element = new FilterConfigElementModel(); + $element->type = 'country'; + $element->field = 'test'; $element->customCountries = true; - $element->countries = ['DE', 'CA']; + $element->countries = ['DE', 'CA']; $config->init('test', $filter, [$element]); $config->buildForm(); - $this->assertEquals(3, $config->getBuilder()->count()); // f_id and f_ref element always exists + $this->assertSame(3, $config->getBuilder()->count()); // f_id and f_ref element always exists $this->assertTrue($config->getBuilder()->has('test')); $this->assertInstanceOf(\Symfony\Component\Form\Extension\Core\Type\CountryType::class, $config->getBuilder()->get('test')->getType()->getInnerType()); $this->assertNotEmpty($config->getBuilder()->get('test')->getForm()->getConfig()->getOption('choices')); - $this->assertEquals(['Canada' => 'CA', 'Germany' => 'DE'], $config->getBuilder()->get('test')->getForm()->getConfig()->getOption('choices')); + $this->assertSame(['Canada' => 'CA', 'Germany' => 'DE'], $config->getBuilder()->get('test')->getForm()->getConfig()->getOption('choices')); } /** - * Test buildForm() with non array default values + * Test buildForm() with non array default values. */ public function testBuildFormWithNonArrayDefaultValues() { $framework = $this->mockContaoFramework(); - $session = new MockArraySessionStorage(); + $session = new MockArraySessionStorage(); $queryBuilder = new FilterQueryBuilder($framework, new Connection([], new Driver())); - $config = new FilterConfig($framework, new FilterSession($framework, new Session($session)), $queryBuilder); + $config = new FilterConfig($framework, new FilterSession($framework, new Session($session)), $queryBuilder); $this->container->setParameter('huh.filter', [ 'filter' => [ 'types' => [ [ - 'name' => 'country', + 'name' => 'country', 'class' => CountryType::class, - 'type' => 'choice' - ] - ] - ] + 'type' => 'choice', + ], + ], + ], ]); $this->container->set('huh.filter.choice.type', new TypeChoice($framework)); @@ -303,44 +300,44 @@ public function testBuildFormWithNonArrayDefaultValues() $filter = ['name' => 'test', 'dataContainer' => 'tl_test']; - $element = new FilterConfigElementModel(); - $element->type = 'country'; - $element->field = 'test'; + $element = new FilterConfigElementModel(); + $element->type = 'country'; + $element->field = 'test'; $element->addDefaultValue = true; - $element->defaultValue = '123'; + $element->defaultValue = '123'; $element->addDefaultValue = true; - $element->multiple = true; + $element->multiple = true; $config->init('test', $filter, [$element]); $config->buildForm(); - $this->assertEquals(3, $config->getBuilder()->count()); // f_id and f_ref element always exists + $this->assertSame(3, $config->getBuilder()->count()); // f_id and f_ref element always exists $this->assertTrue($config->getBuilder()->has('test')); $this->assertInstanceOf(\Symfony\Component\Form\Extension\Core\Type\CountryType::class, $config->getBuilder()->get('test')->getType()->getInnerType()); - $this->assertEquals(['123'], $config->getBuilder()->get('test')->getForm()->getConfig()->getOption('data')); + $this->assertSame(['123'], $config->getBuilder()->get('test')->getForm()->getConfig()->getOption('data')); } /** - * Test buildForm() with field name + * Test buildForm() with field name. */ public function testBuildFormWithPlaceholder() { $framework = $this->mockContaoFramework(); - $session = new MockArraySessionStorage(); + $session = new MockArraySessionStorage(); $queryBuilder = new FilterQueryBuilder($framework, new Connection([], new Driver())); - $config = new FilterConfig($framework, new FilterSession($framework, new Session($session)), $queryBuilder); + $config = new FilterConfig($framework, new FilterSession($framework, new Session($session)), $queryBuilder); $this->container->setParameter('huh.filter', [ 'filter' => [ 'types' => [ [ - 'name' => 'country', + 'name' => 'country', 'class' => CountryType::class, - 'type' => 'choice' - ] - ] - ] + 'type' => 'choice', + ], + ], + ], ]); $this->container->set('huh.filter.choice.type', new TypeChoice($framework)); @@ -352,44 +349,44 @@ public function testBuildFormWithPlaceholder() $translator->getCatalogue()->add(['message.test_placholder' => 'test placeholder']); $this->container->set('translator', $translator); - $element = new FilterConfigElementModel(); - $element->type = 'country'; - $element->field = 'test'; + $element = new FilterConfigElementModel(); + $element->type = 'country'; + $element->field = 'test'; $element->addPlaceholder = true; - $element->placeholder = 'message.test_placholder'; + $element->placeholder = 'message.test_placholder'; $config->init('test', $filter, [$element]); $config->buildForm(); - $this->assertEquals(3, $config->getBuilder()->count()); // f_id and f_ref element always exists + $this->assertSame(3, $config->getBuilder()->count()); // f_id and f_ref element always exists $this->assertTrue($config->getBuilder()->has('test')); $this->assertInstanceOf(\Symfony\Component\Form\Extension\Core\Type\CountryType::class, $config->getBuilder()->get('test')->getType()->getInnerType()); - $this->assertEquals('test placeholder', $config->getBuilder()->get('test')->getForm()->getConfig()->getOption('placeholder')); - $this->assertEquals('test placeholder', $config->getBuilder()->get('test')->getForm()->getConfig()->getOption('attr')['data-placeholder']); + $this->assertSame('test placeholder', $config->getBuilder()->get('test')->getForm()->getConfig()->getOption('placeholder')); + $this->assertSame('test placeholder', $config->getBuilder()->get('test')->getForm()->getConfig()->getOption('attr')['data-placeholder']); $this->assertArrayNotHasKey('placeholder', $config->getBuilder()->get('test')->getForm()->getConfig()->getOption('attr')); } /** - * Test buildQuery() without dca field + * Test buildQuery() without dca field. */ public function testBuildQueryWithoutDcaField() { $framework = $this->mockContaoFramework(); - $session = new MockArraySessionStorage(); + $session = new MockArraySessionStorage(); $queryBuilder = new FilterQueryBuilder($framework, new Connection([], new Driver())); - $config = new FilterConfig($framework, new FilterSession($framework, new Session($session)), $queryBuilder); + $config = new FilterConfig($framework, new FilterSession($framework, new Session($session)), $queryBuilder); $this->container->setParameter('huh.filter', [ 'filter' => [ 'types' => [ [ - 'name' => 'country', + 'name' => 'country', 'class' => CountryType::class, - 'type' => 'choice' - ] - ] - ] + 'type' => 'choice', + ], + ], + ], ]); $this->container->set('huh.filter.choice.type', new TypeChoice($framework)); @@ -397,10 +394,10 @@ public function testBuildQueryWithoutDcaField() $filter = ['name' => 'test', 'dataContainer' => 'tl_test']; - $element = new FilterConfigElementModel(); - $element->id = 2; - $element->type = 'country'; - $element->name = 'test'; + $element = new FilterConfigElementModel(); + $element->id = 2; + $element->type = 'country'; + $element->name = 'test'; $element->customName = true; $config->init('test', $filter, [$element]); @@ -411,26 +408,26 @@ public function testBuildQueryWithoutDcaField() } /** - * Test buildQuery() + * Test buildQuery(). */ public function testBuildQuery() { $framework = $this->mockContaoFramework(); - $session = new MockArraySessionStorage(); + $session = new MockArraySessionStorage(); $queryBuilder = new FilterQueryBuilder($framework, new Connection([], new Driver())); - $config = new FilterConfig($framework, new FilterSession($framework, new Session($session)), $queryBuilder); + $config = new FilterConfig($framework, new FilterSession($framework, new Session($session)), $queryBuilder); $this->container->setParameter('huh.filter', [ 'filter' => [ 'types' => [ [ - 'name' => 'country', + 'name' => 'country', 'class' => CountryType::class, - 'type' => 'choice' - ] - ] - ] + 'type' => 'choice', + ], + ], + ], ]); $GLOBALS['TL_DCA']['tl_test']['fields']['test'] = [ @@ -448,9 +445,9 @@ public function testBuildQuery() $errorReporting = error_reporting(); error_reporting($errorReporting & ~E_NOTICE); - $element = new FilterConfigElementModel(); - $element->id = 2; - $element->type = 'country'; + $element = new FilterConfigElementModel(); + $element->id = 2; + $element->type = 'country'; $element->field = 'test'; $config->init('test', $filter, [$element]); @@ -459,8 +456,8 @@ public function testBuildQuery() $this->assertNotEmpty($config->getQueryBuilder()->getParameters()); $this->assertNotEmpty($config->getQueryBuilder()->getQueryPart('where')); - $this->assertEquals('SELECT FROM tl_test WHERE test = :test', $config->getQueryBuilder()->getSQL()); - $this->assertEquals([':test' => '1'], $config->getQueryBuilder()->getParameters()); + $this->assertSame('SELECT FROM tl_test WHERE test = :test', $config->getQueryBuilder()->getSQL()); + $this->assertSame([':test' => '1'], $config->getQueryBuilder()->getParameters()); } /** @@ -468,6 +465,6 @@ public function testBuildQuery() */ protected function getFixturesDir(): string { - return __DIR__ . DIRECTORY_SEPARATOR . '../..' . DIRECTORY_SEPARATOR . 'Fixtures'; + return __DIR__.DIRECTORY_SEPARATOR.'../..'.DIRECTORY_SEPARATOR.'Fixtures'; } } diff --git a/tests/Filter/Type/DateRangeTypeTest.php b/tests/Filter/Type/DateRangeTypeTest.php index c9c93ea..fe416ae 100644 --- a/tests/Filter/Type/DateRangeTypeTest.php +++ b/tests/Filter/Type/DateRangeTypeTest.php @@ -15,10 +15,10 @@ use Doctrine\DBAL\Driver\Mysqli\Driver; use HeimrichHannot\FilterBundle\Choice\TypeChoice; use HeimrichHannot\FilterBundle\Config\FilterConfig; -use HeimrichHannot\FilterBundle\Model\FilterConfigElementModel; -use HeimrichHannot\FilterBundle\Session\FilterSession; use HeimrichHannot\FilterBundle\Filter\Type\DateRangeType; +use HeimrichHannot\FilterBundle\Model\FilterConfigElementModel; use HeimrichHannot\FilterBundle\QueryBuilder\FilterQueryBuilder; +use HeimrichHannot\FilterBundle\Session\FilterSession; use HeimrichHannot\UtilsBundle\Database\DatabaseUtil; use HeimrichHannot\UtilsBundle\Date\DateUtil; use Symfony\Bundle\FrameworkBundle\Routing\Router; @@ -45,7 +45,6 @@ class DateRangeTypeTest extends ContaoTestCase */ private $kernel; - protected function setUp() { parent::setUp(); @@ -54,37 +53,35 @@ protected function setUp() \define('TL_ROOT', $this->getFixturesDir()); } - $GLOBALS['TL_LANGUAGE'] = 'en'; + $GLOBALS['TL_LANGUAGE'] = 'en'; $GLOBALS['TL_LANG']['MSC'] = ['test' => 'bar']; $GLOBALS['TL_DCA']['tl_test'] = [ 'config' => [ 'dataContainer' => 'Table', - 'sql' => [ + 'sql' => [ 'keys' => [ ], ], ], 'fields' => [ - - ] + ], ]; $GLOBALS['TL_DCA']['tl_filter_config_element'] = [ 'config' => [ 'dataContainer' => 'Table', - 'sql' => [ + 'sql' => [ 'keys' => [ ], ], ], 'fields' => [ - - ] + ], ]; $finder = new ResourceFinder([ - $this->getFixturesDir() . '/vendor/contao/core-bundle/Resources/contao', + $this->getFixturesDir().'/vendor/contao/core-bundle/Resources/contao', ]); $this->container = $this->mockContainer(); @@ -120,10 +117,10 @@ public function testCanBeInstantiated() System::setContainer($this->container); $framework = $this->mockContaoFramework(); - $session = new MockArraySessionStorage(); + $session = new MockArraySessionStorage(); $queryBuilder = new FilterQueryBuilder($framework, new Connection([], new Driver())); - $config = new FilterConfig($framework, new FilterSession($framework, new Session($session)), $queryBuilder); + $config = new FilterConfig($framework, new FilterSession($framework, new Session($session)), $queryBuilder); $type = new DateRangeType($config); @@ -131,65 +128,65 @@ public function testCanBeInstantiated() } /** - * Test getDefaultOperator() + * Test getDefaultOperator(). */ public function testGetDefaultOperator() { $framework = $this->mockContaoFramework(); - $session = new MockArraySessionStorage(); + $session = new MockArraySessionStorage(); $queryBuilder = new FilterQueryBuilder($framework, new Connection([], new Driver())); - $config = new FilterConfig($framework, new FilterSession($framework, new Session($session)), $queryBuilder); + $config = new FilterConfig($framework, new FilterSession($framework, new Session($session)), $queryBuilder); /** @var FilterConfigElementModel $element */ $element = $this->mockClassWithProperties(FilterConfigElementModel::class, []); $type = new DateRangeType($config); - $this->assertEquals(DatabaseUtil::OPERATOR_LIKE, $type->getDefaultOperator($element)); + $this->assertSame(DatabaseUtil::OPERATOR_LIKE, $type->getDefaultOperator($element)); } /** - * Test getDefaultName() + * Test getDefaultName(). */ public function testGetDefaultName() { $framework = $this->mockContaoFramework(); - $session = new MockArraySessionStorage(); + $session = new MockArraySessionStorage(); $queryBuilder = new FilterQueryBuilder($framework, new Connection([], new Driver())); - $config = new FilterConfig($framework, new FilterSession($framework, new Session($session)), $queryBuilder); + $config = new FilterConfig($framework, new FilterSession($framework, new Session($session)), $queryBuilder); - $range = new FilterConfigElementModel(); + $range = new FilterConfigElementModel(); $range->name = 'test'; $type = new DateRangeType($config); - $this->assertEquals('test', $type->getDefaultName($range)); + $this->assertSame('test', $type->getDefaultName($range)); } /** - * Test buildForm() without wrapper name + * Test buildForm() without wrapper name. */ public function testBuildFormWithoutWrapperName() { $framework = $this->mockContaoFramework(); - $session = new MockArraySessionStorage(); + $session = new MockArraySessionStorage(); $queryBuilder = new FilterQueryBuilder($framework, new Connection([], new Driver())); - $config = new FilterConfig($framework, new FilterSession($framework, new Session($session)), $queryBuilder); + $config = new FilterConfig($framework, new FilterSession($framework, new Session($session)), $queryBuilder); $this->container->setParameter('huh.filter', [ 'filter' => [ 'types' => [ [ - 'name' => 'date_range', - 'class' => 'HeimrichHannot\FilterBundle\Filter\Type\DateRangeType', - 'type' => 'date', - 'wrapper' => true - ] - ] - ] + 'name' => 'date_range', + 'class' => 'HeimrichHannot\FilterBundle\Filter\Type\DateRangeType', + 'type' => 'date', + 'wrapper' => true, + ], + ], + ], ]); $this->container->set('huh.filter.choice.type', new TypeChoice($framework)); @@ -197,37 +194,37 @@ public function testBuildFormWithoutWrapperName() $filter = ['name' => 'test', 'dataContainer' => 'tl_test']; - $range = new FilterConfigElementModel(); + $range = new FilterConfigElementModel(); $range->type = 'date_range'; $config->init('test', $filter, [$range]); $config->buildForm(); - $this->assertEquals(2, $config->getBuilder()->count()); // f_id and f_ref element always exists + $this->assertSame(2, $config->getBuilder()->count()); // f_id and f_ref element always exists } /** - * Test buildForm() without wrapper element + * Test buildForm() without wrapper element. */ public function testBuildFormWithoutWrapper() { $framework = $this->mockContaoFramework(); - $session = new MockArraySessionStorage(); + $session = new MockArraySessionStorage(); $queryBuilder = new FilterQueryBuilder($framework, new Connection([], new Driver())); - $config = new FilterConfig($framework, new FilterSession($framework, new Session($session)), $queryBuilder); + $config = new FilterConfig($framework, new FilterSession($framework, new Session($session)), $queryBuilder); $this->container->setParameter('huh.filter', [ 'filter' => [ 'types' => [ [ - 'name' => 'date_range', - 'class' => 'HeimrichHannot\FilterBundle\Filter\Type\DateRangeType', - 'type' => 'date', - 'wrapper' => true - ] - ] - ] + 'name' => 'date_range', + 'class' => 'HeimrichHannot\FilterBundle\Filter\Type\DateRangeType', + 'type' => 'date', + 'wrapper' => true, + ], + ], + ], ]); $this->container->set('huh.filter.choice.type', new TypeChoice($framework)); @@ -238,37 +235,37 @@ public function testBuildFormWithoutWrapper() $config->init('test', $filter, []); $config->buildForm(); - $range = new FilterConfigElementModel(); + $range = new FilterConfigElementModel(); $range->type = 'date_range'; $type = new DateRangeType($config); $type->buildForm($range, $config->getBuilder()); - $this->assertEquals(2, $config->getBuilder()->count()); // f_id and f_ref element always exists + $this->assertSame(2, $config->getBuilder()->count()); // f_id and f_ref element always exists } /** - * Test buildForm() without wrapper start stop element + * Test buildForm() without wrapper start stop element. */ public function testBuildFormWithoutStartStopElement() { $framework = $this->mockContaoFramework(); - $session = new MockArraySessionStorage(); + $session = new MockArraySessionStorage(); $queryBuilder = new FilterQueryBuilder($framework, new Connection([], new Driver())); - $config = new FilterConfig($framework, new FilterSession($framework, new Session($session)), $queryBuilder); + $config = new FilterConfig($framework, new FilterSession($framework, new Session($session)), $queryBuilder); $this->container->setParameter('huh.filter', [ 'filter' => [ 'types' => [ [ - 'name' => 'date_range', - 'class' => 'HeimrichHannot\FilterBundle\Filter\Type\DateRangeType', - 'type' => 'date', - 'wrapper' => true - ] - ] - ] + 'name' => 'date_range', + 'class' => 'HeimrichHannot\FilterBundle\Filter\Type\DateRangeType', + 'type' => 'date', + 'wrapper' => true, + ], + ], + ], ]); $this->container->set('huh.filter.choice.type', new TypeChoice($framework)); @@ -276,44 +273,44 @@ public function testBuildFormWithoutStartStopElement() $filter = ['name' => 'test', 'dataContainer' => 'tl_test']; - $range = new FilterConfigElementModel(); + $range = new FilterConfigElementModel(); $range->name = 'range'; $range->type = 'date_range'; $config->init('test', $filter, [$range]); $config->buildForm(); - $this->assertEquals(2, $config->getBuilder()->count()); // f_id and f_ref element always exists + $this->assertSame(2, $config->getBuilder()->count()); // f_id and f_ref element always exists $this->assertFalse($config->getBuilder()->has('range')); } /** - * Test buildForm() without wrapper start stop element types + * Test buildForm() without wrapper start stop element types. */ public function testBuildFormWithoutStopElementType() { $framework = $this->mockContaoFramework(); - $session = new MockArraySessionStorage(); + $session = new MockArraySessionStorage(); $queryBuilder = new FilterQueryBuilder($framework, new Connection([], new Driver())); - $config = new FilterConfig($framework, new FilterSession($framework, new Session($session)), $queryBuilder); + $config = new FilterConfig($framework, new FilterSession($framework, new Session($session)), $queryBuilder); $this->container->setParameter('huh.filter', [ 'filter' => [ 'types' => [ [ - 'name' => 'date_range', - 'class' => 'HeimrichHannot\FilterBundle\Filter\Type\DateRangeType', - 'type' => 'date', - 'wrapper' => true + 'name' => 'date_range', + 'class' => 'HeimrichHannot\FilterBundle\Filter\Type\DateRangeType', + 'type' => 'date', + 'wrapper' => true, ], [ - 'name' => 'date', + 'name' => 'date', 'class' => 'HeimrichHannot\FilterBundle\Filter\Type\DateType', - 'type' => 'date', - ] - ] - ] + 'type' => 'date', + ], + ], + ], ]); $this->container->set('huh.filter.choice.type', new TypeChoice($framework)); @@ -321,62 +318,62 @@ public function testBuildFormWithoutStopElementType() $filter = ['name' => 'test', 'dataContainer' => 'tl_test']; - $range = new FilterConfigElementModel(); - $range->id = 1; - $range->name = 'range'; - $range->type = 'date_range'; + $range = new FilterConfigElementModel(); + $range->id = 1; + $range->name = 'range'; + $range->type = 'date_range'; $range->startElement = 2; - $range->stopElement = 3; + $range->stopElement = 3; - $start = new FilterConfigElementModel(); - $start->id = 2; + $start = new FilterConfigElementModel(); + $start->id = 2; $start->type = 'date'; $start->name = 'start'; - $stop = new FilterConfigElementModel(); - $stop->id = 3; + $stop = new FilterConfigElementModel(); + $stop->id = 3; $stop->type = 'date_time'; $stop->name = 'stop'; $config->init('test', $filter, [$range, $start, $stop]); $config->buildForm(); - $this->assertEquals(2, $config->getBuilder()->count()); // f_id and f_ref element always exists + $this->assertSame(2, $config->getBuilder()->count()); // f_id and f_ref element always exists $this->assertFalse($config->getBuilder()->has('range')); } /** - * Test buildForm() without wrapper element + * Test buildForm() without wrapper element. */ public function testBuildFormWithStartStopElement() { $framework = $this->mockContaoFramework(); - $session = new MockArraySessionStorage(); + $session = new MockArraySessionStorage(); $queryBuilder = new FilterQueryBuilder($framework, new Connection([], new Driver())); - $config = new FilterConfig($framework, new FilterSession($framework, new Session($session)), $queryBuilder); + $config = new FilterConfig($framework, new FilterSession($framework, new Session($session)), $queryBuilder); $this->container->setParameter('huh.filter', [ 'filter' => [ 'types' => [ [ - 'name' => 'date_range', - 'class' => 'HeimrichHannot\FilterBundle\Filter\Type\DateRangeType', - 'type' => 'date', - 'wrapper' => true + 'name' => 'date_range', + 'class' => 'HeimrichHannot\FilterBundle\Filter\Type\DateRangeType', + 'type' => 'date', + 'wrapper' => true, ], [ - 'name' => 'date', + 'name' => 'date', 'class' => 'HeimrichHannot\FilterBundle\Filter\Type\DateType', - 'type' => 'date', + 'type' => 'date', ], [ - 'name' => 'date_time', + 'name' => 'date_time', 'class' => 'HeimrichHannot\FilterBundle\Filter\Type\DateTimeType', - 'type' => 'date', - ] - ] - ] + 'type' => 'date', + ], + ], + ], ]); $this->container->set('huh.filter.choice.type', new TypeChoice($framework)); @@ -384,27 +381,27 @@ public function testBuildFormWithStartStopElement() $filter = ['name' => 'test', 'dataContainer' => 'tl_test']; - $range = new FilterConfigElementModel(); - $range->id = 1; - $range->name = 'range'; - $range->type = 'date_range'; + $range = new FilterConfigElementModel(); + $range->id = 1; + $range->name = 'range'; + $range->type = 'date_range'; $range->startElement = 2; - $range->stopElement = 3; + $range->stopElement = 3; - $start = new FilterConfigElementModel(); - $start->id = 2; + $start = new FilterConfigElementModel(); + $start->id = 2; $start->type = 'date'; $start->name = 'start'; - $stop = new FilterConfigElementModel(); - $stop->id = 3; + $stop = new FilterConfigElementModel(); + $stop->id = 3; $stop->type = 'date_time'; $stop->name = 'stop'; $config->init('test', $filter, [$range, $start, $stop]); $config->buildForm(); - $this->assertEquals(3, $config->getBuilder()->count()); // f_id and f_ref element always exists + $this->assertSame(3, $config->getBuilder()->count()); // f_id and f_ref element always exists $this->assertTrue($config->getBuilder()->has('range')); $this->assertTrue($config->getBuilder()->get('range')->has('start')); $this->assertTrue($config->getBuilder()->get('range')->has('stop')); @@ -413,37 +410,37 @@ public function testBuildFormWithStartStopElement() } /** - * Test buildQuery() without start or stop element + * Test buildQuery() without start or stop element. */ public function testBuildQueryWithoutElements() { $framework = $this->mockContaoFramework(); - $session = new MockArraySessionStorage(); + $session = new MockArraySessionStorage(); $queryBuilder = new FilterQueryBuilder($framework, new Connection([], new Driver())); - $config = new FilterConfig($framework, new FilterSession($framework, new Session($session)), $queryBuilder); + $config = new FilterConfig($framework, new FilterSession($framework, new Session($session)), $queryBuilder); $this->container->setParameter('huh.filter', [ 'filter' => [ 'types' => [ [ - 'name' => 'date_range', - 'class' => 'HeimrichHannot\FilterBundle\Filter\Type\DateRangeType', - 'type' => 'date', - 'wrapper' => true + 'name' => 'date_range', + 'class' => 'HeimrichHannot\FilterBundle\Filter\Type\DateRangeType', + 'type' => 'date', + 'wrapper' => true, ], [ - 'name' => 'date', + 'name' => 'date', 'class' => 'HeimrichHannot\FilterBundle\Filter\Type\DateType', - 'type' => 'date', + 'type' => 'date', ], [ - 'name' => 'date_time', + 'name' => 'date_time', 'class' => 'HeimrichHannot\FilterBundle\Filter\Type\DateTimeType', - 'type' => 'date', - ] - ] - ] + 'type' => 'date', + ], + ], + ], ]); $this->container->set('huh.filter.choice.type', new TypeChoice($framework)); @@ -451,15 +448,15 @@ public function testBuildQueryWithoutElements() $filter = ['name' => 'test', 'dataContainer' => 'tl_test']; - $range = new FilterConfigElementModel(); - $range->id = 1; - $range->name = 'range'; - $range->type = 'date_range'; + $range = new FilterConfigElementModel(); + $range->id = 1; + $range->name = 'range'; + $range->type = 'date_range'; $range->startElement = 2; - $range->stopElement = 3; + $range->stopElement = 3; - $start = new FilterConfigElementModel(); - $start->id = 2; + $start = new FilterConfigElementModel(); + $start->id = 2; $start->type = 'date'; $start->name = 'start'; @@ -471,37 +468,37 @@ public function testBuildQueryWithoutElements() } /** - * Test buildQuery() without start/stop fields + * Test buildQuery() without start/stop fields. */ public function testBuildQueryWithoutFields() { $framework = $this->mockContaoFramework(); - $session = new MockArraySessionStorage(); + $session = new MockArraySessionStorage(); $queryBuilder = new FilterQueryBuilder($framework, new Connection([], new Driver())); - $config = new FilterConfig($framework, new FilterSession($framework, new Session($session)), $queryBuilder); + $config = new FilterConfig($framework, new FilterSession($framework, new Session($session)), $queryBuilder); $this->container->setParameter('huh.filter', [ 'filter' => [ 'types' => [ [ - 'name' => 'date_range', - 'class' => 'HeimrichHannot\FilterBundle\Filter\Type\DateRangeType', - 'type' => 'date', - 'wrapper' => true + 'name' => 'date_range', + 'class' => 'HeimrichHannot\FilterBundle\Filter\Type\DateRangeType', + 'type' => 'date', + 'wrapper' => true, ], [ - 'name' => 'date', + 'name' => 'date', 'class' => 'HeimrichHannot\FilterBundle\Filter\Type\DateType', - 'type' => 'date', + 'type' => 'date', ], [ - 'name' => 'date_time', + 'name' => 'date_time', 'class' => 'HeimrichHannot\FilterBundle\Filter\Type\DateTimeType', - 'type' => 'date', - ] - ] - ] + 'type' => 'date', + ], + ], + ], ]); $this->container->set('huh.filter.choice.type', new TypeChoice($framework)); @@ -509,20 +506,20 @@ public function testBuildQueryWithoutFields() $filter = ['name' => 'test', 'dataContainer' => 'tl_test']; - $range = new FilterConfigElementModel(); - $range->id = 1; - $range->name = 'range'; - $range->type = 'date_range'; + $range = new FilterConfigElementModel(); + $range->id = 1; + $range->name = 'range'; + $range->type = 'date_range'; $range->startElement = 2; - $range->stopElement = 3; + $range->stopElement = 3; - $start = new FilterConfigElementModel(); - $start->id = 2; + $start = new FilterConfigElementModel(); + $start->id = 2; $start->type = 'date'; $start->name = 'start'; - $stop = new FilterConfigElementModel(); - $stop->id = 3; + $stop = new FilterConfigElementModel(); + $stop->id = 3; $stop->type = 'date_time'; $stop->name = 'stop'; @@ -534,37 +531,37 @@ public function testBuildQueryWithoutFields() } /** - * Test buildQuery() statement with different start stop fields and start is date + * Test buildQuery() statement with different start stop fields and start is date. */ public function testBuildQueryWithDifferentStartStopFieldsAndStartDate() { $framework = $this->mockContaoFramework(); - $session = new MockArraySessionStorage(); + $session = new MockArraySessionStorage(); $queryBuilder = new FilterQueryBuilder($framework, new Connection([], new Driver())); - $config = new FilterConfig($framework, new FilterSession($framework, new Session($session)), $queryBuilder); + $config = new FilterConfig($framework, new FilterSession($framework, new Session($session)), $queryBuilder); $this->container->setParameter('huh.filter', [ 'filter' => [ 'types' => [ [ - 'name' => 'date_range', - 'class' => 'HeimrichHannot\FilterBundle\Filter\Type\DateRangeType', - 'type' => 'date', - 'wrapper' => true + 'name' => 'date_range', + 'class' => 'HeimrichHannot\FilterBundle\Filter\Type\DateRangeType', + 'type' => 'date', + 'wrapper' => true, ], [ - 'name' => 'date', + 'name' => 'date', 'class' => 'HeimrichHannot\FilterBundle\Filter\Type\DateType', - 'type' => 'date', + 'type' => 'date', ], [ - 'name' => 'date_time', + 'name' => 'date_time', 'class' => 'HeimrichHannot\FilterBundle\Filter\Type\DateTimeType', - 'type' => 'date', - ] - ] - ] + 'type' => 'date', + ], + ], + ], ]); $this->container->set('huh.utils.date', new DateUtil($framework)); @@ -573,23 +570,23 @@ public function testBuildQueryWithDifferentStartStopFieldsAndStartDate() $filter = ['name' => 'test', 'dataContainer' => 'tl_test']; - $range = new FilterConfigElementModel(); - $range->id = 1; - $range->name = 'range'; - $range->type = 'date_range'; + $range = new FilterConfigElementModel(); + $range->id = 1; + $range->name = 'range'; + $range->type = 'date_range'; $range->startElement = 2; - $range->stopElement = 3; + $range->stopElement = 3; - $start = new FilterConfigElementModel(); - $start->id = 2; - $start->type = 'date'; - $start->name = 'start'; + $start = new FilterConfigElementModel(); + $start->id = 2; + $start->type = 'date'; + $start->name = 'start'; $start->field = 'start'; - $stop = new FilterConfigElementModel(); - $stop->id = 3; - $stop->type = 'date_time'; - $stop->name = 'stop'; + $stop = new FilterConfigElementModel(); + $stop->id = 3; + $stop->type = 'date_time'; + $stop->name = 'stop'; $stop->field = 'stop'; $config->init('test', $filter, [$range, $start, $stop]); @@ -597,45 +594,44 @@ public function testBuildQueryWithDifferentStartStopFieldsAndStartDate() $this->assertNotEmpty($config->getQueryBuilder()->getParameters()); $this->assertNotEmpty($config->getQueryBuilder()->getQueryPart('where')); - $this->assertEquals('SELECT FROM tl_test WHERE ((:start >= tl_test.start) AND (:start <= tl_test.stop)) OR ((:stop >= tl_test.start) AND (:stop <= tl_test.stop)) OR ((:start <= tl_test.start) AND (:stop >= tl_test.stop))', $config->getQueryBuilder()->getSQL()); + $this->assertSame('SELECT FROM tl_test WHERE ((:start >= tl_test.start) AND (:start <= tl_test.stop)) OR ((:stop >= tl_test.start) AND (:stop <= tl_test.stop)) OR ((:start <= tl_test.start) AND (:stop >= tl_test.stop))', $config->getQueryBuilder()->getSQL()); - $this->assertEquals(0, $config->getQueryBuilder()->getParameter(':start')); - $this->assertEquals(9999999999999, $config->getQueryBuilder()->getParameter(':stop')); + $this->assertSame(0, $config->getQueryBuilder()->getParameter(':start')); + $this->assertSame(9999999999999, $config->getQueryBuilder()->getParameter(':stop')); } - /** - * Test buildQuery() statement with different start stop fields and start is time + * Test buildQuery() statement with different start stop fields and start is time. */ public function testBuildQueryWithDifferentStartStopFieldsAndMinMaxStartTime() { $framework = $this->mockContaoFramework(); - $session = new MockArraySessionStorage(); + $session = new MockArraySessionStorage(); $queryBuilder = new FilterQueryBuilder($framework, new Connection([], new Driver())); - $config = new FilterConfig($framework, new FilterSession($framework, new Session($session)), $queryBuilder); + $config = new FilterConfig($framework, new FilterSession($framework, new Session($session)), $queryBuilder); $this->container->setParameter('huh.filter', [ 'filter' => [ 'types' => [ [ - 'name' => 'date_range', - 'class' => 'HeimrichHannot\FilterBundle\Filter\Type\DateRangeType', - 'type' => 'date', - 'wrapper' => true + 'name' => 'date_range', + 'class' => 'HeimrichHannot\FilterBundle\Filter\Type\DateRangeType', + 'type' => 'date', + 'wrapper' => true, ], [ - 'name' => 'time', + 'name' => 'time', 'class' => 'HeimrichHannot\FilterBundle\Filter\Type\TimeType', - 'type' => 'date', + 'type' => 'date', ], [ - 'name' => 'date_time', + 'name' => 'date_time', 'class' => 'HeimrichHannot\FilterBundle\Filter\Type\DateTimeType', - 'type' => 'date', - ] - ] - ] + 'type' => 'date', + ], + ], + ], ]); $this->container->set('huh.utils.date', new DateUtil($framework)); @@ -644,25 +640,25 @@ public function testBuildQueryWithDifferentStartStopFieldsAndMinMaxStartTime() $filter = ['name' => 'test', 'dataContainer' => 'tl_test']; - $range = new FilterConfigElementModel(); - $range->id = 1; - $range->name = 'range'; - $range->type = 'date_range'; + $range = new FilterConfigElementModel(); + $range->id = 1; + $range->name = 'range'; + $range->type = 'date_range'; $range->startElement = 2; - $range->stopElement = 3; + $range->stopElement = 3; - $start = new FilterConfigElementModel(); - $start->id = 2; - $start->type = 'time'; - $start->name = 'start'; - $start->field = 'start'; + $start = new FilterConfigElementModel(); + $start->id = 2; + $start->type = 'time'; + $start->name = 'start'; + $start->field = 'start'; $start->minTime = '1511022657'; $start->maxTime = '1591022657'; - $stop = new FilterConfigElementModel(); - $stop->id = 3; - $stop->type = 'date_time'; - $stop->name = 'stop'; + $stop = new FilterConfigElementModel(); + $stop->id = 3; + $stop->type = 'date_time'; + $stop->name = 'stop'; $stop->field = 'stop'; $config->init('test', $filter, [$range, $start, $stop]); @@ -670,44 +666,44 @@ public function testBuildQueryWithDifferentStartStopFieldsAndMinMaxStartTime() $this->assertNotEmpty($config->getQueryBuilder()->getParameters()); $this->assertNotEmpty($config->getQueryBuilder()->getQueryPart('where')); - $this->assertEquals('SELECT FROM tl_test WHERE ((:start >= tl_test.start) AND (:start <= tl_test.stop)) OR ((:stop >= tl_test.start) AND (:stop <= tl_test.stop)) OR ((:start <= tl_test.start) AND (:stop >= tl_test.stop))', $config->getQueryBuilder()->getSQL()); + $this->assertSame('SELECT FROM tl_test WHERE ((:start >= tl_test.start) AND (:start <= tl_test.stop)) OR ((:stop >= tl_test.start) AND (:stop <= tl_test.stop)) OR ((:start <= tl_test.start) AND (:stop >= tl_test.stop))', $config->getQueryBuilder()->getSQL()); - $this->assertEquals(1511022657, $config->getQueryBuilder()->getParameter(':start')); - $this->assertEquals(9999999999999, $config->getQueryBuilder()->getParameter(':stop')); + $this->assertSame(1511022657, $config->getQueryBuilder()->getParameter(':start')); + $this->assertSame(9999999999999, $config->getQueryBuilder()->getParameter(':stop')); } /** - * Test buildQuery() statement with different start stop fields initial values and start is time + * Test buildQuery() statement with different start stop fields initial values and start is time. */ public function testBuildQueryWithDifferentStartStopFieldsInitialAndMinMaxStartTime() { $framework = $this->mockContaoFramework(); - $session = new MockArraySessionStorage(); + $session = new MockArraySessionStorage(); $queryBuilder = new FilterQueryBuilder($framework, new Connection([], new Driver())); - $config = new FilterConfig($framework, new FilterSession($framework, new Session($session)), $queryBuilder); + $config = new FilterConfig($framework, new FilterSession($framework, new Session($session)), $queryBuilder); $this->container->setParameter('huh.filter', [ 'filter' => [ 'types' => [ [ - 'name' => 'date_range', - 'class' => 'HeimrichHannot\FilterBundle\Filter\Type\DateRangeType', - 'type' => 'date', - 'wrapper' => true + 'name' => 'date_range', + 'class' => 'HeimrichHannot\FilterBundle\Filter\Type\DateRangeType', + 'type' => 'date', + 'wrapper' => true, ], [ - 'name' => 'date', + 'name' => 'date', 'class' => 'HeimrichHannot\FilterBundle\Filter\Type\DateType', - 'type' => 'date', + 'type' => 'date', ], [ - 'name' => 'date_time', + 'name' => 'date_time', 'class' => 'HeimrichHannot\FilterBundle\Filter\Type\DateTimeType', - 'type' => 'date', - ] - ] - ] + 'type' => 'date', + ], + ], + ], ]); $this->container->set('huh.utils.date', new DateUtil($framework)); @@ -720,31 +716,31 @@ public function testBuildQueryWithDifferentStartStopFieldsInitialAndMinMaxStartT $filter = ['name' => 'test', 'dataContainer' => 'tl_test']; - $range = new FilterConfigElementModel(); - $range->id = 1; - $range->name = 'range'; - $range->type = 'date_range'; + $range = new FilterConfigElementModel(); + $range->id = 1; + $range->name = 'range'; + $range->type = 'date_range'; $range->startElement = 2; - $range->stopElement = 3; - - $start = new FilterConfigElementModel(); - $start->id = 2; - $start->type = 'date'; - $start->name = 'start'; - $start->field = 'start'; - $start->minDate = '1511022657'; - $start->maxDate = '1811321500'; - $start->isInitial = true; + $range->stopElement = 3; + + $start = new FilterConfigElementModel(); + $start->id = 2; + $start->type = 'date'; + $start->name = 'start'; + $start->field = 'start'; + $start->minDate = '1511022657'; + $start->maxDate = '1811321500'; + $start->isInitial = true; $start->initialValue = '{{date::d.m.Y}}'; - $stop = new FilterConfigElementModel(); - $stop->id = 3; - $stop->type = 'date_time'; - $stop->name = 'stop'; - $stop->field = 'stop'; - $stop->minDateTime = '1511022657'; - $stop->maxDateTime = '1811321500'; - $stop->isInitial = true; + $stop = new FilterConfigElementModel(); + $stop->id = 3; + $stop->type = 'date_time'; + $stop->name = 'stop'; + $stop->field = 'stop'; + $stop->minDateTime = '1511022657'; + $stop->maxDateTime = '1811321500'; + $stop->isInitial = true; $stop->initialValue = '1711321500'; $config->init('test', $filter, [$range, $start, $stop]); @@ -752,47 +748,46 @@ public function testBuildQueryWithDifferentStartStopFieldsInitialAndMinMaxStartT $this->assertNotEmpty($config->getQueryBuilder()->getParameters()); $this->assertNotEmpty($config->getQueryBuilder()->getQueryPart('where')); - $this->assertEquals('SELECT FROM tl_test WHERE ((:start >= tl_test.start) AND (:start <= tl_test.stop)) OR ((:stop >= tl_test.start) AND (:stop <= tl_test.stop)) OR ((:start <= tl_test.start) AND (:stop >= tl_test.stop))', $config->getQueryBuilder()->getSQL()); + $this->assertSame('SELECT FROM tl_test WHERE ((:start >= tl_test.start) AND (:start <= tl_test.stop)) OR ((:stop >= tl_test.start) AND (:stop <= tl_test.stop)) OR ((:start <= tl_test.start) AND (:stop >= tl_test.stop))', $config->getQueryBuilder()->getSQL()); $start = System::getContainer()->get('huh.utils.date')->getTimeStamp('{{date::d.m.Y}}'); - $this->assertEquals($start, $config->getQueryBuilder()->getParameter(':start')); - $this->assertEquals(1711321500, $config->getQueryBuilder()->getParameter(':stop')); + $this->assertSame($start, $config->getQueryBuilder()->getParameter(':start')); + $this->assertSame(1711321500, $config->getQueryBuilder()->getParameter(':stop')); } - /** - * Test buildQuery() statement with different start stop fields and start is time + * Test buildQuery() statement with different start stop fields and start is time. */ public function testBuildQueryWithDifferentStartStopFieldsAndMinMaxStartDateTimeAndStopDate() { $framework = $this->mockContaoFramework(); - $session = new MockArraySessionStorage(); + $session = new MockArraySessionStorage(); $queryBuilder = new FilterQueryBuilder($framework, new Connection([], new Driver())); - $config = new FilterConfig($framework, new FilterSession($framework, new Session($session)), $queryBuilder); + $config = new FilterConfig($framework, new FilterSession($framework, new Session($session)), $queryBuilder); $this->container->setParameter('huh.filter', [ 'filter' => [ 'types' => [ [ - 'name' => 'date_range', - 'class' => 'HeimrichHannot\FilterBundle\Filter\Type\DateRangeType', - 'type' => 'date', - 'wrapper' => true + 'name' => 'date_range', + 'class' => 'HeimrichHannot\FilterBundle\Filter\Type\DateRangeType', + 'type' => 'date', + 'wrapper' => true, ], [ - 'name' => 'date', + 'name' => 'date', 'class' => 'HeimrichHannot\FilterBundle\Filter\Type\DateType', - 'type' => 'date', + 'type' => 'date', ], [ - 'name' => 'date_time', + 'name' => 'date_time', 'class' => 'HeimrichHannot\FilterBundle\Filter\Type\DateTimeType', - 'type' => 'date', - ] - ] - ] + 'type' => 'date', + ], + ], + ], ]); $this->container->set('huh.utils.date', new DateUtil($framework)); @@ -801,26 +796,26 @@ public function testBuildQueryWithDifferentStartStopFieldsAndMinMaxStartDateTime $filter = ['name' => 'test', 'dataContainer' => 'tl_test']; - $range = new FilterConfigElementModel(); - $range->id = 1; - $range->name = 'range'; - $range->type = 'date_range'; + $range = new FilterConfigElementModel(); + $range->id = 1; + $range->name = 'range'; + $range->type = 'date_range'; $range->startElement = 2; - $range->stopElement = 3; + $range->stopElement = 3; - $start = new FilterConfigElementModel(); - $start->id = 2; - $start->type = 'date_time'; - $start->name = 'start'; - $start->field = 'start'; + $start = new FilterConfigElementModel(); + $start->id = 2; + $start->type = 'date_time'; + $start->name = 'start'; + $start->field = 'start'; $start->minDateTime = '1511022657'; $start->maxDateTime = '1591022657'; - $stop = new FilterConfigElementModel(); - $stop->id = 3; - $stop->type = 'date'; - $stop->name = 'stop'; - $stop->field = 'stop'; + $stop = new FilterConfigElementModel(); + $stop->id = 3; + $stop->type = 'date'; + $stop->name = 'stop'; + $stop->field = 'stop'; $stop->minDate = '1311022657'; $stop->maxDate = '1891022657'; @@ -829,44 +824,44 @@ public function testBuildQueryWithDifferentStartStopFieldsAndMinMaxStartDateTime $this->assertNotEmpty($config->getQueryBuilder()->getParameters()); $this->assertNotEmpty($config->getQueryBuilder()->getQueryPart('where')); - $this->assertEquals('SELECT FROM tl_test WHERE ((:start >= tl_test.start) AND (:start <= tl_test.stop)) OR ((:stop >= tl_test.start) AND (:stop <= tl_test.stop)) OR ((:start <= tl_test.start) AND (:stop >= tl_test.stop))', $config->getQueryBuilder()->getSQL()); + $this->assertSame('SELECT FROM tl_test WHERE ((:start >= tl_test.start) AND (:start <= tl_test.stop)) OR ((:stop >= tl_test.start) AND (:stop <= tl_test.stop)) OR ((:start <= tl_test.start) AND (:stop >= tl_test.stop))', $config->getQueryBuilder()->getSQL()); - $this->assertEquals(1511022657, $config->getQueryBuilder()->getParameter(':start')); - $this->assertEquals(1891022657, $config->getQueryBuilder()->getParameter(':stop')); + $this->assertSame(1511022657, $config->getQueryBuilder()->getParameter(':start')); + $this->assertSame(1891022657, $config->getQueryBuilder()->getParameter(':stop')); } /** - * Test buildQuery() statement with different start stop fields and start is time + * Test buildQuery() statement with different start stop fields and start is time. */ public function testBuildQueryWithDifferentStartStopFieldsAndMinMaxStartDateTimeAndStopDateWithInitialData() { $framework = $this->mockContaoFramework(); - $session = new MockArraySessionStorage(); + $session = new MockArraySessionStorage(); $queryBuilder = new FilterQueryBuilder($framework, new Connection([], new Driver())); - $config = new FilterConfig($framework, new FilterSession($framework, new Session($session)), $queryBuilder); + $config = new FilterConfig($framework, new FilterSession($framework, new Session($session)), $queryBuilder); $this->container->setParameter('huh.filter', [ 'filter' => [ 'types' => [ [ - 'name' => 'date_range', - 'class' => 'HeimrichHannot\FilterBundle\Filter\Type\DateRangeType', - 'type' => 'date', - 'wrapper' => true + 'name' => 'date_range', + 'class' => 'HeimrichHannot\FilterBundle\Filter\Type\DateRangeType', + 'type' => 'date', + 'wrapper' => true, ], [ - 'name' => 'date', + 'name' => 'date', 'class' => 'HeimrichHannot\FilterBundle\Filter\Type\DateType', - 'type' => 'date', + 'type' => 'date', ], [ - 'name' => 'date_time', + 'name' => 'date_time', 'class' => 'HeimrichHannot\FilterBundle\Filter\Type\DateTimeType', - 'type' => 'date', - ] - ] - ] + 'type' => 'date', + ], + ], + ], ]); $this->container->set('huh.utils.date', new DateUtil($framework)); @@ -875,26 +870,26 @@ public function testBuildQueryWithDifferentStartStopFieldsAndMinMaxStartDateTime $filter = ['name' => 'test', 'dataContainer' => 'tl_test']; - $range = new FilterConfigElementModel(); - $range->id = 1; - $range->name = 'range'; - $range->type = 'date_range'; + $range = new FilterConfigElementModel(); + $range->id = 1; + $range->name = 'range'; + $range->type = 'date_range'; $range->startElement = 2; - $range->stopElement = 3; + $range->stopElement = 3; - $start = new FilterConfigElementModel(); - $start->id = 2; - $start->type = 'date_time'; - $start->name = 'start'; - $start->field = 'start'; + $start = new FilterConfigElementModel(); + $start->id = 2; + $start->type = 'date_time'; + $start->name = 'start'; + $start->field = 'start'; $start->minDateTime = '1511022657'; $start->maxDateTime = '1591022657'; - $stop = new FilterConfigElementModel(); - $stop->id = 3; - $stop->type = 'date'; - $stop->name = 'stop'; - $stop->field = 'stop'; + $stop = new FilterConfigElementModel(); + $stop->id = 3; + $stop->type = 'date'; + $stop->name = 'stop'; + $stop->field = 'stop'; $stop->minDate = '1311022657'; $stop->maxDate = '1891022657'; @@ -904,44 +899,44 @@ public function testBuildQueryWithDifferentStartStopFieldsAndMinMaxStartDateTime $this->assertNotEmpty($config->getQueryBuilder()->getParameters()); $this->assertNotEmpty($config->getQueryBuilder()->getQueryPart('where')); - $this->assertEquals('SELECT FROM tl_test WHERE ((:start >= tl_test.start) AND (:start <= tl_test.stop)) OR ((:stop >= tl_test.start) AND (:stop <= tl_test.stop)) OR ((:start <= tl_test.start) AND (:stop >= tl_test.stop))', $config->getQueryBuilder()->getSQL()); + $this->assertSame('SELECT FROM tl_test WHERE ((:start >= tl_test.start) AND (:start <= tl_test.stop)) OR ((:stop >= tl_test.start) AND (:stop <= tl_test.stop)) OR ((:start <= tl_test.start) AND (:stop >= tl_test.stop))', $config->getQueryBuilder()->getSQL()); - $this->assertEquals(1520261184, $config->getQueryBuilder()->getParameter(':start')); - $this->assertEquals(1521038784, $config->getQueryBuilder()->getParameter(':stop')); + $this->assertSame(1520261184, $config->getQueryBuilder()->getParameter(':start')); + $this->assertSame(1521038784, $config->getQueryBuilder()->getParameter(':stop')); } /** - * Test buildQuery() statement with different start stop fields and start is time + * Test buildQuery() statement with different start stop fields and start is time. */ public function testBuildQueryWithSameStartStopFieldsAndMinMaxStartDateTimeAndStopDate() { $framework = $this->mockContaoFramework(); - $session = new MockArraySessionStorage(); + $session = new MockArraySessionStorage(); $queryBuilder = new FilterQueryBuilder($framework, new Connection([], new Driver())); - $config = new FilterConfig($framework, new FilterSession($framework, new Session($session)), $queryBuilder); + $config = new FilterConfig($framework, new FilterSession($framework, new Session($session)), $queryBuilder); $this->container->setParameter('huh.filter', [ 'filter' => [ 'types' => [ [ - 'name' => 'date_range', - 'class' => 'HeimrichHannot\FilterBundle\Filter\Type\DateRangeType', - 'type' => 'date', - 'wrapper' => true + 'name' => 'date_range', + 'class' => 'HeimrichHannot\FilterBundle\Filter\Type\DateRangeType', + 'type' => 'date', + 'wrapper' => true, ], [ - 'name' => 'date', + 'name' => 'date', 'class' => 'HeimrichHannot\FilterBundle\Filter\Type\DateType', - 'type' => 'date', + 'type' => 'date', ], [ - 'name' => 'date_time', + 'name' => 'date_time', 'class' => 'HeimrichHannot\FilterBundle\Filter\Type\DateTimeType', - 'type' => 'date', - ] - ] - ] + 'type' => 'date', + ], + ], + ], ]); $this->container->set('huh.utils.date', new DateUtil($framework)); @@ -950,26 +945,26 @@ public function testBuildQueryWithSameStartStopFieldsAndMinMaxStartDateTimeAndSt $filter = ['name' => 'test', 'dataContainer' => 'tl_test']; - $range = new FilterConfigElementModel(); - $range->id = 1; - $range->name = 'range'; - $range->type = 'date_range'; + $range = new FilterConfigElementModel(); + $range->id = 1; + $range->name = 'range'; + $range->type = 'date_range'; $range->startElement = 2; - $range->stopElement = 3; + $range->stopElement = 3; - $start = new FilterConfigElementModel(); - $start->id = 2; - $start->type = 'date_time'; - $start->name = 'start'; - $start->field = 'start'; + $start = new FilterConfigElementModel(); + $start->id = 2; + $start->type = 'date_time'; + $start->name = 'start'; + $start->field = 'start'; $start->minDateTime = '1511022657'; $start->maxDateTime = '1591022657'; - $stop = new FilterConfigElementModel(); - $stop->id = 3; - $stop->type = 'date'; - $stop->name = 'start'; - $stop->field = 'start'; + $stop = new FilterConfigElementModel(); + $stop->id = 3; + $stop->type = 'date'; + $stop->name = 'start'; + $stop->field = 'start'; $stop->minDate = '1311022657'; $stop->maxDate = '1891022657'; @@ -978,10 +973,10 @@ public function testBuildQueryWithSameStartStopFieldsAndMinMaxStartDateTimeAndSt $this->assertNotEmpty($config->getQueryBuilder()->getParameters()); $this->assertNotEmpty($config->getQueryBuilder()->getQueryPart('where')); - $this->assertEquals('SELECT FROM tl_test WHERE (:start <= tl_test.start) AND (:stop >= tl_test.start)', $config->getQueryBuilder()->getSQL()); + $this->assertSame('SELECT FROM tl_test WHERE (:start <= tl_test.start) AND (:stop >= tl_test.start)', $config->getQueryBuilder()->getSQL()); - $this->assertEquals(1511022657, $config->getQueryBuilder()->getParameter(':start')); - $this->assertEquals(1891022657, $config->getQueryBuilder()->getParameter(':stop')); + $this->assertSame(1511022657, $config->getQueryBuilder()->getParameter(':start')); + $this->assertSame(1891022657, $config->getQueryBuilder()->getParameter(':stop')); } /** @@ -989,6 +984,6 @@ public function testBuildQueryWithSameStartStopFieldsAndMinMaxStartDateTimeAndSt */ protected function getFixturesDir(): string { - return __DIR__ . DIRECTORY_SEPARATOR . '../..' . DIRECTORY_SEPARATOR . 'Fixtures'; + return __DIR__.DIRECTORY_SEPARATOR.'../..'.DIRECTORY_SEPARATOR.'Fixtures'; } } diff --git a/tests/Filter/Type/DateTimeTypeTest.php b/tests/Filter/Type/DateTimeTypeTest.php index 0466537..da4e499 100644 --- a/tests/Filter/Type/DateTimeTypeTest.php +++ b/tests/Filter/Type/DateTimeTypeTest.php @@ -19,8 +19,8 @@ use HeimrichHannot\FilterBundle\Filter\Type\DateTimeType; use HeimrichHannot\FilterBundle\Filter\Type\DateType; use HeimrichHannot\FilterBundle\Model\FilterConfigElementModel; -use HeimrichHannot\FilterBundle\Session\FilterSession; use HeimrichHannot\FilterBundle\QueryBuilder\FilterQueryBuilder; +use HeimrichHannot\FilterBundle\Session\FilterSession; use HeimrichHannot\UtilsBundle\Database\DatabaseUtil; use HeimrichHannot\UtilsBundle\Date\DateUtil; use Symfony\Component\DependencyInjection\ContainerBuilder; @@ -44,7 +44,6 @@ class DateTimeTypeTest extends ContaoTestCase */ private $kernel; - protected function setUp() { parent::setUp(); @@ -53,37 +52,35 @@ protected function setUp() \define('TL_ROOT', $this->getFixturesDir()); } - $GLOBALS['TL_LANGUAGE'] = 'en'; + $GLOBALS['TL_LANGUAGE'] = 'en'; $GLOBALS['TL_LANG']['MSC'] = ['test' => 'bar']; $GLOBALS['TL_DCA']['tl_test'] = [ 'config' => [ 'dataContainer' => 'Table', - 'sql' => [ + 'sql' => [ 'keys' => [ ], ], ], 'fields' => [ - - ] + ], ]; $GLOBALS['TL_DCA']['tl_filter_config_element'] = [ 'config' => [ 'dataContainer' => 'Table', - 'sql' => [ + 'sql' => [ 'keys' => [ ], ], ], 'fields' => [ - - ] + ], ]; $finder = new ResourceFinder([ - $this->getFixturesDir() . '/vendor/contao/core-bundle/Resources/contao', + $this->getFixturesDir().'/vendor/contao/core-bundle/Resources/contao', ]); $this->container = $this->mockContainer(); @@ -119,10 +116,10 @@ public function testCanBeInstantiated() System::setContainer($this->container); $framework = $this->mockContaoFramework(); - $session = new MockArraySessionStorage(); + $session = new MockArraySessionStorage(); $queryBuilder = new FilterQueryBuilder($framework, new Connection([], new Driver())); - $config = new FilterConfig($framework, new FilterSession($framework, new Session($session)), $queryBuilder); + $config = new FilterConfig($framework, new FilterSession($framework, new Session($session)), $queryBuilder); $type = new DateTimeType($config); @@ -130,64 +127,64 @@ public function testCanBeInstantiated() } /** - * Test getDefaultOperator() + * Test getDefaultOperator(). */ public function testGetDefaultOperator() { $framework = $this->mockContaoFramework(); - $session = new MockArraySessionStorage(); + $session = new MockArraySessionStorage(); $queryBuilder = new FilterQueryBuilder($framework, new Connection([], new Driver())); - $config = new FilterConfig($framework, new FilterSession($framework, new Session($session)), $queryBuilder); + $config = new FilterConfig($framework, new FilterSession($framework, new Session($session)), $queryBuilder); /** @var FilterConfigElementModel $element */ $element = $this->mockClassWithProperties(FilterConfigElementModel::class, []); $type = new DateTimeType($config); - $this->assertEquals(DatabaseUtil::OPERATOR_EQUAL, $type->getDefaultOperator($element)); + $this->assertSame(DatabaseUtil::OPERATOR_EQUAL, $type->getDefaultOperator($element)); } /** - * Test getDefaultName() + * Test getDefaultName(). */ public function testGetDefaultName() { $framework = $this->mockContaoFramework(); - $session = new MockArraySessionStorage(); + $session = new MockArraySessionStorage(); $queryBuilder = new FilterQueryBuilder($framework, new Connection([], new Driver())); - $config = new FilterConfig($framework, new FilterSession($framework, new Session($session)), $queryBuilder); + $config = new FilterConfig($framework, new FilterSession($framework, new Session($session)), $queryBuilder); - $range = new FilterConfigElementModel(); + $range = new FilterConfigElementModel(); $range->name = 'test'; $type = new DateTimeType($config); - $this->assertEquals('test', $type->getDefaultName($range)); + $this->assertSame('test', $type->getDefaultName($range)); } /** - * Test buildForm() without name + * Test buildForm() without name. */ public function testBuildFormWithoutName() { $framework = $this->mockContaoFramework(); - $session = new MockArraySessionStorage(); + $session = new MockArraySessionStorage(); $queryBuilder = new FilterQueryBuilder($framework, new Connection([], new Driver())); - $config = new FilterConfig($framework, new FilterSession($framework, new Session($session)), $queryBuilder); + $config = new FilterConfig($framework, new FilterSession($framework, new Session($session)), $queryBuilder); $this->container->setParameter('huh.filter', [ 'filter' => [ 'types' => [ [ - 'name' => 'date_time', + 'name' => 'date_time', 'class' => DateTimeType::class, - 'type' => 'date' - ] - ] - ] + 'type' => 'date', + ], + ], + ], ]); $this->container->set('huh.filter.choice.type', new TypeChoice($framework)); @@ -195,36 +192,36 @@ public function testBuildFormWithoutName() $filter = ['name' => 'test', 'dataContainer' => 'tl_test']; - $element = new FilterConfigElementModel(); + $element = new FilterConfigElementModel(); $element->type = 'date_time'; $config->init('test', $filter, [$element]); $config->buildForm(); - $this->assertEquals(2, $config->getBuilder()->count()); // f_id and f_ref element always exists + $this->assertSame(2, $config->getBuilder()->count()); // f_id and f_ref element always exists } /** - * Test buildForm() with name as choice widget + * Test buildForm() with name as choice widget. */ public function testBuildFormChoiceWithName() { $framework = $this->mockContaoFramework(); - $session = new MockArraySessionStorage(); + $session = new MockArraySessionStorage(); $queryBuilder = new FilterQueryBuilder($framework, new Connection([], new Driver())); - $config = new FilterConfig($framework, new FilterSession($framework, new Session($session)), $queryBuilder); + $config = new FilterConfig($framework, new FilterSession($framework, new Session($session)), $queryBuilder); $this->container->setParameter('huh.filter', [ 'filter' => [ 'types' => [ [ - 'name' => 'date_time', + 'name' => 'date_time', 'class' => DateTimeType::class, - 'type' => 'date' - ] - ] - ] + 'type' => 'date', + ], + ], + ], ]); $this->container->set('huh.utils.date', new DateUtil($framework)); @@ -233,7 +230,7 @@ public function testBuildFormChoiceWithName() $filter = ['name' => 'test', 'dataContainer' => 'tl_test']; - $element = new FilterConfigElementModel(); + $element = new FilterConfigElementModel(); $element->type = 'date_time'; $element->name = 'start'; @@ -242,34 +239,34 @@ public function testBuildFormChoiceWithName() $year = date('Y', time()); - $this->assertEquals(3, $config->getBuilder()->count()); // f_id and f_ref element always exists + $this->assertSame(3, $config->getBuilder()->count()); // f_id and f_ref element always exists $this->assertTrue($config->getBuilder()->has('start')); $this->assertInstanceOf(\Symfony\Component\Form\Extension\Core\Type\DateTimeType::class, $config->getBuilder()->get('start')->getType()->getInnerType()); - $this->assertEquals(DateType::WIDGET_TYPE_CHOICE, $config->getBuilder()->get('start')->getForm()->getConfig()->getOption('date_widget')); - $this->assertEquals(range($year - 5, $year + 5), $config->getBuilder()->get('start')->getForm()->getConfig()->getOption('years')); + $this->assertSame(DateType::WIDGET_TYPE_CHOICE, $config->getBuilder()->get('start')->getForm()->getConfig()->getOption('date_widget')); + $this->assertSame(range($year - 5, $year + 5), $config->getBuilder()->get('start')->getForm()->getConfig()->getOption('years')); } /** - * Test buildForm() with min and max date as choice widget + * Test buildForm() with min and max date as choice widget. */ public function testBuildFormChoiceWithMinAndMaxDate() { $framework = $this->mockContaoFramework(); - $session = new MockArraySessionStorage(); + $session = new MockArraySessionStorage(); $queryBuilder = new FilterQueryBuilder($framework, new Connection([], new Driver())); - $config = new FilterConfig($framework, new FilterSession($framework, new Session($session)), $queryBuilder); + $config = new FilterConfig($framework, new FilterSession($framework, new Session($session)), $queryBuilder); $this->container->setParameter('huh.filter', [ 'filter' => [ 'types' => [ [ - 'name' => 'date_time', + 'name' => 'date_time', 'class' => DateTimeType::class, - 'type' => 'date' - ] - ] - ] + 'type' => 'date', + ], + ], + ], ]); // Prevent "undefined index" errors @@ -282,43 +279,43 @@ public function testBuildFormChoiceWithMinAndMaxDate() $filter = ['name' => 'test', 'dataContainer' => 'tl_test']; - $element = new FilterConfigElementModel(); - $element->type = 'date_time'; - $element->name = 'start'; + $element = new FilterConfigElementModel(); + $element->type = 'date_time'; + $element->name = 'start'; $element->minDateTime = '{{date::d.m.Y H:i}}'; $element->maxDateTime = '12.12.2100 12:34'; $config->init('test', $filter, [$element]); $config->buildForm(); - $this->assertEquals(3, $config->getBuilder()->count()); // f_id and f_ref element always exists + $this->assertSame(3, $config->getBuilder()->count()); // f_id and f_ref element always exists $this->assertTrue($config->getBuilder()->has('start')); $this->assertInstanceOf(\Symfony\Component\Form\Extension\Core\Type\DateTimeType::class, $config->getBuilder()->get('start')->getType()->getInnerType()); - $this->assertEquals(DateType::WIDGET_TYPE_CHOICE, $config->getBuilder()->get('start')->getForm()->getConfig()->getOption('date_widget')); - $this->assertEquals(range(Date::parse('Y', time()), 2100), $config->getBuilder()->get('start')->getForm()->getConfig()->getOption('years')); + $this->assertSame(DateType::WIDGET_TYPE_CHOICE, $config->getBuilder()->get('start')->getForm()->getConfig()->getOption('date_widget')); + $this->assertSame(range(Date::parse('Y', time()), 2100), $config->getBuilder()->get('start')->getForm()->getConfig()->getOption('years')); } /** - * Test buildForm() with min and max date as single_text widget + * Test buildForm() with min and max date as single_text widget. */ public function testBuildFormSingleTextWithMinAndMaxDate() { $framework = $this->mockContaoFramework(); - $session = new MockArraySessionStorage(); + $session = new MockArraySessionStorage(); $queryBuilder = new FilterQueryBuilder($framework, new Connection([], new Driver())); - $config = new FilterConfig($framework, new FilterSession($framework, new Session($session)), $queryBuilder); + $config = new FilterConfig($framework, new FilterSession($framework, new Session($session)), $queryBuilder); $this->container->setParameter('huh.filter', [ 'filter' => [ 'types' => [ [ - 'name' => 'date_time', + 'name' => 'date_time', 'class' => DateTimeType::class, - 'type' => 'date' - ] - ] - ] + 'type' => 'date', + ], + ], + ], ]); // Prevent "undefined index" errors @@ -331,48 +328,48 @@ public function testBuildFormSingleTextWithMinAndMaxDate() $filter = ['name' => 'test', 'dataContainer' => 'tl_test']; - $element = new FilterConfigElementModel(); - $element->type = 'date_time'; - $element->name = 'start'; + $element = new FilterConfigElementModel(); + $element->type = 'date_time'; + $element->name = 'start'; $element->minDateTime = '{{date::d.m.Y H:i}}'; $element->maxDateTime = '12.12.2100 12:34'; - $element->dateWidget = DateType::WIDGET_TYPE_SINGLE_TEXT; + $element->dateWidget = DateType::WIDGET_TYPE_SINGLE_TEXT; $config->init('test', $filter, [$element]); $config->buildForm(); - $this->assertEquals(3, $config->getBuilder()->count()); // f_id and f_ref element always exists + $this->assertSame(3, $config->getBuilder()->count()); // f_id and f_ref element always exists $this->assertTrue($config->getBuilder()->has('start')); $this->assertInstanceOf(\Symfony\Component\Form\Extension\Core\Type\DateTimeType::class, $config->getBuilder()->get('start')->getType()->getInnerType()); - $this->assertEquals(DateType::WIDGET_TYPE_SINGLE_TEXT, $config->getBuilder()->get('start')->getForm()->getConfig()->getOption('date_widget')); - $this->assertEquals('datepicker timepicker', $config->getBuilder()->get('start')->getForm()->getConfig()->getOption('group_attr')['class']); - $this->assertTrue((bool)$config->getBuilder()->get('start')->getForm()->getConfig()->getOption('attr')['data-enable-time']); - $this->assertEquals('d.m.Y H:i', $config->getBuilder()->get('start')->getForm()->getConfig()->getOption('attr')['data-date-format']); - $this->assertEquals(Date::parse('d.m.Y H:i', time()), $config->getBuilder()->get('start')->getForm()->getConfig()->getOption('attr')['data-min-date']); - $this->assertEquals('12.12.2100 12:34', $config->getBuilder()->get('start')->getForm()->getConfig()->getOption('attr')['data-max-date']); + $this->assertSame(DateType::WIDGET_TYPE_SINGLE_TEXT, $config->getBuilder()->get('start')->getForm()->getConfig()->getOption('date_widget')); + $this->assertSame('datepicker timepicker', $config->getBuilder()->get('start')->getForm()->getConfig()->getOption('group_attr')['class']); + $this->assertTrue((bool) $config->getBuilder()->get('start')->getForm()->getConfig()->getOption('attr')['data-enable-time']); + $this->assertSame('d.m.Y H:i', $config->getBuilder()->get('start')->getForm()->getConfig()->getOption('attr')['data-date-format']); + $this->assertSame(Date::parse('d.m.Y H:i', time()), $config->getBuilder()->get('start')->getForm()->getConfig()->getOption('attr')['data-min-date']); + $this->assertSame('12.12.2100 12:34', $config->getBuilder()->get('start')->getForm()->getConfig()->getOption('attr')['data-max-date']); } /** - * Test buildForm() with min and max date as single_text html5 widget + * Test buildForm() with min and max date as single_text html5 widget. */ public function testBuildFormSingleTextHtml5WithMinAndMaxDate() { $framework = $this->mockContaoFramework(); - $session = new MockArraySessionStorage(); + $session = new MockArraySessionStorage(); $queryBuilder = new FilterQueryBuilder($framework, new Connection([], new Driver())); - $config = new FilterConfig($framework, new FilterSession($framework, new Session($session)), $queryBuilder); + $config = new FilterConfig($framework, new FilterSession($framework, new Session($session)), $queryBuilder); $this->container->setParameter('huh.filter', [ 'filter' => [ 'types' => [ [ - 'name' => 'date_time', + 'name' => 'date_time', 'class' => DateTimeType::class, - 'type' => 'date' - ] - ] - ] + 'type' => 'date', + ], + ], + ], ]); // Prevent "undefined index" errors @@ -385,47 +382,47 @@ public function testBuildFormSingleTextHtml5WithMinAndMaxDate() $filter = ['name' => 'test', 'dataContainer' => 'tl_test']; - $element = new FilterConfigElementModel(); - $element->type = 'date_time'; - $element->name = 'start'; + $element = new FilterConfigElementModel(); + $element->type = 'date_time'; + $element->name = 'start'; $element->minDateTime = '{{date::d.m.Y H:i}}'; $element->maxDateTime = '12.12.2100 12:34'; - $element->dateWidget = DateType::WIDGET_TYPE_SINGLE_TEXT; - $element->html5 = true; + $element->dateWidget = DateType::WIDGET_TYPE_SINGLE_TEXT; + $element->html5 = true; $config->init('test', $filter, [$element]); $config->buildForm(); - $this->assertEquals(3, $config->getBuilder()->count()); // f_id and f_ref element always exists + $this->assertSame(3, $config->getBuilder()->count()); // f_id and f_ref element always exists $this->assertTrue($config->getBuilder()->has('start')); $this->assertInstanceOf(\Symfony\Component\Form\Extension\Core\Type\DateTimeType::class, $config->getBuilder()->get('start')->getType()->getInnerType()); - $this->assertEquals(DateType::WIDGET_TYPE_SINGLE_TEXT, $config->getBuilder()->get('start')->getForm()->getConfig()->getOption('date_widget')); - $this->assertTrue((bool)$config->getBuilder()->get('start')->getForm()->getConfig()->getOption('html5')); - $this->assertEquals(Date::parse('Y-m-d\TH:i', time()), $config->getBuilder()->get('start')->getForm()->getConfig()->getOption('attr')['min']); - $this->assertEquals(Date::parse('Y-m-d\TH:i', System::getContainer()->get('huh.utils.date')->getTimeStamp('12.12.2100 12:34')), $config->getBuilder()->get('start')->getForm()->getConfig()->getOption('attr')['max']); + $this->assertSame(DateType::WIDGET_TYPE_SINGLE_TEXT, $config->getBuilder()->get('start')->getForm()->getConfig()->getOption('date_widget')); + $this->assertTrue((bool) $config->getBuilder()->get('start')->getForm()->getConfig()->getOption('html5')); + $this->assertSame(Date::parse('Y-m-d\TH:i', time()), $config->getBuilder()->get('start')->getForm()->getConfig()->getOption('attr')['min']); + $this->assertSame(Date::parse('Y-m-d\TH:i', System::getContainer()->get('huh.utils.date')->getTimeStamp('12.12.2100 12:34')), $config->getBuilder()->get('start')->getForm()->getConfig()->getOption('attr')['max']); } /** - * Test buildQuery() without field + * Test buildQuery() without field. */ public function testBuildQueryWithoutField() { $framework = $this->mockContaoFramework(); - $session = new MockArraySessionStorage(); + $session = new MockArraySessionStorage(); $queryBuilder = new FilterQueryBuilder($framework, new Connection([], new Driver())); - $config = new FilterConfig($framework, new FilterSession($framework, new Session($session)), $queryBuilder); + $config = new FilterConfig($framework, new FilterSession($framework, new Session($session)), $queryBuilder); $this->container->setParameter('huh.filter', [ 'filter' => [ 'types' => [ [ - 'name' => 'date_time', + 'name' => 'date_time', 'class' => DateTimeType::class, - 'type' => 'date', - ] - ] - ] + 'type' => 'date', + ], + ], + ], ]); $this->container->set('huh.filter.choice.type', new TypeChoice($framework)); @@ -433,8 +430,8 @@ public function testBuildQueryWithoutField() $filter = ['name' => 'test', 'dataContainer' => 'tl_test']; - $start = new FilterConfigElementModel(); - $start->id = 2; + $start = new FilterConfigElementModel(); + $start->id = 2; $start->type = 'date_time'; $start->name = 'start'; @@ -446,32 +443,32 @@ public function testBuildQueryWithoutField() } /** - * Test buildQuery() without value data + * Test buildQuery() without value data. */ public function testBuildQueryWithoutData() { $framework = $this->mockContaoFramework(); - $session = new MockArraySessionStorage(); + $session = new MockArraySessionStorage(); $queryBuilder = new FilterQueryBuilder($framework, new Connection([], new Driver())); - $config = new FilterConfig($framework, new FilterSession($framework, new Session($session)), $queryBuilder); + $config = new FilterConfig($framework, new FilterSession($framework, new Session($session)), $queryBuilder); $this->container->setParameter('huh.filter', [ 'filter' => [ 'types' => [ [ - 'name' => 'date_time', + 'name' => 'date_time', 'class' => DateTimeType::class, - 'type' => 'date', - ] - ] - ] + 'type' => 'date', + ], + ], + ], ]); $GLOBALS['TL_DCA']['tl_test']['fields']['start'] = [ 'inputType' => 'text', - 'label' => ['start', ''], - 'eval' => ['rgxp' => 'datim', 'datepicker' => true, 'tl_class' => 'w50 wizard'] + 'label' => ['start', ''], + 'eval' => ['rgxp' => 'datim', 'datepicker' => true, 'tl_class' => 'w50 wizard'], ]; $this->container->set('huh.utils.database', new DatabaseUtil($framework)); @@ -481,11 +478,11 @@ public function testBuildQueryWithoutData() $filter = ['name' => 'test', 'dataContainer' => 'tl_test']; - $start = new FilterConfigElementModel(); - $start->id = 2; - $start->type = 'date_time'; - $start->name = 'start'; - $start->field = 'start'; + $start = new FilterConfigElementModel(); + $start->id = 2; + $start->type = 'date_time'; + $start->name = 'start'; + $start->field = 'start'; $start->minDateTime = '{{date::d.m.Y H:i}}'; $start->maxDateTime = '12.12.2100 12:34'; @@ -496,37 +493,37 @@ public function testBuildQueryWithoutData() $this->assertNotEmpty($config->getQueryBuilder()->getParameters()); $this->assertNotEmpty($config->getQueryBuilder()->getQueryPart('where')); - $this->assertEquals('SELECT FROM tl_test WHERE (:start <= tl_test.start) AND (:stop >= tl_test.start)', $config->getQueryBuilder()->getSQL()); - $this->assertEquals([':start' => $minDate, ':stop' => $minDate], $config->getQueryBuilder()->getParameters()); + $this->assertSame('SELECT FROM tl_test WHERE (:start <= tl_test.start) AND (:stop >= tl_test.start)', $config->getQueryBuilder()->getSQL()); + $this->assertSame([':start' => $minDate, ':stop' => $minDate], $config->getQueryBuilder()->getParameters()); } /** - * Test buildQuery() with data beyond min date time + * Test buildQuery() with data beyond min date time. */ public function testBuildQueryWithDataBeyondMinDateTime() { $framework = $this->mockContaoFramework(); - $session = new MockArraySessionStorage(); + $session = new MockArraySessionStorage(); $queryBuilder = new FilterQueryBuilder($framework, new Connection([], new Driver())); - $config = new FilterConfig($framework, new FilterSession($framework, new Session($session)), $queryBuilder); + $config = new FilterConfig($framework, new FilterSession($framework, new Session($session)), $queryBuilder); $this->container->setParameter('huh.filter', [ 'filter' => [ 'types' => [ [ - 'name' => 'date_time', + 'name' => 'date_time', 'class' => DateTimeType::class, - 'type' => 'date', - ] - ] - ] + 'type' => 'date', + ], + ], + ], ]); $GLOBALS['TL_DCA']['tl_test']['fields']['start'] = [ 'inputType' => 'text', - 'label' => ['start', ''], - 'eval' => ['rgxp' => 'datim', 'datepicker' => true, 'tl_class' => 'w50 wizard'] + 'label' => ['start', ''], + 'eval' => ['rgxp' => 'datim', 'datepicker' => true, 'tl_class' => 'w50 wizard'], ]; $this->container->set('huh.utils.database', new DatabaseUtil($framework)); @@ -536,15 +533,14 @@ public function testBuildQueryWithDataBeyondMinDateTime() $filter = ['name' => 'test', 'dataContainer' => 'tl_test']; - $start = new FilterConfigElementModel(); - $start->id = 2; - $start->type = 'date_time'; - $start->name = 'start'; - $start->field = 'start'; + $start = new FilterConfigElementModel(); + $start->id = 2; + $start->type = 'date_time'; + $start->name = 'start'; + $start->field = 'start'; $start->minDateTime = '{{date::d.m.Y H:i}}'; $start->maxDateTime = '12.12.2100 12:34'; - $config->init('test', $filter, [$start]); $config->setData(['start' => '01.01.1981 12:35']); $config->initQueryBuilder(); @@ -553,37 +549,37 @@ public function testBuildQueryWithDataBeyondMinDateTime() $this->assertNotEmpty($config->getQueryBuilder()->getParameters()); $this->assertNotEmpty($config->getQueryBuilder()->getQueryPart('where')); - $this->assertEquals('SELECT FROM tl_test WHERE (:start <= tl_test.start) AND (:stop >= tl_test.start)', $config->getQueryBuilder()->getSQL()); - $this->assertEquals([':start' => $minDate, ':stop' => $minDate], $config->getQueryBuilder()->getParameters()); + $this->assertSame('SELECT FROM tl_test WHERE (:start <= tl_test.start) AND (:stop >= tl_test.start)', $config->getQueryBuilder()->getSQL()); + $this->assertSame([':start' => $minDate, ':stop' => $minDate], $config->getQueryBuilder()->getParameters()); } /** - * Test buildQuery() with data beyond max date time + * Test buildQuery() with data beyond max date time. */ public function testBuildQueryWithDataBeyondMaxDateTime() { $framework = $this->mockContaoFramework(); - $session = new MockArraySessionStorage(); + $session = new MockArraySessionStorage(); $queryBuilder = new FilterQueryBuilder($framework, new Connection([], new Driver())); - $config = new FilterConfig($framework, new FilterSession($framework, new Session($session)), $queryBuilder); + $config = new FilterConfig($framework, new FilterSession($framework, new Session($session)), $queryBuilder); $this->container->setParameter('huh.filter', [ 'filter' => [ 'types' => [ [ - 'name' => 'date_time', + 'name' => 'date_time', 'class' => DateTimeType::class, - 'type' => 'date', - ] - ] - ] + 'type' => 'date', + ], + ], + ], ]); $GLOBALS['TL_DCA']['tl_test']['fields']['start'] = [ 'inputType' => 'text', - 'label' => ['start', ''], - 'eval' => ['rgxp' => 'datim', 'datepicker' => true, 'tl_class' => 'w50 wizard'] + 'label' => ['start', ''], + 'eval' => ['rgxp' => 'datim', 'datepicker' => true, 'tl_class' => 'w50 wizard'], ]; $this->container->set('huh.utils.database', new DatabaseUtil($framework)); @@ -593,15 +589,14 @@ public function testBuildQueryWithDataBeyondMaxDateTime() $filter = ['name' => 'test', 'dataContainer' => 'tl_test']; - $start = new FilterConfigElementModel(); - $start->id = 2; - $start->type = 'date_time'; - $start->name = 'start'; - $start->field = 'start'; + $start = new FilterConfigElementModel(); + $start->id = 2; + $start->type = 'date_time'; + $start->name = 'start'; + $start->field = 'start'; $start->minDateTime = '{{date::d.m.Y H:i}}'; $start->maxDateTime = '12.12.2100 12:34'; - $config->init('test', $filter, [$start]); $config->setData(['start' => '12.12.2100 12:35']); $config->initQueryBuilder(); @@ -610,37 +605,37 @@ public function testBuildQueryWithDataBeyondMaxDateTime() $this->assertNotEmpty($config->getQueryBuilder()->getParameters()); $this->assertNotEmpty($config->getQueryBuilder()->getQueryPart('where')); - $this->assertEquals('SELECT FROM tl_test WHERE (:start <= tl_test.start) AND (:stop >= tl_test.start)', $config->getQueryBuilder()->getSQL()); - $this->assertEquals([':start' => $maxDate, ':stop' => $maxDate], $config->getQueryBuilder()->getParameters()); + $this->assertSame('SELECT FROM tl_test WHERE (:start <= tl_test.start) AND (:stop >= tl_test.start)', $config->getQueryBuilder()->getSQL()); + $this->assertSame([':start' => $maxDate, ':stop' => $maxDate], $config->getQueryBuilder()->getParameters()); } /** - * Test buildQuery() with initial data + * Test buildQuery() with initial data. */ public function testBuildQueryInitial() { $framework = $this->mockContaoFramework(); - $session = new MockArraySessionStorage(); + $session = new MockArraySessionStorage(); $queryBuilder = new FilterQueryBuilder($framework, new Connection([], new Driver())); - $config = new FilterConfig($framework, new FilterSession($framework, new Session($session)), $queryBuilder); + $config = new FilterConfig($framework, new FilterSession($framework, new Session($session)), $queryBuilder); $this->container->setParameter('huh.filter', [ 'filter' => [ 'types' => [ [ - 'name' => 'date_time', + 'name' => 'date_time', 'class' => DateTimeType::class, - 'type' => 'date', - ] - ] - ] + 'type' => 'date', + ], + ], + ], ]); $GLOBALS['TL_DCA']['tl_test']['fields']['start'] = [ 'inputType' => 'text', - 'label' => ['start', ''], - 'eval' => ['rgxp' => 'datim', 'datepicker' => true, 'tl_class' => 'w50 wizard'] + 'label' => ['start', ''], + 'eval' => ['rgxp' => 'datim', 'datepicker' => true, 'tl_class' => 'w50 wizard'], ]; $this->container->set('huh.utils.database', new DatabaseUtil($framework)); @@ -650,14 +645,14 @@ public function testBuildQueryInitial() $filter = ['name' => 'test', 'dataContainer' => 'tl_test']; - $start = new FilterConfigElementModel(); - $start->id = 2; - $start->type = 'date_time'; - $start->name = 'start'; - $start->field = 'start'; - $start->minDateTime = '{{date::d.m.Y H:i}}'; - $start->maxDateTime = '12.12.2100 12:34'; - $start->isInitial = true; + $start = new FilterConfigElementModel(); + $start->id = 2; + $start->type = 'date_time'; + $start->name = 'start'; + $start->field = 'start'; + $start->minDateTime = '{{date::d.m.Y H:i}}'; + $start->maxDateTime = '12.12.2100 12:34'; + $start->isInitial = true; $start->initialValue = '12.12.2095 12:34'; $config->init('test', $filter, [$start]); @@ -668,37 +663,37 @@ public function testBuildQueryInitial() $this->assertNotEmpty($config->getQueryBuilder()->getParameters()); $this->assertNotEmpty($config->getQueryBuilder()->getQueryPart('where')); - $this->assertEquals('SELECT FROM tl_test WHERE (:start <= tl_test.start) AND (:stop >= tl_test.start)', $config->getQueryBuilder()->getSQL()); - $this->assertEquals([':start' => $value, ':stop' => $value], $config->getQueryBuilder()->getParameters()); + $this->assertSame('SELECT FROM tl_test WHERE (:start <= tl_test.start) AND (:stop >= tl_test.start)', $config->getQueryBuilder()->getSQL()); + $this->assertSame([':start' => $value, ':stop' => $value], $config->getQueryBuilder()->getParameters()); } /** - * Test buildQuery() + * Test buildQuery(). */ public function testBuildQuery() { $framework = $this->mockContaoFramework(); - $session = new MockArraySessionStorage(); + $session = new MockArraySessionStorage(); $queryBuilder = new FilterQueryBuilder($framework, new Connection([], new Driver())); - $config = new FilterConfig($framework, new FilterSession($framework, new Session($session)), $queryBuilder); + $config = new FilterConfig($framework, new FilterSession($framework, new Session($session)), $queryBuilder); $this->container->setParameter('huh.filter', [ 'filter' => [ 'types' => [ [ - 'name' => 'date_time', + 'name' => 'date_time', 'class' => DateTimeType::class, - 'type' => 'date', - ] - ] - ] + 'type' => 'date', + ], + ], + ], ]); $GLOBALS['TL_DCA']['tl_test']['fields']['start'] = [ 'inputType' => 'text', - 'label' => ['start', ''], - 'eval' => ['rgxp' => 'datim', 'datepicker' => true, 'tl_class' => 'w50 wizard'] + 'label' => ['start', ''], + 'eval' => ['rgxp' => 'datim', 'datepicker' => true, 'tl_class' => 'w50 wizard'], ]; $this->container->set('huh.utils.database', new DatabaseUtil($framework)); @@ -708,15 +703,14 @@ public function testBuildQuery() $filter = ['name' => 'test', 'dataContainer' => 'tl_test']; - $start = new FilterConfigElementModel(); - $start->id = 2; - $start->type = 'date_time'; - $start->name = 'start'; - $start->field = 'start'; + $start = new FilterConfigElementModel(); + $start->id = 2; + $start->type = 'date_time'; + $start->name = 'start'; + $start->field = 'start'; $start->minDateTime = '{{date::d.m.Y H:i}}'; $start->maxDateTime = '12.12.2100 12:34'; - $config->init('test', $filter, [$start]); $config->setData(['start' => '12.12.2099 12:34']); $config->initQueryBuilder(); @@ -725,8 +719,8 @@ public function testBuildQuery() $this->assertNotEmpty($config->getQueryBuilder()->getParameters()); $this->assertNotEmpty($config->getQueryBuilder()->getQueryPart('where')); - $this->assertEquals('SELECT FROM tl_test WHERE (:start <= tl_test.start) AND (:stop >= tl_test.start)', $config->getQueryBuilder()->getSQL()); - $this->assertEquals([':start' => $value, ':stop' => $value], $config->getQueryBuilder()->getParameters()); + $this->assertSame('SELECT FROM tl_test WHERE (:start <= tl_test.start) AND (:stop >= tl_test.start)', $config->getQueryBuilder()->getSQL()); + $this->assertSame([':start' => $value, ':stop' => $value], $config->getQueryBuilder()->getParameters()); } /** @@ -734,6 +728,6 @@ public function testBuildQuery() */ protected function getFixturesDir(): string { - return __DIR__ . DIRECTORY_SEPARATOR . '../..' . DIRECTORY_SEPARATOR . 'Fixtures'; + return __DIR__.DIRECTORY_SEPARATOR.'../..'.DIRECTORY_SEPARATOR.'Fixtures'; } } diff --git a/tests/Filter/Type/DateTypeTest.php b/tests/Filter/Type/DateTypeTest.php index d02ab40..9eaf868 100644 --- a/tests/Filter/Type/DateTypeTest.php +++ b/tests/Filter/Type/DateTypeTest.php @@ -18,8 +18,8 @@ use HeimrichHannot\FilterBundle\Config\FilterConfig; use HeimrichHannot\FilterBundle\Filter\Type\DateType; use HeimrichHannot\FilterBundle\Model\FilterConfigElementModel; -use HeimrichHannot\FilterBundle\Session\FilterSession; use HeimrichHannot\FilterBundle\QueryBuilder\FilterQueryBuilder; +use HeimrichHannot\FilterBundle\Session\FilterSession; use HeimrichHannot\UtilsBundle\Database\DatabaseUtil; use HeimrichHannot\UtilsBundle\Date\DateUtil; use Symfony\Component\DependencyInjection\ContainerBuilder; @@ -43,7 +43,6 @@ class DateTypeTest extends ContaoTestCase */ private $kernel; - protected function setUp() { parent::setUp(); @@ -52,37 +51,35 @@ protected function setUp() \define('TL_ROOT', $this->getFixturesDir()); } - $GLOBALS['TL_LANGUAGE'] = 'en'; + $GLOBALS['TL_LANGUAGE'] = 'en'; $GLOBALS['TL_LANG']['MSC'] = ['test' => 'bar']; $GLOBALS['TL_DCA']['tl_test'] = [ 'config' => [ 'dataContainer' => 'Table', - 'sql' => [ + 'sql' => [ 'keys' => [ ], ], ], 'fields' => [ - - ] + ], ]; $GLOBALS['TL_DCA']['tl_filter_config_element'] = [ 'config' => [ 'dataContainer' => 'Table', - 'sql' => [ + 'sql' => [ 'keys' => [ ], ], ], 'fields' => [ - - ] + ], ]; $finder = new ResourceFinder([ - $this->getFixturesDir() . '/vendor/contao/core-bundle/Resources/contao', + $this->getFixturesDir().'/vendor/contao/core-bundle/Resources/contao', ]); $this->container = $this->mockContainer(); @@ -118,10 +115,10 @@ public function testCanBeInstantiated() System::setContainer($this->container); $framework = $this->mockContaoFramework(); - $session = new MockArraySessionStorage(); + $session = new MockArraySessionStorage(); $queryBuilder = new FilterQueryBuilder($framework, new Connection([], new Driver())); - $config = new FilterConfig($framework, new FilterSession($framework, new Session($session)), $queryBuilder); + $config = new FilterConfig($framework, new FilterSession($framework, new Session($session)), $queryBuilder); $type = new DateType($config); @@ -129,64 +126,64 @@ public function testCanBeInstantiated() } /** - * Test getDefaultOperator() + * Test getDefaultOperator(). */ public function testGetDefaultOperator() { $framework = $this->mockContaoFramework(); - $session = new MockArraySessionStorage(); + $session = new MockArraySessionStorage(); $queryBuilder = new FilterQueryBuilder($framework, new Connection([], new Driver())); - $config = new FilterConfig($framework, new FilterSession($framework, new Session($session)), $queryBuilder); + $config = new FilterConfig($framework, new FilterSession($framework, new Session($session)), $queryBuilder); /** @var FilterConfigElementModel $element */ $element = $this->mockClassWithProperties(FilterConfigElementModel::class, []); $type = new DateType($config); - $this->assertEquals(DatabaseUtil::OPERATOR_EQUAL, $type->getDefaultOperator($element)); + $this->assertSame(DatabaseUtil::OPERATOR_EQUAL, $type->getDefaultOperator($element)); } /** - * Test getDefaultName() + * Test getDefaultName(). */ public function testGetDefaultName() { $framework = $this->mockContaoFramework(); - $session = new MockArraySessionStorage(); + $session = new MockArraySessionStorage(); $queryBuilder = new FilterQueryBuilder($framework, new Connection([], new Driver())); - $config = new FilterConfig($framework, new FilterSession($framework, new Session($session)), $queryBuilder); + $config = new FilterConfig($framework, new FilterSession($framework, new Session($session)), $queryBuilder); - $range = new FilterConfigElementModel(); + $range = new FilterConfigElementModel(); $range->name = 'test'; $type = new DateType($config); - $this->assertEquals('test', $type->getDefaultName($range)); + $this->assertSame('test', $type->getDefaultName($range)); } /** - * Test buildForm() without name + * Test buildForm() without name. */ public function testBuildFormWithoutName() { $framework = $this->mockContaoFramework(); - $session = new MockArraySessionStorage(); + $session = new MockArraySessionStorage(); $queryBuilder = new FilterQueryBuilder($framework, new Connection([], new Driver())); - $config = new FilterConfig($framework, new FilterSession($framework, new Session($session)), $queryBuilder); + $config = new FilterConfig($framework, new FilterSession($framework, new Session($session)), $queryBuilder); $this->container->setParameter('huh.filter', [ 'filter' => [ 'types' => [ [ - 'name' => 'date', + 'name' => 'date', 'class' => DateType::class, - 'type' => 'date' - ] - ] - ] + 'type' => 'date', + ], + ], + ], ]); $this->container->set('huh.filter.choice.type', new TypeChoice($framework)); @@ -194,36 +191,36 @@ public function testBuildFormWithoutName() $filter = ['name' => 'test', 'dataContainer' => 'tl_test']; - $element = new FilterConfigElementModel(); + $element = new FilterConfigElementModel(); $element->type = 'date'; $config->init('test', $filter, [$element]); $config->buildForm(); - $this->assertEquals(2, $config->getBuilder()->count()); // f_id and f_ref element always exists + $this->assertSame(2, $config->getBuilder()->count()); // f_id and f_ref element always exists } /** - * Test buildForm() with name as choice widget + * Test buildForm() with name as choice widget. */ public function testBuildFormChoiceWithName() { $framework = $this->mockContaoFramework(); - $session = new MockArraySessionStorage(); + $session = new MockArraySessionStorage(); $queryBuilder = new FilterQueryBuilder($framework, new Connection([], new Driver())); - $config = new FilterConfig($framework, new FilterSession($framework, new Session($session)), $queryBuilder); + $config = new FilterConfig($framework, new FilterSession($framework, new Session($session)), $queryBuilder); $this->container->setParameter('huh.filter', [ 'filter' => [ 'types' => [ [ - 'name' => 'date', + 'name' => 'date', 'class' => DateType::class, - 'type' => 'date' - ] - ] - ] + 'type' => 'date', + ], + ], + ], ]); $this->container->set('huh.utils.date', new DateUtil($framework)); @@ -232,7 +229,7 @@ public function testBuildFormChoiceWithName() $filter = ['name' => 'test', 'dataContainer' => 'tl_test']; - $element = new FilterConfigElementModel(); + $element = new FilterConfigElementModel(); $element->type = 'date'; $element->name = 'start'; @@ -241,34 +238,34 @@ public function testBuildFormChoiceWithName() $year = date('Y', time()); - $this->assertEquals(3, $config->getBuilder()->count()); // f_id and f_ref element always exists + $this->assertSame(3, $config->getBuilder()->count()); // f_id and f_ref element always exists $this->assertTrue($config->getBuilder()->has('start')); $this->assertInstanceOf(\Symfony\Component\Form\Extension\Core\Type\DateType::class, $config->getBuilder()->get('start')->getType()->getInnerType()); - $this->assertEquals(DateType::WIDGET_TYPE_CHOICE, $config->getBuilder()->get('start')->getForm()->getConfig()->getOption('widget')); - $this->assertEquals(range($year - 5, $year + 5), $config->getBuilder()->get('start')->getForm()->getConfig()->getOption('years')); + $this->assertSame(DateType::WIDGET_TYPE_CHOICE, $config->getBuilder()->get('start')->getForm()->getConfig()->getOption('widget')); + $this->assertSame(range($year - 5, $year + 5), $config->getBuilder()->get('start')->getForm()->getConfig()->getOption('years')); } /** - * Test buildForm() with min and max date as choice widget + * Test buildForm() with min and max date as choice widget. */ public function testBuildFormChoiceWithMinAndMaxDate() { $framework = $this->mockContaoFramework(); - $session = new MockArraySessionStorage(); + $session = new MockArraySessionStorage(); $queryBuilder = new FilterQueryBuilder($framework, new Connection([], new Driver())); - $config = new FilterConfig($framework, new FilterSession($framework, new Session($session)), $queryBuilder); + $config = new FilterConfig($framework, new FilterSession($framework, new Session($session)), $queryBuilder); $this->container->setParameter('huh.filter', [ 'filter' => [ 'types' => [ [ - 'name' => 'date', + 'name' => 'date', 'class' => DateType::class, - 'type' => 'date' - ] - ] - ] + 'type' => 'date', + ], + ], + ], ]); // Prevent "undefined index" errors @@ -281,43 +278,43 @@ public function testBuildFormChoiceWithMinAndMaxDate() $filter = ['name' => 'test', 'dataContainer' => 'tl_test']; - $element = new FilterConfigElementModel(); - $element->type = 'date'; - $element->name = 'start'; + $element = new FilterConfigElementModel(); + $element->type = 'date'; + $element->name = 'start'; $element->minDate = '{{date::d.m.Y}}'; $element->maxDate = '12.12.2100 12:34'; $config->init('test', $filter, [$element]); $config->buildForm(); - $this->assertEquals(3, $config->getBuilder()->count()); // f_id and f_ref element always exists + $this->assertSame(3, $config->getBuilder()->count()); // f_id and f_ref element always exists $this->assertTrue($config->getBuilder()->has('start')); $this->assertInstanceOf(\Symfony\Component\Form\Extension\Core\Type\DateType::class, $config->getBuilder()->get('start')->getType()->getInnerType()); - $this->assertEquals(DateType::WIDGET_TYPE_CHOICE, $config->getBuilder()->get('start')->getForm()->getConfig()->getOption('widget')); - $this->assertEquals(range(Date::parse('Y', time()), 2100), $config->getBuilder()->get('start')->getForm()->getConfig()->getOption('years')); + $this->assertSame(DateType::WIDGET_TYPE_CHOICE, $config->getBuilder()->get('start')->getForm()->getConfig()->getOption('widget')); + $this->assertSame(range(Date::parse('Y', time()), 2100), $config->getBuilder()->get('start')->getForm()->getConfig()->getOption('years')); } /** - * Test buildForm() with min and max date as single_text widget + * Test buildForm() with min and max date as single_text widget. */ public function testBuildFormSingleTextWithMinAndMaxDate() { $framework = $this->mockContaoFramework(); - $session = new MockArraySessionStorage(); + $session = new MockArraySessionStorage(); $queryBuilder = new FilterQueryBuilder($framework, new Connection([], new Driver())); - $config = new FilterConfig($framework, new FilterSession($framework, new Session($session)), $queryBuilder); + $config = new FilterConfig($framework, new FilterSession($framework, new Session($session)), $queryBuilder); $this->container->setParameter('huh.filter', [ 'filter' => [ 'types' => [ [ - 'name' => 'date', + 'name' => 'date', 'class' => DateType::class, - 'type' => 'date' - ] - ] - ] + 'type' => 'date', + ], + ], + ], ]); // Prevent "undefined index" errors @@ -330,48 +327,48 @@ public function testBuildFormSingleTextWithMinAndMaxDate() $filter = ['name' => 'test', 'dataContainer' => 'tl_test']; - $element = new FilterConfigElementModel(); - $element->type = 'date'; - $element->name = 'start'; - $element->minDate = '{{date::d.m.Y}}'; - $element->maxDate = '12.12.2100 12:34'; + $element = new FilterConfigElementModel(); + $element->type = 'date'; + $element->name = 'start'; + $element->minDate = '{{date::d.m.Y}}'; + $element->maxDate = '12.12.2100 12:34'; $element->dateWidget = DateType::WIDGET_TYPE_SINGLE_TEXT; $config->init('test', $filter, [$element]); $config->buildForm(); - $this->assertEquals(3, $config->getBuilder()->count()); // f_id and f_ref element always exists + $this->assertSame(3, $config->getBuilder()->count()); // f_id and f_ref element always exists $this->assertTrue($config->getBuilder()->has('start')); $this->assertInstanceOf(\Symfony\Component\Form\Extension\Core\Type\DateType::class, $config->getBuilder()->get('start')->getType()->getInnerType()); - $this->assertEquals(DateType::WIDGET_TYPE_SINGLE_TEXT, $config->getBuilder()->get('start')->getForm()->getConfig()->getOption('widget')); - $this->assertEquals('datepicker', $config->getBuilder()->get('start')->getForm()->getConfig()->getOption('group_attr')['class']); - $this->assertFalse((bool)$config->getBuilder()->get('start')->getForm()->getConfig()->getOption('attr')['data-enable-time']); - $this->assertEquals('d.m.Y', $config->getBuilder()->get('start')->getForm()->getConfig()->getOption('attr')['data-date-format']); - $this->assertEquals(Date::parse('d.m.Y', time()), $config->getBuilder()->get('start')->getForm()->getConfig()->getOption('attr')['data-min-date']); - $this->assertEquals('12.12.2100', $config->getBuilder()->get('start')->getForm()->getConfig()->getOption('attr')['data-max-date']); + $this->assertSame(DateType::WIDGET_TYPE_SINGLE_TEXT, $config->getBuilder()->get('start')->getForm()->getConfig()->getOption('widget')); + $this->assertSame('datepicker', $config->getBuilder()->get('start')->getForm()->getConfig()->getOption('group_attr')['class']); + $this->assertFalse((bool) $config->getBuilder()->get('start')->getForm()->getConfig()->getOption('attr')['data-enable-time']); + $this->assertSame('d.m.Y', $config->getBuilder()->get('start')->getForm()->getConfig()->getOption('attr')['data-date-format']); + $this->assertSame(Date::parse('d.m.Y', time()), $config->getBuilder()->get('start')->getForm()->getConfig()->getOption('attr')['data-min-date']); + $this->assertSame('12.12.2100', $config->getBuilder()->get('start')->getForm()->getConfig()->getOption('attr')['data-max-date']); } /** - * Test buildForm() with min and max date as single_text html5 widget + * Test buildForm() with min and max date as single_text html5 widget. */ public function testBuildFormSingleTextHtml5WithMinAndMaxDate() { $framework = $this->mockContaoFramework(); - $session = new MockArraySessionStorage(); + $session = new MockArraySessionStorage(); $queryBuilder = new FilterQueryBuilder($framework, new Connection([], new Driver())); - $config = new FilterConfig($framework, new FilterSession($framework, new Session($session)), $queryBuilder); + $config = new FilterConfig($framework, new FilterSession($framework, new Session($session)), $queryBuilder); $this->container->setParameter('huh.filter', [ 'filter' => [ 'types' => [ [ - 'name' => 'date', + 'name' => 'date', 'class' => DateType::class, - 'type' => 'date' - ] - ] - ] + 'type' => 'date', + ], + ], + ], ]); // Prevent "undefined index" errors @@ -384,47 +381,47 @@ public function testBuildFormSingleTextHtml5WithMinAndMaxDate() $filter = ['name' => 'test', 'dataContainer' => 'tl_test']; - $element = new FilterConfigElementModel(); - $element->type = 'date'; - $element->name = 'start'; - $element->minDate = '{{date::d.m.Y}}'; - $element->maxDate = '12.12.2100 12:34'; + $element = new FilterConfigElementModel(); + $element->type = 'date'; + $element->name = 'start'; + $element->minDate = '{{date::d.m.Y}}'; + $element->maxDate = '12.12.2100 12:34'; $element->dateWidget = DateType::WIDGET_TYPE_SINGLE_TEXT; - $element->html5 = true; + $element->html5 = true; $config->init('test', $filter, [$element]); $config->buildForm(); - $this->assertEquals(3, $config->getBuilder()->count()); // f_id and f_ref element always exists + $this->assertSame(3, $config->getBuilder()->count()); // f_id and f_ref element always exists $this->assertTrue($config->getBuilder()->has('start')); $this->assertInstanceOf(\Symfony\Component\Form\Extension\Core\Type\DateType::class, $config->getBuilder()->get('start')->getType()->getInnerType()); - $this->assertEquals(DateType::WIDGET_TYPE_SINGLE_TEXT, $config->getBuilder()->get('start')->getForm()->getConfig()->getOption('widget')); - $this->assertTrue((bool)$config->getBuilder()->get('start')->getForm()->getConfig()->getOption('html5')); - $this->assertEquals(Date::parse('Y-m-d', time()), $config->getBuilder()->get('start')->getForm()->getConfig()->getOption('attr')['min']); - $this->assertEquals(Date::parse('Y-m-d', System::getContainer()->get('huh.utils.date')->getTimeStamp('12.12.2100')), $config->getBuilder()->get('start')->getForm()->getConfig()->getOption('attr')['max']); + $this->assertSame(DateType::WIDGET_TYPE_SINGLE_TEXT, $config->getBuilder()->get('start')->getForm()->getConfig()->getOption('widget')); + $this->assertTrue((bool) $config->getBuilder()->get('start')->getForm()->getConfig()->getOption('html5')); + $this->assertSame(Date::parse('Y-m-d', time()), $config->getBuilder()->get('start')->getForm()->getConfig()->getOption('attr')['min']); + $this->assertSame(Date::parse('Y-m-d', System::getContainer()->get('huh.utils.date')->getTimeStamp('12.12.2100')), $config->getBuilder()->get('start')->getForm()->getConfig()->getOption('attr')['max']); } /** - * Test buildQuery() without field + * Test buildQuery() without field. */ public function testBuildQueryWithoutField() { $framework = $this->mockContaoFramework(); - $session = new MockArraySessionStorage(); + $session = new MockArraySessionStorage(); $queryBuilder = new FilterQueryBuilder($framework, new Connection([], new Driver())); - $config = new FilterConfig($framework, new FilterSession($framework, new Session($session)), $queryBuilder); + $config = new FilterConfig($framework, new FilterSession($framework, new Session($session)), $queryBuilder); $this->container->setParameter('huh.filter', [ 'filter' => [ 'types' => [ [ - 'name' => 'date', + 'name' => 'date', 'class' => DateType::class, - 'type' => 'date', - ] - ] - ] + 'type' => 'date', + ], + ], + ], ]); $this->container->set('huh.filter.choice.type', new TypeChoice($framework)); @@ -432,8 +429,8 @@ public function testBuildQueryWithoutField() $filter = ['name' => 'test', 'dataContainer' => 'tl_test']; - $start = new FilterConfigElementModel(); - $start->id = 2; + $start = new FilterConfigElementModel(); + $start->id = 2; $start->type = 'date'; $start->name = 'start'; @@ -445,32 +442,32 @@ public function testBuildQueryWithoutField() } /** - * Test buildQuery() without value data + * Test buildQuery() without value data. */ public function testBuildQueryWithoutData() { $framework = $this->mockContaoFramework(); - $session = new MockArraySessionStorage(); + $session = new MockArraySessionStorage(); $queryBuilder = new FilterQueryBuilder($framework, new Connection([], new Driver())); - $config = new FilterConfig($framework, new FilterSession($framework, new Session($session)), $queryBuilder); + $config = new FilterConfig($framework, new FilterSession($framework, new Session($session)), $queryBuilder); $this->container->setParameter('huh.filter', [ 'filter' => [ 'types' => [ [ - 'name' => 'date', + 'name' => 'date', 'class' => DateType::class, - 'type' => 'date', - ] - ] - ] + 'type' => 'date', + ], + ], + ], ]); $GLOBALS['TL_DCA']['tl_test']['fields']['start'] = [ 'inputType' => 'text', - 'label' => ['start', ''], - 'eval' => ['rgxp' => 'date', 'datepicker' => true, 'tl_class' => 'w50 wizard'] + 'label' => ['start', ''], + 'eval' => ['rgxp' => 'date', 'datepicker' => true, 'tl_class' => 'w50 wizard'], ]; $this->container->set('huh.utils.database', new DatabaseUtil($framework)); @@ -480,11 +477,11 @@ public function testBuildQueryWithoutData() $filter = ['name' => 'test', 'dataContainer' => 'tl_test']; - $start = new FilterConfigElementModel(); - $start->id = 2; - $start->type = 'date'; - $start->name = 'start'; - $start->field = 'start'; + $start = new FilterConfigElementModel(); + $start->id = 2; + $start->type = 'date'; + $start->name = 'start'; + $start->field = 'start'; $start->minDate = '{{date::d.m.Y}}'; $start->maxDate = '12.12.2100'; @@ -495,37 +492,37 @@ public function testBuildQueryWithoutData() $this->assertNotEmpty($config->getQueryBuilder()->getParameters()); $this->assertNotEmpty($config->getQueryBuilder()->getQueryPart('where')); - $this->assertEquals('SELECT FROM tl_test WHERE (:start <= tl_test.start) AND (:stop >= tl_test.start)', $config->getQueryBuilder()->getSQL()); - $this->assertEquals([':start' => $minDate, ':stop' => $minDate], $config->getQueryBuilder()->getParameters()); + $this->assertSame('SELECT FROM tl_test WHERE (:start <= tl_test.start) AND (:stop >= tl_test.start)', $config->getQueryBuilder()->getSQL()); + $this->assertSame([':start' => $minDate, ':stop' => $minDate], $config->getQueryBuilder()->getParameters()); } /** - * Test buildQuery() with data beyond min date time + * Test buildQuery() with data beyond min date time. */ public function testBuildQueryWithDataBeyondMinDateTime() { $framework = $this->mockContaoFramework(); - $session = new MockArraySessionStorage(); + $session = new MockArraySessionStorage(); $queryBuilder = new FilterQueryBuilder($framework, new Connection([], new Driver())); - $config = new FilterConfig($framework, new FilterSession($framework, new Session($session)), $queryBuilder); + $config = new FilterConfig($framework, new FilterSession($framework, new Session($session)), $queryBuilder); $this->container->setParameter('huh.filter', [ 'filter' => [ 'types' => [ [ - 'name' => 'date', + 'name' => 'date', 'class' => DateType::class, - 'type' => 'date', - ] - ] - ] + 'type' => 'date', + ], + ], + ], ]); $GLOBALS['TL_DCA']['tl_test']['fields']['start'] = [ 'inputType' => 'text', - 'label' => ['start', ''], - 'eval' => ['rgxp' => 'date', 'datepicker' => true, 'tl_class' => 'w50 wizard'] + 'label' => ['start', ''], + 'eval' => ['rgxp' => 'date', 'datepicker' => true, 'tl_class' => 'w50 wizard'], ]; $this->container->set('huh.utils.database', new DatabaseUtil($framework)); @@ -535,15 +532,14 @@ public function testBuildQueryWithDataBeyondMinDateTime() $filter = ['name' => 'test', 'dataContainer' => 'tl_test']; - $start = new FilterConfigElementModel(); - $start->id = 2; - $start->type = 'date'; - $start->name = 'start'; - $start->field = 'start'; + $start = new FilterConfigElementModel(); + $start->id = 2; + $start->type = 'date'; + $start->name = 'start'; + $start->field = 'start'; $start->minDate = '{{date::d.m.Y}}'; $start->maxDate = '12.12.2100'; - $config->init('test', $filter, [$start]); $config->setData(['start' => '01.01.1981']); $config->initQueryBuilder(); @@ -552,37 +548,37 @@ public function testBuildQueryWithDataBeyondMinDateTime() $this->assertNotEmpty($config->getQueryBuilder()->getParameters()); $this->assertNotEmpty($config->getQueryBuilder()->getQueryPart('where')); - $this->assertEquals('SELECT FROM tl_test WHERE (:start <= tl_test.start) AND (:stop >= tl_test.start)', $config->getQueryBuilder()->getSQL()); - $this->assertEquals([':start' => $minDate, ':stop' => $minDate], $config->getQueryBuilder()->getParameters()); + $this->assertSame('SELECT FROM tl_test WHERE (:start <= tl_test.start) AND (:stop >= tl_test.start)', $config->getQueryBuilder()->getSQL()); + $this->assertSame([':start' => $minDate, ':stop' => $minDate], $config->getQueryBuilder()->getParameters()); } /** - * Test buildQuery() with data beyond max date time + * Test buildQuery() with data beyond max date time. */ public function testBuildQueryWithDataBeyondMaxDateTime() { $framework = $this->mockContaoFramework(); - $session = new MockArraySessionStorage(); + $session = new MockArraySessionStorage(); $queryBuilder = new FilterQueryBuilder($framework, new Connection([], new Driver())); - $config = new FilterConfig($framework, new FilterSession($framework, new Session($session)), $queryBuilder); + $config = new FilterConfig($framework, new FilterSession($framework, new Session($session)), $queryBuilder); $this->container->setParameter('huh.filter', [ 'filter' => [ 'types' => [ [ - 'name' => 'date', + 'name' => 'date', 'class' => DateType::class, - 'type' => 'date', - ] - ] - ] + 'type' => 'date', + ], + ], + ], ]); $GLOBALS['TL_DCA']['tl_test']['fields']['start'] = [ 'inputType' => 'text', - 'label' => ['start', ''], - 'eval' => ['rgxp' => 'date', 'datepicker' => true, 'tl_class' => 'w50 wizard'] + 'label' => ['start', ''], + 'eval' => ['rgxp' => 'date', 'datepicker' => true, 'tl_class' => 'w50 wizard'], ]; $this->container->set('huh.utils.database', new DatabaseUtil($framework)); @@ -592,15 +588,14 @@ public function testBuildQueryWithDataBeyondMaxDateTime() $filter = ['name' => 'test', 'dataContainer' => 'tl_test']; - $start = new FilterConfigElementModel(); - $start->id = 2; - $start->type = 'date'; - $start->name = 'start'; - $start->field = 'start'; + $start = new FilterConfigElementModel(); + $start->id = 2; + $start->type = 'date'; + $start->name = 'start'; + $start->field = 'start'; $start->minDate = '{{date::d.m.Y}}'; $start->maxDate = '12.12.2100'; - $config->init('test', $filter, [$start]); $config->setData(['start' => '12.12.2101']); $config->initQueryBuilder(); @@ -609,37 +604,37 @@ public function testBuildQueryWithDataBeyondMaxDateTime() $this->assertNotEmpty($config->getQueryBuilder()->getParameters()); $this->assertNotEmpty($config->getQueryBuilder()->getQueryPart('where')); - $this->assertEquals('SELECT FROM tl_test WHERE (:start <= tl_test.start) AND (:stop >= tl_test.start)', $config->getQueryBuilder()->getSQL()); - $this->assertEquals([':start' => $maxDate, ':stop' => $maxDate], $config->getQueryBuilder()->getParameters()); + $this->assertSame('SELECT FROM tl_test WHERE (:start <= tl_test.start) AND (:stop >= tl_test.start)', $config->getQueryBuilder()->getSQL()); + $this->assertSame([':start' => $maxDate, ':stop' => $maxDate], $config->getQueryBuilder()->getParameters()); } /** - * Test buildQuery() with initial data + * Test buildQuery() with initial data. */ public function testBuildQueryInitial() { $framework = $this->mockContaoFramework(); - $session = new MockArraySessionStorage(); + $session = new MockArraySessionStorage(); $queryBuilder = new FilterQueryBuilder($framework, new Connection([], new Driver())); - $config = new FilterConfig($framework, new FilterSession($framework, new Session($session)), $queryBuilder); + $config = new FilterConfig($framework, new FilterSession($framework, new Session($session)), $queryBuilder); $this->container->setParameter('huh.filter', [ 'filter' => [ 'types' => [ [ - 'name' => 'date', + 'name' => 'date', 'class' => DateType::class, - 'type' => 'date', - ] - ] - ] + 'type' => 'date', + ], + ], + ], ]); $GLOBALS['TL_DCA']['tl_test']['fields']['start'] = [ 'inputType' => 'text', - 'label' => ['start', ''], - 'eval' => ['rgxp' => 'date', 'datepicker' => true, 'tl_class' => 'w50 wizard'] + 'label' => ['start', ''], + 'eval' => ['rgxp' => 'date', 'datepicker' => true, 'tl_class' => 'w50 wizard'], ]; $this->container->set('huh.utils.database', new DatabaseUtil($framework)); @@ -649,14 +644,14 @@ public function testBuildQueryInitial() $filter = ['name' => 'test', 'dataContainer' => 'tl_test']; - $start = new FilterConfigElementModel(); - $start->id = 2; - $start->type = 'date'; - $start->name = 'start'; - $start->field = 'start'; - $start->minDate = '{{date::d.m.Y}}'; - $start->maxDate = '12.12.2100'; - $start->isInitial = true; + $start = new FilterConfigElementModel(); + $start->id = 2; + $start->type = 'date'; + $start->name = 'start'; + $start->field = 'start'; + $start->minDate = '{{date::d.m.Y}}'; + $start->maxDate = '12.12.2100'; + $start->isInitial = true; $start->initialValue = '12.12.2095'; $config->init('test', $filter, [$start]); @@ -667,37 +662,37 @@ public function testBuildQueryInitial() $this->assertNotEmpty($config->getQueryBuilder()->getParameters()); $this->assertNotEmpty($config->getQueryBuilder()->getQueryPart('where')); - $this->assertEquals('SELECT FROM tl_test WHERE (:start <= tl_test.start) AND (:stop >= tl_test.start)', $config->getQueryBuilder()->getSQL()); - $this->assertEquals([':start' => $value, ':stop' => $value], $config->getQueryBuilder()->getParameters()); + $this->assertSame('SELECT FROM tl_test WHERE (:start <= tl_test.start) AND (:stop >= tl_test.start)', $config->getQueryBuilder()->getSQL()); + $this->assertSame([':start' => $value, ':stop' => $value], $config->getQueryBuilder()->getParameters()); } /** - * Test buildQuery() + * Test buildQuery(). */ public function testBuildQuery() { $framework = $this->mockContaoFramework(); - $session = new MockArraySessionStorage(); + $session = new MockArraySessionStorage(); $queryBuilder = new FilterQueryBuilder($framework, new Connection([], new Driver())); - $config = new FilterConfig($framework, new FilterSession($framework, new Session($session)), $queryBuilder); + $config = new FilterConfig($framework, new FilterSession($framework, new Session($session)), $queryBuilder); $this->container->setParameter('huh.filter', [ 'filter' => [ 'types' => [ [ - 'name' => 'date', + 'name' => 'date', 'class' => DateType::class, - 'type' => 'date', - ] - ] - ] + 'type' => 'date', + ], + ], + ], ]); $GLOBALS['TL_DCA']['tl_test']['fields']['start'] = [ 'inputType' => 'text', - 'label' => ['start', ''], - 'eval' => ['rgxp' => 'date', 'datepicker' => true, 'tl_class' => 'w50 wizard'] + 'label' => ['start', ''], + 'eval' => ['rgxp' => 'date', 'datepicker' => true, 'tl_class' => 'w50 wizard'], ]; $this->container->set('huh.utils.database', new DatabaseUtil($framework)); @@ -707,15 +702,14 @@ public function testBuildQuery() $filter = ['name' => 'test', 'dataContainer' => 'tl_test']; - $start = new FilterConfigElementModel(); - $start->id = 2; - $start->type = 'date'; - $start->name = 'start'; - $start->field = 'start'; + $start = new FilterConfigElementModel(); + $start->id = 2; + $start->type = 'date'; + $start->name = 'start'; + $start->field = 'start'; $start->minDate = '{{date::d.m.Y}}'; $start->maxDate = '12.12.2100'; - $config->init('test', $filter, [$start]); $config->setData(['start' => '12.12.2099']); $config->initQueryBuilder(); @@ -724,8 +718,8 @@ public function testBuildQuery() $this->assertNotEmpty($config->getQueryBuilder()->getParameters()); $this->assertNotEmpty($config->getQueryBuilder()->getQueryPart('where')); - $this->assertEquals('SELECT FROM tl_test WHERE (:start <= tl_test.start) AND (:stop >= tl_test.start)', $config->getQueryBuilder()->getSQL()); - $this->assertEquals([':start' => $value, ':stop' => $value], $config->getQueryBuilder()->getParameters()); + $this->assertSame('SELECT FROM tl_test WHERE (:start <= tl_test.start) AND (:stop >= tl_test.start)', $config->getQueryBuilder()->getSQL()); + $this->assertSame([':start' => $value, ':stop' => $value], $config->getQueryBuilder()->getParameters()); } /** @@ -733,6 +727,6 @@ public function testBuildQuery() */ protected function getFixturesDir(): string { - return __DIR__ . DIRECTORY_SEPARATOR . '../..' . DIRECTORY_SEPARATOR . 'Fixtures'; + return __DIR__.DIRECTORY_SEPARATOR.'../..'.DIRECTORY_SEPARATOR.'Fixtures'; } } diff --git a/tests/Filter/Type/EmailTypeTest.php b/tests/Filter/Type/EmailTypeTest.php index 4869eb5..51e8736 100644 --- a/tests/Filter/Type/EmailTypeTest.php +++ b/tests/Filter/Type/EmailTypeTest.php @@ -17,8 +17,8 @@ use HeimrichHannot\FilterBundle\Config\FilterConfig; use HeimrichHannot\FilterBundle\Filter\Type\EmailType; use HeimrichHannot\FilterBundle\Model\FilterConfigElementModel; -use HeimrichHannot\FilterBundle\Session\FilterSession; use HeimrichHannot\FilterBundle\QueryBuilder\FilterQueryBuilder; +use HeimrichHannot\FilterBundle\Session\FilterSession; use HeimrichHannot\UtilsBundle\Database\DatabaseUtil; use Symfony\Component\DependencyInjection\ContainerBuilder; use Symfony\Component\HttpFoundation\Request; @@ -41,7 +41,6 @@ class EmailTypeTest extends ContaoTestCase */ private $kernel; - protected function setUp() { parent::setUp(); @@ -50,37 +49,35 @@ protected function setUp() \define('TL_ROOT', $this->getFixturesDir()); } - $GLOBALS['TL_LANGUAGE'] = 'en'; + $GLOBALS['TL_LANGUAGE'] = 'en'; $GLOBALS['TL_LANG']['MSC'] = ['test' => 'bar']; $GLOBALS['TL_DCA']['tl_test'] = [ 'config' => [ 'dataContainer' => 'Table', - 'sql' => [ + 'sql' => [ 'keys' => [ ], ], ], 'fields' => [ - - ] + ], ]; $GLOBALS['TL_DCA']['tl_filter_config_element'] = [ 'config' => [ 'dataContainer' => 'Table', - 'sql' => [ + 'sql' => [ 'keys' => [ ], ], ], 'fields' => [ - - ] + ], ]; $finder = new ResourceFinder([ - $this->getFixturesDir() . '/vendor/contao/core-bundle/Resources/contao', + $this->getFixturesDir().'/vendor/contao/core-bundle/Resources/contao', ]); $this->container = $this->mockContainer(); @@ -116,10 +113,10 @@ public function testCanBeInstantiated() System::setContainer($this->container); $framework = $this->mockContaoFramework(); - $session = new MockArraySessionStorage(); + $session = new MockArraySessionStorage(); $queryBuilder = new FilterQueryBuilder($framework, new Connection([], new Driver())); - $config = new FilterConfig($framework, new FilterSession($framework, new Session($session)), $queryBuilder); + $config = new FilterConfig($framework, new FilterSession($framework, new Session($session)), $queryBuilder); $type = new EmailType($config); @@ -127,45 +124,45 @@ public function testCanBeInstantiated() } /** - * Test getDefaultOperator() + * Test getDefaultOperator(). */ public function testGetDefaultOperator() { $framework = $this->mockContaoFramework(); - $session = new MockArraySessionStorage(); + $session = new MockArraySessionStorage(); $queryBuilder = new FilterQueryBuilder($framework, new Connection([], new Driver())); - $config = new FilterConfig($framework, new FilterSession($framework, new Session($session)), $queryBuilder); + $config = new FilterConfig($framework, new FilterSession($framework, new Session($session)), $queryBuilder); /** @var FilterConfigElementModel $element */ $element = $this->mockClassWithProperties(FilterConfigElementModel::class, []); $type = new EmailType($config); - $this->assertEquals(DatabaseUtil::OPERATOR_LIKE, $type->getDefaultOperator($element)); + $this->assertSame(DatabaseUtil::OPERATOR_LIKE, $type->getDefaultOperator($element)); } /** - * Test buildForm() with field name + * Test buildForm() with field name. */ public function testBuildFormWithFieldName() { $framework = $this->mockContaoFramework(); - $session = new MockArraySessionStorage(); + $session = new MockArraySessionStorage(); $queryBuilder = new FilterQueryBuilder($framework, new Connection([], new Driver())); - $config = new FilterConfig($framework, new FilterSession($framework, new Session($session)), $queryBuilder); + $config = new FilterConfig($framework, new FilterSession($framework, new Session($session)), $queryBuilder); $this->container->setParameter('huh.filter', [ 'filter' => [ 'types' => [ [ - 'name' => 'email', + 'name' => 'email', 'class' => EmailType::class, - 'type' => 'text' - ] - ] - ] + 'type' => 'text', + ], + ], + ], ]); $this->container->set('huh.filter.choice.type', new TypeChoice($framework)); @@ -173,14 +170,14 @@ public function testBuildFormWithFieldName() $filter = ['name' => 'test', 'dataContainer' => 'tl_test']; - $element = new FilterConfigElementModel(); - $element->type = 'email'; + $element = new FilterConfigElementModel(); + $element->type = 'email'; $element->field = 'test'; $config->init('test', $filter, [$element]); $config->buildForm(); - $this->assertEquals(3, $config->getBuilder()->count()); // f_id and f_ref element always exists + $this->assertSame(3, $config->getBuilder()->count()); // f_id and f_ref element always exists $this->assertTrue($config->getBuilder()->has('test')); $this->assertInstanceOf(\Symfony\Component\Form\Extension\Core\Type\EmailType::class, $config->getBuilder()->get('test')->getType()->getInnerType()); } @@ -190,6 +187,6 @@ public function testBuildFormWithFieldName() */ protected function getFixturesDir(): string { - return __DIR__ . DIRECTORY_SEPARATOR . '../..' . DIRECTORY_SEPARATOR . 'Fixtures'; + return __DIR__.DIRECTORY_SEPARATOR.'../..'.DIRECTORY_SEPARATOR.'Fixtures'; } } diff --git a/tests/Filter/Type/HiddenTypeTest.php b/tests/Filter/Type/HiddenTypeTest.php index c64e8a6..3c84725 100644 --- a/tests/Filter/Type/HiddenTypeTest.php +++ b/tests/Filter/Type/HiddenTypeTest.php @@ -17,8 +17,8 @@ use HeimrichHannot\FilterBundle\Config\FilterConfig; use HeimrichHannot\FilterBundle\Filter\Type\HiddenType; use HeimrichHannot\FilterBundle\Model\FilterConfigElementModel; -use HeimrichHannot\FilterBundle\Session\FilterSession; use HeimrichHannot\FilterBundle\QueryBuilder\FilterQueryBuilder; +use HeimrichHannot\FilterBundle\Session\FilterSession; use HeimrichHannot\UtilsBundle\Database\DatabaseUtil; use Symfony\Component\DependencyInjection\ContainerBuilder; use Symfony\Component\HttpFoundation\Request; @@ -41,7 +41,6 @@ class HiddenTypeTest extends ContaoTestCase */ private $kernel; - protected function setUp() { parent::setUp(); @@ -50,37 +49,35 @@ protected function setUp() \define('TL_ROOT', $this->getFixturesDir()); } - $GLOBALS['TL_LANGUAGE'] = 'en'; + $GLOBALS['TL_LANGUAGE'] = 'en'; $GLOBALS['TL_LANG']['MSC'] = ['test' => 'bar']; $GLOBALS['TL_DCA']['tl_test'] = [ 'config' => [ 'dataContainer' => 'Table', - 'sql' => [ + 'sql' => [ 'keys' => [ ], ], ], 'fields' => [ - - ] + ], ]; $GLOBALS['TL_DCA']['tl_filter_config_element'] = [ 'config' => [ 'dataContainer' => 'Table', - 'sql' => [ + 'sql' => [ 'keys' => [ ], ], ], 'fields' => [ - - ] + ], ]; $finder = new ResourceFinder([ - $this->getFixturesDir() . '/vendor/contao/core-bundle/Resources/contao', + $this->getFixturesDir().'/vendor/contao/core-bundle/Resources/contao', ]); $this->container = $this->mockContainer(); @@ -116,10 +113,10 @@ public function testCanBeInstantiated() System::setContainer($this->container); $framework = $this->mockContaoFramework(); - $session = new MockArraySessionStorage(); + $session = new MockArraySessionStorage(); $queryBuilder = new FilterQueryBuilder($framework, new Connection([], new Driver())); - $config = new FilterConfig($framework, new FilterSession($framework, new Session($session)), $queryBuilder); + $config = new FilterConfig($framework, new FilterSession($framework, new Session($session)), $queryBuilder); $type = new HiddenType($config); @@ -127,45 +124,45 @@ public function testCanBeInstantiated() } /** - * Test getDefaultOperator() + * Test getDefaultOperator(). */ public function testGetDefaultOperator() { $framework = $this->mockContaoFramework(); - $session = new MockArraySessionStorage(); + $session = new MockArraySessionStorage(); $queryBuilder = new FilterQueryBuilder($framework, new Connection([], new Driver())); - $config = new FilterConfig($framework, new FilterSession($framework, new Session($session)), $queryBuilder); + $config = new FilterConfig($framework, new FilterSession($framework, new Session($session)), $queryBuilder); /** @var FilterConfigElementModel $element */ $element = $this->mockClassWithProperties(FilterConfigElementModel::class, []); $type = new HiddenType($config); - $this->assertEquals(DatabaseUtil::OPERATOR_EQUAL, $type->getDefaultOperator($element)); + $this->assertSame(DatabaseUtil::OPERATOR_EQUAL, $type->getDefaultOperator($element)); } /** - * Test buildForm() with field name + * Test buildForm() with field name. */ public function testBuildFormWithFieldName() { $framework = $this->mockContaoFramework(); - $session = new MockArraySessionStorage(); + $session = new MockArraySessionStorage(); $queryBuilder = new FilterQueryBuilder($framework, new Connection([], new Driver())); - $config = new FilterConfig($framework, new FilterSession($framework, new Session($session)), $queryBuilder); + $config = new FilterConfig($framework, new FilterSession($framework, new Session($session)), $queryBuilder); $this->container->setParameter('huh.filter', [ 'filter' => [ 'types' => [ [ - 'name' => 'hidden', + 'name' => 'hidden', 'class' => HiddenType::class, - 'type' => 'other' - ] - ] - ] + 'type' => 'other', + ], + ], + ], ]); $this->container->set('huh.filter.choice.type', new TypeChoice($framework)); @@ -173,39 +170,39 @@ public function testBuildFormWithFieldName() $filter = ['name' => 'test', 'dataContainer' => 'tl_test']; - $element = new FilterConfigElementModel(); - $element->type = 'hidden'; + $element = new FilterConfigElementModel(); + $element->type = 'hidden'; $element->field = 'test'; $config->init('test', $filter, [$element]); $config->buildForm(); - $this->assertEquals(3, $config->getBuilder()->count()); // f_id and f_ref element always exists + $this->assertSame(3, $config->getBuilder()->count()); // f_id and f_ref element always exists $this->assertTrue($config->getBuilder()->has('test')); $this->assertInstanceOf(\Symfony\Component\Form\Extension\Core\Type\HiddenType::class, $config->getBuilder()->get('test')->getType()->getInnerType()); } /** - * Test buildQuery() + * Test buildQuery(). */ public function testBuildQuery() { $framework = $this->mockContaoFramework(); - $session = new MockArraySessionStorage(); + $session = new MockArraySessionStorage(); $queryBuilder = new FilterQueryBuilder($framework, new Connection([], new Driver())); - $config = new FilterConfig($framework, new FilterSession($framework, new Session($session)), $queryBuilder); + $config = new FilterConfig($framework, new FilterSession($framework, new Session($session)), $queryBuilder); $this->container->setParameter('huh.filter', [ 'filter' => [ 'types' => [ [ - 'name' => 'hidden', + 'name' => 'hidden', 'class' => HiddenType::class, - 'type' => 'other' - ] - ] - ] + 'type' => 'other', + ], + ], + ], ]); $GLOBALS['TL_DCA']['tl_test']['fields']['test'] = [ @@ -222,9 +219,9 @@ public function testBuildQuery() $errorReporting = error_reporting(); error_reporting($errorReporting & ~E_NOTICE); - $element = new FilterConfigElementModel(); - $element->id = 2; - $element->type = 'hidden'; + $element = new FilterConfigElementModel(); + $element->id = 2; + $element->type = 'hidden'; $element->field = 'test'; $config->init('test', $filter, [$element]); @@ -233,8 +230,8 @@ public function testBuildQuery() $this->assertNotEmpty($config->getQueryBuilder()->getParameters()); $this->assertNotEmpty($config->getQueryBuilder()->getQueryPart('where')); - $this->assertEquals('SELECT FROM tl_test WHERE test = :test', $config->getQueryBuilder()->getSQL()); - $this->assertEquals([':test' => '1'], $config->getQueryBuilder()->getParameters()); + $this->assertSame('SELECT FROM tl_test WHERE test = :test', $config->getQueryBuilder()->getSQL()); + $this->assertSame([':test' => '1'], $config->getQueryBuilder()->getParameters()); } /** @@ -242,6 +239,6 @@ public function testBuildQuery() */ protected function getFixturesDir(): string { - return __DIR__ . DIRECTORY_SEPARATOR . '../..' . DIRECTORY_SEPARATOR . 'Fixtures'; + return __DIR__.DIRECTORY_SEPARATOR.'../..'.DIRECTORY_SEPARATOR.'Fixtures'; } } diff --git a/tests/Filter/Type/IllegalTypeClass.php b/tests/Filter/Type/IllegalTypeClass.php index 025eacc..4b85143 100644 --- a/tests/Filter/Type/IllegalTypeClass.php +++ b/tests/Filter/Type/IllegalTypeClass.php @@ -1,15 +1,13 @@ - * @license http://www.gnu.org/licences/lgpl-3.0.html LGPL + * @license LGPL-3.0-or-later */ namespace HeimrichHannot\FilterBundle\Test\Filter\Type; - class IllegalTypeClass { - -} \ No newline at end of file +} diff --git a/tests/Filter/Type/IntegerTypeTest.php b/tests/Filter/Type/IntegerTypeTest.php index 2bc641c..d95bc75 100644 --- a/tests/Filter/Type/IntegerTypeTest.php +++ b/tests/Filter/Type/IntegerTypeTest.php @@ -17,8 +17,8 @@ use HeimrichHannot\FilterBundle\Config\FilterConfig; use HeimrichHannot\FilterBundle\Filter\Type\IntegerType; use HeimrichHannot\FilterBundle\Model\FilterConfigElementModel; -use HeimrichHannot\FilterBundle\Session\FilterSession; use HeimrichHannot\FilterBundle\QueryBuilder\FilterQueryBuilder; +use HeimrichHannot\FilterBundle\Session\FilterSession; use HeimrichHannot\UtilsBundle\Database\DatabaseUtil; use Symfony\Component\DependencyInjection\ContainerBuilder; use Symfony\Component\HttpFoundation\Request; @@ -41,7 +41,6 @@ class IntegerTypeTest extends ContaoTestCase */ private $kernel; - protected function setUp() { parent::setUp(); @@ -50,37 +49,35 @@ protected function setUp() \define('TL_ROOT', $this->getFixturesDir()); } - $GLOBALS['TL_LANGUAGE'] = 'en'; + $GLOBALS['TL_LANGUAGE'] = 'en'; $GLOBALS['TL_LANG']['MSC'] = ['test' => 'bar']; $GLOBALS['TL_DCA']['tl_test'] = [ 'config' => [ 'dataContainer' => 'Table', - 'sql' => [ + 'sql' => [ 'keys' => [ ], ], ], 'fields' => [ - - ] + ], ]; $GLOBALS['TL_DCA']['tl_filter_config_element'] = [ 'config' => [ 'dataContainer' => 'Table', - 'sql' => [ + 'sql' => [ 'keys' => [ ], ], ], 'fields' => [ - - ] + ], ]; $finder = new ResourceFinder([ - $this->getFixturesDir() . '/vendor/contao/core-bundle/Resources/contao', + $this->getFixturesDir().'/vendor/contao/core-bundle/Resources/contao', ]); $this->container = $this->mockContainer(); @@ -116,10 +113,10 @@ public function testCanBeInstantiated() System::setContainer($this->container); $framework = $this->mockContaoFramework(); - $session = new MockArraySessionStorage(); + $session = new MockArraySessionStorage(); $queryBuilder = new FilterQueryBuilder($framework, new Connection([], new Driver())); - $config = new FilterConfig($framework, new FilterSession($framework, new Session($session)), $queryBuilder); + $config = new FilterConfig($framework, new FilterSession($framework, new Session($session)), $queryBuilder); $type = new IntegerType($config); @@ -127,45 +124,45 @@ public function testCanBeInstantiated() } /** - * Test getDefaultOperator() + * Test getDefaultOperator(). */ public function testGetDefaultOperator() { $framework = $this->mockContaoFramework(); - $session = new MockArraySessionStorage(); + $session = new MockArraySessionStorage(); $queryBuilder = new FilterQueryBuilder($framework, new Connection([], new Driver())); - $config = new FilterConfig($framework, new FilterSession($framework, new Session($session)), $queryBuilder); + $config = new FilterConfig($framework, new FilterSession($framework, new Session($session)), $queryBuilder); /** @var FilterConfigElementModel $element */ $element = $this->mockClassWithProperties(FilterConfigElementModel::class, []); $type = new IntegerType($config); - $this->assertEquals(DatabaseUtil::OPERATOR_EQUAL, $type->getDefaultOperator($element)); + $this->assertSame(DatabaseUtil::OPERATOR_EQUAL, $type->getDefaultOperator($element)); } /** - * Test buildForm() with field name + * Test buildForm() with field name. */ public function testBuildFormWithFieldName() { $framework = $this->mockContaoFramework(); - $session = new MockArraySessionStorage(); + $session = new MockArraySessionStorage(); $queryBuilder = new FilterQueryBuilder($framework, new Connection([], new Driver())); - $config = new FilterConfig($framework, new FilterSession($framework, new Session($session)), $queryBuilder); + $config = new FilterConfig($framework, new FilterSession($framework, new Session($session)), $queryBuilder); $this->container->setParameter('huh.filter', [ 'filter' => [ 'types' => [ [ - 'name' => 'integer', + 'name' => 'integer', 'class' => IntegerType::class, - 'type' => 'text' - ] - ] - ] + 'type' => 'text', + ], + ], + ], ]); $this->container->set('huh.filter.choice.type', new TypeChoice($framework)); @@ -173,14 +170,14 @@ public function testBuildFormWithFieldName() $filter = ['name' => 'test', 'dataContainer' => 'tl_test']; - $element = new FilterConfigElementModel(); - $element->type = 'integer'; + $element = new FilterConfigElementModel(); + $element->type = 'integer'; $element->field = 'test'; $config->init('test', $filter, [$element]); $config->buildForm(); - $this->assertEquals(3, $config->getBuilder()->count()); // f_id and f_ref element always exists + $this->assertSame(3, $config->getBuilder()->count()); // f_id and f_ref element always exists $this->assertTrue($config->getBuilder()->has('test')); $this->assertInstanceOf(\Symfony\Component\Form\Extension\Core\Type\IntegerType::class, $config->getBuilder()->get('test')->getType()->getInnerType()); } @@ -190,6 +187,6 @@ public function testBuildFormWithFieldName() */ protected function getFixturesDir(): string { - return __DIR__ . DIRECTORY_SEPARATOR . '../..' . DIRECTORY_SEPARATOR . 'Fixtures'; + return __DIR__.DIRECTORY_SEPARATOR.'../..'.DIRECTORY_SEPARATOR.'Fixtures'; } } diff --git a/tests/Filter/Type/LanguageTypeTest.php b/tests/Filter/Type/LanguageTypeTest.php index 310c3d6..e38c87e 100644 --- a/tests/Filter/Type/LanguageTypeTest.php +++ b/tests/Filter/Type/LanguageTypeTest.php @@ -13,15 +13,14 @@ use Contao\TestCase\ContaoTestCase; use Doctrine\DBAL\Connection; use Doctrine\DBAL\Driver\Mysqli\Driver; -use HeimrichHannot\FilterBundle\Choice\CountryChoice; use HeimrichHannot\FilterBundle\Choice\FieldOptionsChoice; use HeimrichHannot\FilterBundle\Choice\LanguageChoice; use HeimrichHannot\FilterBundle\Choice\TypeChoice; use HeimrichHannot\FilterBundle\Config\FilterConfig; use HeimrichHannot\FilterBundle\Filter\Type\LanguageType; use HeimrichHannot\FilterBundle\Model\FilterConfigElementModel; -use HeimrichHannot\FilterBundle\Session\FilterSession; use HeimrichHannot\FilterBundle\QueryBuilder\FilterQueryBuilder; +use HeimrichHannot\FilterBundle\Session\FilterSession; use HeimrichHannot\UtilsBundle\Database\DatabaseUtil; use Symfony\Component\DependencyInjection\ContainerBuilder; use Symfony\Component\HttpFoundation\Request; @@ -44,7 +43,6 @@ class LanguageTypeTest extends ContaoTestCase */ private $kernel; - protected function setUp() { parent::setUp(); @@ -53,37 +51,35 @@ protected function setUp() \define('TL_ROOT', $this->getFixturesDir()); } - $GLOBALS['TL_LANGUAGE'] = 'en'; + $GLOBALS['TL_LANGUAGE'] = 'en'; $GLOBALS['TL_LANG']['MSC'] = ['test' => 'bar']; $GLOBALS['TL_DCA']['tl_test'] = [ 'config' => [ 'dataContainer' => 'Table', - 'sql' => [ + 'sql' => [ 'keys' => [ ], ], ], 'fields' => [ - - ] + ], ]; $GLOBALS['TL_DCA']['tl_filter_config_element'] = [ 'config' => [ 'dataContainer' => 'Table', - 'sql' => [ + 'sql' => [ 'keys' => [ ], ], ], 'fields' => [ - - ] + ], ]; $finder = new ResourceFinder([ - $this->getFixturesDir() . '/vendor/contao/core-bundle/Resources/contao', + $this->getFixturesDir().'/vendor/contao/core-bundle/Resources/contao', ]); $this->container = $this->mockContainer(); @@ -119,10 +115,10 @@ public function testCanBeInstantiated() System::setContainer($this->container); $framework = $this->mockContaoFramework(); - $session = new MockArraySessionStorage(); + $session = new MockArraySessionStorage(); $queryBuilder = new FilterQueryBuilder($framework, new Connection([], new Driver())); - $config = new FilterConfig($framework, new FilterSession($framework, new Session($session)), $queryBuilder); + $config = new FilterConfig($framework, new FilterSession($framework, new Session($session)), $queryBuilder); $type = new LanguageType($config); @@ -130,36 +126,36 @@ public function testCanBeInstantiated() } /** - * Test getDefaultOperator() + * Test getDefaultOperator(). */ public function testGetDefaultOperator() { $framework = $this->mockContaoFramework(); - $session = new MockArraySessionStorage(); + $session = new MockArraySessionStorage(); $queryBuilder = new FilterQueryBuilder($framework, new Connection([], new Driver())); - $config = new FilterConfig($framework, new FilterSession($framework, new Session($session)), $queryBuilder); + $config = new FilterConfig($framework, new FilterSession($framework, new Session($session)), $queryBuilder); /** @var FilterConfigElementModel $element */ $element = $this->mockClassWithProperties(FilterConfigElementModel::class, []); $type = new LanguageType($config); - $this->assertEquals(DatabaseUtil::OPERATOR_EQUAL, $type->getDefaultOperator($element)); + $this->assertSame(DatabaseUtil::OPERATOR_EQUAL, $type->getDefaultOperator($element)); } /** - * Test getDefaultName() + * Test getDefaultName(). */ public function testGetDefaultName() { $framework = $this->mockContaoFramework(); - $session = new MockArraySessionStorage(); + $session = new MockArraySessionStorage(); $queryBuilder = new FilterQueryBuilder($framework, new Connection([], new Driver())); - $config = new FilterConfig($framework, new FilterSession($framework, new Session($session)), $queryBuilder); + $config = new FilterConfig($framework, new FilterSession($framework, new Session($session)), $queryBuilder); - $range = new FilterConfigElementModel(); + $range = new FilterConfigElementModel(); $range->name = 'test'; $type = new LanguageType($config); @@ -168,17 +164,17 @@ public function testGetDefaultName() } /** - * Test getDefaultName() + * Test getDefaultName(). */ public function testGetChoices() { $framework = $this->mockContaoFramework(); - $session = new MockArraySessionStorage(); + $session = new MockArraySessionStorage(); $queryBuilder = new FilterQueryBuilder($framework, new Connection([], new Driver())); - $config = new FilterConfig($framework, new FilterSession($framework, new Session($session)), $queryBuilder); + $config = new FilterConfig($framework, new FilterSession($framework, new Session($session)), $queryBuilder); - $element = new FilterConfigElementModel(); + $element = new FilterConfigElementModel(); $element->type = 'choice'; $filter = ['name' => 'test', 'dataContainer' => 'tl_test']; @@ -195,26 +191,26 @@ public function testGetChoices() } /** - * Test buildForm() without name + * Test buildForm() without name. */ public function testBuildFormWithoutName() { $framework = $this->mockContaoFramework(); - $session = new MockArraySessionStorage(); + $session = new MockArraySessionStorage(); $queryBuilder = new FilterQueryBuilder($framework, new Connection([], new Driver())); - $config = new FilterConfig($framework, new FilterSession($framework, new Session($session)), $queryBuilder); + $config = new FilterConfig($framework, new FilterSession($framework, new Session($session)), $queryBuilder); $this->container->setParameter('huh.filter', [ 'filter' => [ 'types' => [ [ - 'name' => 'language', + 'name' => 'language', 'class' => LanguageType::class, - 'type' => 'choice' - ] - ] - ] + 'type' => 'choice', + ], + ], + ], ]); $this->container->set('huh.filter.choice.type', new TypeChoice($framework)); @@ -222,36 +218,36 @@ public function testBuildFormWithoutName() $filter = ['name' => 'test', 'dataContainer' => 'tl_test']; - $element = new FilterConfigElementModel(); + $element = new FilterConfigElementModel(); $element->type = 'language'; $config->init('test', $filter, [$element]); $config->buildForm(); - $this->assertEquals(2, $config->getBuilder()->count()); // f_id and f_ref element always exists + $this->assertSame(2, $config->getBuilder()->count()); // f_id and f_ref element always exists } /** - * Test buildForm() with field name + * Test buildForm() with field name. */ public function testBuildFormWithFieldName() { $framework = $this->mockContaoFramework(); - $session = new MockArraySessionStorage(); + $session = new MockArraySessionStorage(); $queryBuilder = new FilterQueryBuilder($framework, new Connection([], new Driver())); - $config = new FilterConfig($framework, new FilterSession($framework, new Session($session)), $queryBuilder); + $config = new FilterConfig($framework, new FilterSession($framework, new Session($session)), $queryBuilder); $this->container->setParameter('huh.filter', [ 'filter' => [ 'types' => [ [ - 'name' => 'language', + 'name' => 'language', 'class' => LanguageType::class, - 'type' => 'choice' - ] - ] - ] + 'type' => 'choice', + ], + ], + ], ]); $this->container->set('huh.filter.choice.type', new TypeChoice($framework)); @@ -260,43 +256,43 @@ public function testBuildFormWithFieldName() $filter = ['name' => 'test', 'dataContainer' => 'tl_test']; - $element = new FilterConfigElementModel(); - $element->type = 'language'; - $element->field = 'test'; + $element = new FilterConfigElementModel(); + $element->type = 'language'; + $element->field = 'test'; $element->customLanguages = true; - $element->languages = ['de', 'en']; + $element->languages = ['de', 'en']; $config->init('test', $filter, [$element]); $config->buildForm(); - $this->assertEquals(3, $config->getBuilder()->count()); // f_id and f_ref element always exists + $this->assertSame(3, $config->getBuilder()->count()); // f_id and f_ref element always exists $this->assertTrue($config->getBuilder()->has('test')); $this->assertInstanceOf(\Symfony\Component\Form\Extension\Core\Type\LanguageType::class, $config->getBuilder()->get('test')->getType()->getInnerType()); $this->assertNotEmpty($config->getBuilder()->get('test')->getForm()->getConfig()->getOption('choices')); - $this->assertEquals(['German' => 'de', 'English' => 'en'], $config->getBuilder()->get('test')->getForm()->getConfig()->getOption('choices')); + $this->assertSame(['German' => 'de', 'English' => 'en'], $config->getBuilder()->get('test')->getForm()->getConfig()->getOption('choices')); } /** - * Test buildForm() with non array default values + * Test buildForm() with non array default values. */ public function testBuildFormWithNonArrayDefaultValues() { $framework = $this->mockContaoFramework(); - $session = new MockArraySessionStorage(); + $session = new MockArraySessionStorage(); $queryBuilder = new FilterQueryBuilder($framework, new Connection([], new Driver())); - $config = new FilterConfig($framework, new FilterSession($framework, new Session($session)), $queryBuilder); + $config = new FilterConfig($framework, new FilterSession($framework, new Session($session)), $queryBuilder); $this->container->setParameter('huh.filter', [ 'filter' => [ 'types' => [ [ - 'name' => 'language', + 'name' => 'language', 'class' => LanguageType::class, - 'type' => 'choice' - ] - ] - ] + 'type' => 'choice', + ], + ], + ], ]); $this->container->set('huh.filter.choice.type', new TypeChoice($framework)); @@ -304,44 +300,44 @@ public function testBuildFormWithNonArrayDefaultValues() $filter = ['name' => 'test', 'dataContainer' => 'tl_test']; - $element = new FilterConfigElementModel(); - $element->type = 'language'; - $element->field = 'test'; + $element = new FilterConfigElementModel(); + $element->type = 'language'; + $element->field = 'test'; $element->addDefaultValue = true; - $element->defaultValue = '123'; + $element->defaultValue = '123'; $element->addDefaultValue = true; - $element->multiple = true; + $element->multiple = true; $config->init('test', $filter, [$element]); $config->buildForm(); - $this->assertEquals(3, $config->getBuilder()->count()); // f_id and f_ref element always exists + $this->assertSame(3, $config->getBuilder()->count()); // f_id and f_ref element always exists $this->assertTrue($config->getBuilder()->has('test')); $this->assertInstanceOf(\Symfony\Component\Form\Extension\Core\Type\LanguageType::class, $config->getBuilder()->get('test')->getType()->getInnerType()); - $this->assertEquals(['123'], $config->getBuilder()->get('test')->getForm()->getConfig()->getOption('data')); + $this->assertSame(['123'], $config->getBuilder()->get('test')->getForm()->getConfig()->getOption('data')); } /** - * Test buildForm() with field name + * Test buildForm() with field name. */ public function testBuildFormWithPlaceholder() { $framework = $this->mockContaoFramework(); - $session = new MockArraySessionStorage(); + $session = new MockArraySessionStorage(); $queryBuilder = new FilterQueryBuilder($framework, new Connection([], new Driver())); - $config = new FilterConfig($framework, new FilterSession($framework, new Session($session)), $queryBuilder); + $config = new FilterConfig($framework, new FilterSession($framework, new Session($session)), $queryBuilder); $this->container->setParameter('huh.filter', [ 'filter' => [ 'types' => [ [ - 'name' => 'language', + 'name' => 'language', 'class' => LanguageType::class, - 'type' => 'choice' - ] - ] - ] + 'type' => 'choice', + ], + ], + ], ]); $this->container->set('huh.filter.choice.type', new TypeChoice($framework)); @@ -353,44 +349,44 @@ public function testBuildFormWithPlaceholder() $translator->getCatalogue()->add(['message.test_placholder' => 'test placeholder']); $this->container->set('translator', $translator); - $element = new FilterConfigElementModel(); - $element->type = 'language'; - $element->field = 'test'; + $element = new FilterConfigElementModel(); + $element->type = 'language'; + $element->field = 'test'; $element->addPlaceholder = true; - $element->placeholder = 'message.test_placholder'; + $element->placeholder = 'message.test_placholder'; $config->init('test', $filter, [$element]); $config->buildForm(); - $this->assertEquals(3, $config->getBuilder()->count()); // f_id and f_ref element always exists + $this->assertSame(3, $config->getBuilder()->count()); // f_id and f_ref element always exists $this->assertTrue($config->getBuilder()->has('test')); $this->assertInstanceOf(\Symfony\Component\Form\Extension\Core\Type\LanguageType::class, $config->getBuilder()->get('test')->getType()->getInnerType()); - $this->assertEquals('test placeholder', $config->getBuilder()->get('test')->getForm()->getConfig()->getOption('placeholder')); - $this->assertEquals('test placeholder', $config->getBuilder()->get('test')->getForm()->getConfig()->getOption('attr')['data-placeholder']); + $this->assertSame('test placeholder', $config->getBuilder()->get('test')->getForm()->getConfig()->getOption('placeholder')); + $this->assertSame('test placeholder', $config->getBuilder()->get('test')->getForm()->getConfig()->getOption('attr')['data-placeholder']); $this->assertArrayNotHasKey('placeholder', $config->getBuilder()->get('test')->getForm()->getConfig()->getOption('attr')); } /** - * Test buildQuery() without dca field + * Test buildQuery() without dca field. */ public function testBuildQueryWithoutDcaField() { $framework = $this->mockContaoFramework(); - $session = new MockArraySessionStorage(); + $session = new MockArraySessionStorage(); $queryBuilder = new FilterQueryBuilder($framework, new Connection([], new Driver())); - $config = new FilterConfig($framework, new FilterSession($framework, new Session($session)), $queryBuilder); + $config = new FilterConfig($framework, new FilterSession($framework, new Session($session)), $queryBuilder); $this->container->setParameter('huh.filter', [ 'filter' => [ 'types' => [ [ - 'name' => 'language', + 'name' => 'language', 'class' => LanguageType::class, - 'type' => 'choice' - ] - ] - ] + 'type' => 'choice', + ], + ], + ], ]); $this->container->set('huh.filter.choice.type', new TypeChoice($framework)); @@ -398,10 +394,10 @@ public function testBuildQueryWithoutDcaField() $filter = ['name' => 'test', 'dataContainer' => 'tl_test']; - $element = new FilterConfigElementModel(); - $element->id = 2; - $element->type = 'language'; - $element->name = 'test'; + $element = new FilterConfigElementModel(); + $element->id = 2; + $element->type = 'language'; + $element->name = 'test'; $element->customName = true; $config->init('test', $filter, [$element]); @@ -412,26 +408,26 @@ public function testBuildQueryWithoutDcaField() } /** - * Test buildQuery() + * Test buildQuery(). */ public function testBuildQuery() { $framework = $this->mockContaoFramework(); - $session = new MockArraySessionStorage(); + $session = new MockArraySessionStorage(); $queryBuilder = new FilterQueryBuilder($framework, new Connection([], new Driver())); - $config = new FilterConfig($framework, new FilterSession($framework, new Session($session)), $queryBuilder); + $config = new FilterConfig($framework, new FilterSession($framework, new Session($session)), $queryBuilder); $this->container->setParameter('huh.filter', [ 'filter' => [ 'types' => [ [ - 'name' => 'language', + 'name' => 'language', 'class' => LanguageType::class, - 'type' => 'choice' - ] - ] - ] + 'type' => 'choice', + ], + ], + ], ]); $GLOBALS['TL_DCA']['tl_test']['fields']['test'] = [ @@ -449,9 +445,9 @@ public function testBuildQuery() $errorReporting = error_reporting(); error_reporting($errorReporting & ~E_NOTICE); - $element = new FilterConfigElementModel(); - $element->id = 2; - $element->type = 'language'; + $element = new FilterConfigElementModel(); + $element->id = 2; + $element->type = 'language'; $element->field = 'test'; $config->init('test', $filter, [$element]); @@ -460,8 +456,8 @@ public function testBuildQuery() $this->assertNotEmpty($config->getQueryBuilder()->getParameters()); $this->assertNotEmpty($config->getQueryBuilder()->getQueryPart('where')); - $this->assertEquals('SELECT FROM tl_test WHERE test = :test', $config->getQueryBuilder()->getSQL()); - $this->assertEquals([':test' => '1'], $config->getQueryBuilder()->getParameters()); + $this->assertSame('SELECT FROM tl_test WHERE test = :test', $config->getQueryBuilder()->getSQL()); + $this->assertSame([':test' => '1'], $config->getQueryBuilder()->getParameters()); } /** @@ -469,6 +465,6 @@ public function testBuildQuery() */ protected function getFixturesDir(): string { - return __DIR__ . DIRECTORY_SEPARATOR . '../..' . DIRECTORY_SEPARATOR . 'Fixtures'; + return __DIR__.DIRECTORY_SEPARATOR.'../..'.DIRECTORY_SEPARATOR.'Fixtures'; } } diff --git a/tests/Filter/Type/LocaleTypeTest.php b/tests/Filter/Type/LocaleTypeTest.php index 28bd138..3d5bc01 100644 --- a/tests/Filter/Type/LocaleTypeTest.php +++ b/tests/Filter/Type/LocaleTypeTest.php @@ -13,16 +13,14 @@ use Contao\TestCase\ContaoTestCase; use Doctrine\DBAL\Connection; use Doctrine\DBAL\Driver\Mysqli\Driver; -use HeimrichHannot\FilterBundle\Choice\CountryChoice; use HeimrichHannot\FilterBundle\Choice\FieldOptionsChoice; -use HeimrichHannot\FilterBundle\Choice\LanguageChoice; use HeimrichHannot\FilterBundle\Choice\LocaleChoice; use HeimrichHannot\FilterBundle\Choice\TypeChoice; use HeimrichHannot\FilterBundle\Config\FilterConfig; use HeimrichHannot\FilterBundle\Filter\Type\LocaleType; use HeimrichHannot\FilterBundle\Model\FilterConfigElementModel; -use HeimrichHannot\FilterBundle\Session\FilterSession; use HeimrichHannot\FilterBundle\QueryBuilder\FilterQueryBuilder; +use HeimrichHannot\FilterBundle\Session\FilterSession; use HeimrichHannot\UtilsBundle\Database\DatabaseUtil; use Symfony\Component\DependencyInjection\ContainerBuilder; use Symfony\Component\HttpFoundation\Request; @@ -45,7 +43,6 @@ class LocaleTypeTest extends ContaoTestCase */ private $kernel; - protected function setUp() { parent::setUp(); @@ -54,37 +51,35 @@ protected function setUp() \define('TL_ROOT', $this->getFixturesDir()); } - $GLOBALS['TL_LANGUAGE'] = 'en'; + $GLOBALS['TL_LANGUAGE'] = 'en'; $GLOBALS['TL_LANG']['MSC'] = ['test' => 'bar']; $GLOBALS['TL_DCA']['tl_test'] = [ 'config' => [ 'dataContainer' => 'Table', - 'sql' => [ + 'sql' => [ 'keys' => [ ], ], ], 'fields' => [ - - ] + ], ]; $GLOBALS['TL_DCA']['tl_filter_config_element'] = [ 'config' => [ 'dataContainer' => 'Table', - 'sql' => [ + 'sql' => [ 'keys' => [ ], ], ], 'fields' => [ - - ] + ], ]; $finder = new ResourceFinder([ - $this->getFixturesDir() . '/vendor/contao/core-bundle/Resources/contao', + $this->getFixturesDir().'/vendor/contao/core-bundle/Resources/contao', ]); $this->container = $this->mockContainer(); @@ -120,10 +115,10 @@ public function testCanBeInstantiated() System::setContainer($this->container); $framework = $this->mockContaoFramework(); - $session = new MockArraySessionStorage(); + $session = new MockArraySessionStorage(); $queryBuilder = new FilterQueryBuilder($framework, new Connection([], new Driver())); - $config = new FilterConfig($framework, new FilterSession($framework, new Session($session)), $queryBuilder); + $config = new FilterConfig($framework, new FilterSession($framework, new Session($session)), $queryBuilder); $type = new LocaleType($config); @@ -131,36 +126,36 @@ public function testCanBeInstantiated() } /** - * Test getDefaultOperator() + * Test getDefaultOperator(). */ public function testGetDefaultOperator() { $framework = $this->mockContaoFramework(); - $session = new MockArraySessionStorage(); + $session = new MockArraySessionStorage(); $queryBuilder = new FilterQueryBuilder($framework, new Connection([], new Driver())); - $config = new FilterConfig($framework, new FilterSession($framework, new Session($session)), $queryBuilder); + $config = new FilterConfig($framework, new FilterSession($framework, new Session($session)), $queryBuilder); /** @var FilterConfigElementModel $element */ $element = $this->mockClassWithProperties(FilterConfigElementModel::class, []); $type = new LocaleType($config); - $this->assertEquals(DatabaseUtil::OPERATOR_EQUAL, $type->getDefaultOperator($element)); + $this->assertSame(DatabaseUtil::OPERATOR_EQUAL, $type->getDefaultOperator($element)); } /** - * Test getDefaultName() + * Test getDefaultName(). */ public function testGetDefaultName() { $framework = $this->mockContaoFramework(); - $session = new MockArraySessionStorage(); + $session = new MockArraySessionStorage(); $queryBuilder = new FilterQueryBuilder($framework, new Connection([], new Driver())); - $config = new FilterConfig($framework, new FilterSession($framework, new Session($session)), $queryBuilder); + $config = new FilterConfig($framework, new FilterSession($framework, new Session($session)), $queryBuilder); - $range = new FilterConfigElementModel(); + $range = new FilterConfigElementModel(); $range->name = 'test'; $type = new LocaleType($config); @@ -169,17 +164,17 @@ public function testGetDefaultName() } /** - * Test getDefaultName() + * Test getDefaultName(). */ public function testGetChoices() { $framework = $this->mockContaoFramework(); - $session = new MockArraySessionStorage(); + $session = new MockArraySessionStorage(); $queryBuilder = new FilterQueryBuilder($framework, new Connection([], new Driver())); - $config = new FilterConfig($framework, new FilterSession($framework, new Session($session)), $queryBuilder); + $config = new FilterConfig($framework, new FilterSession($framework, new Session($session)), $queryBuilder); - $element = new FilterConfigElementModel(); + $element = new FilterConfigElementModel(); $element->type = 'choice'; $filter = ['name' => 'test', 'dataContainer' => 'tl_test']; @@ -196,26 +191,26 @@ public function testGetChoices() } /** - * Test buildForm() without name + * Test buildForm() without name. */ public function testBuildFormWithoutName() { $framework = $this->mockContaoFramework(); - $session = new MockArraySessionStorage(); + $session = new MockArraySessionStorage(); $queryBuilder = new FilterQueryBuilder($framework, new Connection([], new Driver())); - $config = new FilterConfig($framework, new FilterSession($framework, new Session($session)), $queryBuilder); + $config = new FilterConfig($framework, new FilterSession($framework, new Session($session)), $queryBuilder); $this->container->setParameter('huh.filter', [ 'filter' => [ 'types' => [ [ - 'name' => 'locale', + 'name' => 'locale', 'class' => LocaleType::class, - 'type' => 'choice' - ] - ] - ] + 'type' => 'choice', + ], + ], + ], ]); $this->container->set('huh.filter.choice.type', new TypeChoice($framework)); @@ -223,36 +218,36 @@ public function testBuildFormWithoutName() $filter = ['name' => 'test', 'dataContainer' => 'tl_test']; - $element = new FilterConfigElementModel(); + $element = new FilterConfigElementModel(); $element->type = 'locale'; $config->init('test', $filter, [$element]); $config->buildForm(); - $this->assertEquals(2, $config->getBuilder()->count()); // f_id and f_ref element always exists + $this->assertSame(2, $config->getBuilder()->count()); // f_id and f_ref element always exists } /** - * Test buildForm() with field name + * Test buildForm() with field name. */ public function testBuildFormWithFieldName() { $framework = $this->mockContaoFramework(); - $session = new MockArraySessionStorage(); + $session = new MockArraySessionStorage(); $queryBuilder = new FilterQueryBuilder($framework, new Connection([], new Driver())); - $config = new FilterConfig($framework, new FilterSession($framework, new Session($session)), $queryBuilder); + $config = new FilterConfig($framework, new FilterSession($framework, new Session($session)), $queryBuilder); $this->container->setParameter('huh.filter', [ 'filter' => [ 'types' => [ [ - 'name' => 'locale', + 'name' => 'locale', 'class' => LocaleType::class, - 'type' => 'choice' - ] - ] - ] + 'type' => 'choice', + ], + ], + ], ]); $this->container->set('huh.filter.choice.type', new TypeChoice($framework)); @@ -261,43 +256,43 @@ public function testBuildFormWithFieldName() $filter = ['name' => 'test', 'dataContainer' => 'tl_test']; - $element = new FilterConfigElementModel(); - $element->type = 'locale'; - $element->field = 'test'; + $element = new FilterConfigElementModel(); + $element->type = 'locale'; + $element->field = 'test'; $element->customLocales = true; - $element->locales = ['de', 'en']; + $element->locales = ['de', 'en']; $config->init('test', $filter, [$element]); $config->buildForm(); - $this->assertEquals(3, $config->getBuilder()->count()); // f_id and f_ref element always exists + $this->assertSame(3, $config->getBuilder()->count()); // f_id and f_ref element always exists $this->assertTrue($config->getBuilder()->has('test')); $this->assertInstanceOf(\Symfony\Component\Form\Extension\Core\Type\LocaleType::class, $config->getBuilder()->get('test')->getType()->getInnerType()); $this->assertNotEmpty($config->getBuilder()->get('test')->getForm()->getConfig()->getOption('choices')); - $this->assertEquals(['German' => 'de', 'English' => 'en'], $config->getBuilder()->get('test')->getForm()->getConfig()->getOption('choices')); + $this->assertSame(['German' => 'de', 'English' => 'en'], $config->getBuilder()->get('test')->getForm()->getConfig()->getOption('choices')); } /** - * Test buildForm() with non array default values + * Test buildForm() with non array default values. */ public function testBuildFormWithNonArrayDefaultValues() { $framework = $this->mockContaoFramework(); - $session = new MockArraySessionStorage(); + $session = new MockArraySessionStorage(); $queryBuilder = new FilterQueryBuilder($framework, new Connection([], new Driver())); - $config = new FilterConfig($framework, new FilterSession($framework, new Session($session)), $queryBuilder); + $config = new FilterConfig($framework, new FilterSession($framework, new Session($session)), $queryBuilder); $this->container->setParameter('huh.filter', [ 'filter' => [ 'types' => [ [ - 'name' => 'locale', + 'name' => 'locale', 'class' => LocaleType::class, - 'type' => 'choice' - ] - ] - ] + 'type' => 'choice', + ], + ], + ], ]); $this->container->set('huh.filter.choice.type', new TypeChoice($framework)); @@ -305,44 +300,44 @@ public function testBuildFormWithNonArrayDefaultValues() $filter = ['name' => 'test', 'dataContainer' => 'tl_test']; - $element = new FilterConfigElementModel(); - $element->type = 'locale'; - $element->field = 'test'; + $element = new FilterConfigElementModel(); + $element->type = 'locale'; + $element->field = 'test'; $element->addDefaultValue = true; - $element->defaultValue = '123'; + $element->defaultValue = '123'; $element->addDefaultValue = true; - $element->multiple = true; + $element->multiple = true; $config->init('test', $filter, [$element]); $config->buildForm(); - $this->assertEquals(3, $config->getBuilder()->count()); // f_id and f_ref element always exists + $this->assertSame(3, $config->getBuilder()->count()); // f_id and f_ref element always exists $this->assertTrue($config->getBuilder()->has('test')); $this->assertInstanceOf(\Symfony\Component\Form\Extension\Core\Type\LocaleType::class, $config->getBuilder()->get('test')->getType()->getInnerType()); - $this->assertEquals(['123'], $config->getBuilder()->get('test')->getForm()->getConfig()->getOption('data')); + $this->assertSame(['123'], $config->getBuilder()->get('test')->getForm()->getConfig()->getOption('data')); } /** - * Test buildForm() with field name + * Test buildForm() with field name. */ public function testBuildFormWithPlaceholder() { $framework = $this->mockContaoFramework(); - $session = new MockArraySessionStorage(); + $session = new MockArraySessionStorage(); $queryBuilder = new FilterQueryBuilder($framework, new Connection([], new Driver())); - $config = new FilterConfig($framework, new FilterSession($framework, new Session($session)), $queryBuilder); + $config = new FilterConfig($framework, new FilterSession($framework, new Session($session)), $queryBuilder); $this->container->setParameter('huh.filter', [ 'filter' => [ 'types' => [ [ - 'name' => 'locale', + 'name' => 'locale', 'class' => LocaleType::class, - 'type' => 'choice' - ] - ] - ] + 'type' => 'choice', + ], + ], + ], ]); $this->container->set('huh.filter.choice.type', new TypeChoice($framework)); @@ -354,44 +349,44 @@ public function testBuildFormWithPlaceholder() $translator->getCatalogue()->add(['message.test_placholder' => 'test placeholder']); $this->container->set('translator', $translator); - $element = new FilterConfigElementModel(); - $element->type = 'locale'; - $element->field = 'test'; + $element = new FilterConfigElementModel(); + $element->type = 'locale'; + $element->field = 'test'; $element->addPlaceholder = true; - $element->placeholder = 'message.test_placholder'; + $element->placeholder = 'message.test_placholder'; $config->init('test', $filter, [$element]); $config->buildForm(); - $this->assertEquals(3, $config->getBuilder()->count()); // f_id and f_ref element always exists + $this->assertSame(3, $config->getBuilder()->count()); // f_id and f_ref element always exists $this->assertTrue($config->getBuilder()->has('test')); $this->assertInstanceOf(\Symfony\Component\Form\Extension\Core\Type\LocaleType::class, $config->getBuilder()->get('test')->getType()->getInnerType()); - $this->assertEquals('test placeholder', $config->getBuilder()->get('test')->getForm()->getConfig()->getOption('placeholder')); - $this->assertEquals('test placeholder', $config->getBuilder()->get('test')->getForm()->getConfig()->getOption('attr')['data-placeholder']); + $this->assertSame('test placeholder', $config->getBuilder()->get('test')->getForm()->getConfig()->getOption('placeholder')); + $this->assertSame('test placeholder', $config->getBuilder()->get('test')->getForm()->getConfig()->getOption('attr')['data-placeholder']); $this->assertArrayNotHasKey('placeholder', $config->getBuilder()->get('test')->getForm()->getConfig()->getOption('attr')); } /** - * Test buildQuery() without dca field + * Test buildQuery() without dca field. */ public function testBuildQueryWithoutDcaField() { $framework = $this->mockContaoFramework(); - $session = new MockArraySessionStorage(); + $session = new MockArraySessionStorage(); $queryBuilder = new FilterQueryBuilder($framework, new Connection([], new Driver())); - $config = new FilterConfig($framework, new FilterSession($framework, new Session($session)), $queryBuilder); + $config = new FilterConfig($framework, new FilterSession($framework, new Session($session)), $queryBuilder); $this->container->setParameter('huh.filter', [ 'filter' => [ 'types' => [ [ - 'name' => 'locale', + 'name' => 'locale', 'class' => LocaleType::class, - 'type' => 'choice' - ] - ] - ] + 'type' => 'choice', + ], + ], + ], ]); $this->container->set('huh.filter.choice.type', new TypeChoice($framework)); @@ -399,10 +394,10 @@ public function testBuildQueryWithoutDcaField() $filter = ['name' => 'test', 'dataContainer' => 'tl_test']; - $element = new FilterConfigElementModel(); - $element->id = 2; - $element->type = 'locale'; - $element->name = 'test'; + $element = new FilterConfigElementModel(); + $element->id = 2; + $element->type = 'locale'; + $element->name = 'test'; $element->customName = true; $config->init('test', $filter, [$element]); @@ -413,26 +408,26 @@ public function testBuildQueryWithoutDcaField() } /** - * Test buildQuery() + * Test buildQuery(). */ public function testBuildQuery() { $framework = $this->mockContaoFramework(); - $session = new MockArraySessionStorage(); + $session = new MockArraySessionStorage(); $queryBuilder = new FilterQueryBuilder($framework, new Connection([], new Driver())); - $config = new FilterConfig($framework, new FilterSession($framework, new Session($session)), $queryBuilder); + $config = new FilterConfig($framework, new FilterSession($framework, new Session($session)), $queryBuilder); $this->container->setParameter('huh.filter', [ 'filter' => [ 'types' => [ [ - 'name' => 'locale', + 'name' => 'locale', 'class' => LocaleType::class, - 'type' => 'choice' - ] - ] - ] + 'type' => 'choice', + ], + ], + ], ]); $GLOBALS['TL_DCA']['tl_test']['fields']['test'] = [ @@ -450,9 +445,9 @@ public function testBuildQuery() $errorReporting = error_reporting(); error_reporting($errorReporting & ~E_NOTICE); - $element = new FilterConfigElementModel(); - $element->id = 2; - $element->type = 'locale'; + $element = new FilterConfigElementModel(); + $element->id = 2; + $element->type = 'locale'; $element->field = 'test'; $config->init('test', $filter, [$element]); @@ -461,8 +456,8 @@ public function testBuildQuery() $this->assertNotEmpty($config->getQueryBuilder()->getParameters()); $this->assertNotEmpty($config->getQueryBuilder()->getQueryPart('where')); - $this->assertEquals('SELECT FROM tl_test WHERE test = :test', $config->getQueryBuilder()->getSQL()); - $this->assertEquals([':test' => '1'], $config->getQueryBuilder()->getParameters()); + $this->assertSame('SELECT FROM tl_test WHERE test = :test', $config->getQueryBuilder()->getSQL()); + $this->assertSame([':test' => '1'], $config->getQueryBuilder()->getParameters()); } /** @@ -470,6 +465,6 @@ public function testBuildQuery() */ protected function getFixturesDir(): string { - return __DIR__ . DIRECTORY_SEPARATOR . '../..' . DIRECTORY_SEPARATOR . 'Fixtures'; + return __DIR__.DIRECTORY_SEPARATOR.'../..'.DIRECTORY_SEPARATOR.'Fixtures'; } } diff --git a/tests/Filter/Type/MoneyTypeTest.php b/tests/Filter/Type/MoneyTypeTest.php index b7c6c77..885b897 100644 --- a/tests/Filter/Type/MoneyTypeTest.php +++ b/tests/Filter/Type/MoneyTypeTest.php @@ -17,8 +17,8 @@ use HeimrichHannot\FilterBundle\Config\FilterConfig; use HeimrichHannot\FilterBundle\Filter\Type\MoneyType; use HeimrichHannot\FilterBundle\Model\FilterConfigElementModel; -use HeimrichHannot\FilterBundle\Session\FilterSession; use HeimrichHannot\FilterBundle\QueryBuilder\FilterQueryBuilder; +use HeimrichHannot\FilterBundle\Session\FilterSession; use HeimrichHannot\UtilsBundle\Database\DatabaseUtil; use Symfony\Component\DependencyInjection\ContainerBuilder; use Symfony\Component\HttpFoundation\Request; @@ -41,7 +41,6 @@ class MoneyTypeTest extends ContaoTestCase */ private $kernel; - protected function setUp() { parent::setUp(); @@ -50,37 +49,35 @@ protected function setUp() \define('TL_ROOT', $this->getFixturesDir()); } - $GLOBALS['TL_LANGUAGE'] = 'en'; + $GLOBALS['TL_LANGUAGE'] = 'en'; $GLOBALS['TL_LANG']['MSC'] = ['test' => 'bar']; $GLOBALS['TL_DCA']['tl_test'] = [ 'config' => [ 'dataContainer' => 'Table', - 'sql' => [ + 'sql' => [ 'keys' => [ ], ], ], 'fields' => [ - - ] + ], ]; $GLOBALS['TL_DCA']['tl_filter_config_element'] = [ 'config' => [ 'dataContainer' => 'Table', - 'sql' => [ + 'sql' => [ 'keys' => [ ], ], ], 'fields' => [ - - ] + ], ]; $finder = new ResourceFinder([ - $this->getFixturesDir() . '/vendor/contao/core-bundle/Resources/contao', + $this->getFixturesDir().'/vendor/contao/core-bundle/Resources/contao', ]); $this->container = $this->mockContainer(); @@ -116,10 +113,10 @@ public function testCanBeInstantiated() System::setContainer($this->container); $framework = $this->mockContaoFramework(); - $session = new MockArraySessionStorage(); + $session = new MockArraySessionStorage(); $queryBuilder = new FilterQueryBuilder($framework, new Connection([], new Driver())); - $config = new FilterConfig($framework, new FilterSession($framework, new Session($session)), $queryBuilder); + $config = new FilterConfig($framework, new FilterSession($framework, new Session($session)), $queryBuilder); $type = new MoneyType($config); @@ -127,45 +124,45 @@ public function testCanBeInstantiated() } /** - * Test getDefaultOperator() + * Test getDefaultOperator(). */ public function testGetDefaultOperator() { $framework = $this->mockContaoFramework(); - $session = new MockArraySessionStorage(); + $session = new MockArraySessionStorage(); $queryBuilder = new FilterQueryBuilder($framework, new Connection([], new Driver())); - $config = new FilterConfig($framework, new FilterSession($framework, new Session($session)), $queryBuilder); + $config = new FilterConfig($framework, new FilterSession($framework, new Session($session)), $queryBuilder); /** @var FilterConfigElementModel $element */ $element = $this->mockClassWithProperties(FilterConfigElementModel::class, []); $type = new MoneyType($config); - $this->assertEquals(DatabaseUtil::OPERATOR_EQUAL, $type->getDefaultOperator($element)); + $this->assertSame(DatabaseUtil::OPERATOR_EQUAL, $type->getDefaultOperator($element)); } /** - * Test buildForm() with field name + * Test buildForm() with field name. */ public function testBuildFormWithFieldName() { $framework = $this->mockContaoFramework(); - $session = new MockArraySessionStorage(); + $session = new MockArraySessionStorage(); $queryBuilder = new FilterQueryBuilder($framework, new Connection([], new Driver())); - $config = new FilterConfig($framework, new FilterSession($framework, new Session($session)), $queryBuilder); + $config = new FilterConfig($framework, new FilterSession($framework, new Session($session)), $queryBuilder); $this->container->setParameter('huh.filter', [ 'filter' => [ 'types' => [ [ - 'name' => 'money', + 'name' => 'money', 'class' => MoneyType::class, - 'type' => 'text' - ] - ] - ] + 'type' => 'text', + ], + ], + ], ]); $this->container->set('huh.filter.choice.type', new TypeChoice($framework)); @@ -173,14 +170,14 @@ public function testBuildFormWithFieldName() $filter = ['name' => 'test', 'dataContainer' => 'tl_test']; - $element = new FilterConfigElementModel(); - $element->type = 'money'; + $element = new FilterConfigElementModel(); + $element->type = 'money'; $element->field = 'test'; $config->init('test', $filter, [$element]); $config->buildForm(); - $this->assertEquals(3, $config->getBuilder()->count()); // f_id and f_ref element always exists + $this->assertSame(3, $config->getBuilder()->count()); // f_id and f_ref element always exists $this->assertTrue($config->getBuilder()->has('test')); $this->assertInstanceOf(\Symfony\Component\Form\Extension\Core\Type\MoneyType::class, $config->getBuilder()->get('test')->getType()->getInnerType()); } @@ -190,6 +187,6 @@ public function testBuildFormWithFieldName() */ protected function getFixturesDir(): string { - return __DIR__ . DIRECTORY_SEPARATOR . '../..' . DIRECTORY_SEPARATOR . 'Fixtures'; + return __DIR__.DIRECTORY_SEPARATOR.'../..'.DIRECTORY_SEPARATOR.'Fixtures'; } } diff --git a/tests/Filter/Type/NumberTypeTest.php b/tests/Filter/Type/NumberTypeTest.php index 177a9dd..0cd13c8 100644 --- a/tests/Filter/Type/NumberTypeTest.php +++ b/tests/Filter/Type/NumberTypeTest.php @@ -17,8 +17,8 @@ use HeimrichHannot\FilterBundle\Config\FilterConfig; use HeimrichHannot\FilterBundle\Filter\Type\NumberType; use HeimrichHannot\FilterBundle\Model\FilterConfigElementModel; -use HeimrichHannot\FilterBundle\Session\FilterSession; use HeimrichHannot\FilterBundle\QueryBuilder\FilterQueryBuilder; +use HeimrichHannot\FilterBundle\Session\FilterSession; use HeimrichHannot\UtilsBundle\Database\DatabaseUtil; use Symfony\Component\DependencyInjection\ContainerBuilder; use Symfony\Component\HttpFoundation\Request; @@ -41,7 +41,6 @@ class NumberTypeTest extends ContaoTestCase */ private $kernel; - protected function setUp() { parent::setUp(); @@ -50,37 +49,35 @@ protected function setUp() \define('TL_ROOT', $this->getFixturesDir()); } - $GLOBALS['TL_LANGUAGE'] = 'en'; + $GLOBALS['TL_LANGUAGE'] = 'en'; $GLOBALS['TL_LANG']['MSC'] = ['test' => 'bar']; $GLOBALS['TL_DCA']['tl_test'] = [ 'config' => [ 'dataContainer' => 'Table', - 'sql' => [ + 'sql' => [ 'keys' => [ ], ], ], 'fields' => [ - - ] + ], ]; $GLOBALS['TL_DCA']['tl_filter_config_element'] = [ 'config' => [ 'dataContainer' => 'Table', - 'sql' => [ + 'sql' => [ 'keys' => [ ], ], ], 'fields' => [ - - ] + ], ]; $finder = new ResourceFinder([ - $this->getFixturesDir() . '/vendor/contao/core-bundle/Resources/contao', + $this->getFixturesDir().'/vendor/contao/core-bundle/Resources/contao', ]); $this->container = $this->mockContainer(); @@ -116,10 +113,10 @@ public function testCanBeInstantiated() System::setContainer($this->container); $framework = $this->mockContaoFramework(); - $session = new MockArraySessionStorage(); + $session = new MockArraySessionStorage(); $queryBuilder = new FilterQueryBuilder($framework, new Connection([], new Driver())); - $config = new FilterConfig($framework, new FilterSession($framework, new Session($session)), $queryBuilder); + $config = new FilterConfig($framework, new FilterSession($framework, new Session($session)), $queryBuilder); $type = new NumberType($config); @@ -127,45 +124,45 @@ public function testCanBeInstantiated() } /** - * Test getDefaultOperator() + * Test getDefaultOperator(). */ public function testGetDefaultOperator() { $framework = $this->mockContaoFramework(); - $session = new MockArraySessionStorage(); + $session = new MockArraySessionStorage(); $queryBuilder = new FilterQueryBuilder($framework, new Connection([], new Driver())); - $config = new FilterConfig($framework, new FilterSession($framework, new Session($session)), $queryBuilder); + $config = new FilterConfig($framework, new FilterSession($framework, new Session($session)), $queryBuilder); /** @var FilterConfigElementModel $element */ $element = $this->mockClassWithProperties(FilterConfigElementModel::class, []); $type = new NumberType($config); - $this->assertEquals(DatabaseUtil::OPERATOR_EQUAL, $type->getDefaultOperator($element)); + $this->assertSame(DatabaseUtil::OPERATOR_EQUAL, $type->getDefaultOperator($element)); } /** - * Test buildForm() with field name + * Test buildForm() with field name. */ public function testBuildFormWithFieldName() { $framework = $this->mockContaoFramework(); - $session = new MockArraySessionStorage(); + $session = new MockArraySessionStorage(); $queryBuilder = new FilterQueryBuilder($framework, new Connection([], new Driver())); - $config = new FilterConfig($framework, new FilterSession($framework, new Session($session)), $queryBuilder); + $config = new FilterConfig($framework, new FilterSession($framework, new Session($session)), $queryBuilder); $this->container->setParameter('huh.filter', [ 'filter' => [ 'types' => [ [ - 'name' => 'number', + 'name' => 'number', 'class' => NumberType::class, - 'type' => 'text' - ] - ] - ] + 'type' => 'text', + ], + ], + ], ]); $this->container->set('huh.filter.choice.type', new TypeChoice($framework)); @@ -173,14 +170,14 @@ public function testBuildFormWithFieldName() $filter = ['name' => 'test', 'dataContainer' => 'tl_test']; - $element = new FilterConfigElementModel(); - $element->type = 'number'; + $element = new FilterConfigElementModel(); + $element->type = 'number'; $element->field = 'test'; $config->init('test', $filter, [$element]); $config->buildForm(); - $this->assertEquals(3, $config->getBuilder()->count()); // f_id and f_ref element always exists + $this->assertSame(3, $config->getBuilder()->count()); // f_id and f_ref element always exists $this->assertTrue($config->getBuilder()->has('test')); $this->assertInstanceOf(\Symfony\Component\Form\Extension\Core\Type\NumberType::class, $config->getBuilder()->get('test')->getType()->getInnerType()); } @@ -190,6 +187,6 @@ public function testBuildFormWithFieldName() */ protected function getFixturesDir(): string { - return __DIR__ . DIRECTORY_SEPARATOR . '../..' . DIRECTORY_SEPARATOR . 'Fixtures'; + return __DIR__.DIRECTORY_SEPARATOR.'../..'.DIRECTORY_SEPARATOR.'Fixtures'; } } diff --git a/tests/Filter/Type/ParentTypeTest.php b/tests/Filter/Type/ParentTypeTest.php index da75e28..074cfde 100644 --- a/tests/Filter/Type/ParentTypeTest.php +++ b/tests/Filter/Type/ParentTypeTest.php @@ -10,6 +10,7 @@ use Contao\CoreBundle\Config\ResourceFinder; use Contao\MemberModel; +use Contao\Model\Collection; use Contao\PageModel; use Contao\System; use Contao\TestCase\ContaoTestCase; @@ -19,11 +20,10 @@ use HeimrichHannot\FilterBundle\Config\FilterConfig; use HeimrichHannot\FilterBundle\Filter\Type\ParentType; use HeimrichHannot\FilterBundle\Model\FilterConfigElementModel; -use HeimrichHannot\FilterBundle\Session\FilterSession; use HeimrichHannot\FilterBundle\QueryBuilder\FilterQueryBuilder; +use HeimrichHannot\FilterBundle\Session\FilterSession; use HeimrichHannot\UtilsBundle\Choice\ModelInstanceChoice; use HeimrichHannot\UtilsBundle\Database\DatabaseUtil; -use Contao\Model\Collection; use Symfony\Component\DependencyInjection\ContainerBuilder; use Symfony\Component\HttpFoundation\Request; use Symfony\Component\HttpFoundation\RequestStack; @@ -45,7 +45,6 @@ class ParentTypeTest extends ContaoTestCase */ private $kernel; - protected function setUp() { parent::setUp(); @@ -54,37 +53,35 @@ protected function setUp() \define('TL_ROOT', $this->getFixturesDir()); } - $GLOBALS['TL_LANGUAGE'] = 'en'; + $GLOBALS['TL_LANGUAGE'] = 'en'; $GLOBALS['TL_LANG']['MSC'] = ['test' => 'bar']; $GLOBALS['TL_DCA']['tl_test'] = [ 'config' => [ 'dataContainer' => 'Table', - 'sql' => [ + 'sql' => [ 'keys' => [ ], ], ], 'fields' => [ - - ] + ], ]; $GLOBALS['TL_DCA']['tl_filter_config_element'] = [ 'config' => [ 'dataContainer' => 'Table', - 'sql' => [ + 'sql' => [ 'keys' => [ ], ], ], 'fields' => [ - - ] + ], ]; $finder = new ResourceFinder([ - $this->getFixturesDir() . '/vendor/contao/core-bundle/Resources/contao', + $this->getFixturesDir().'/vendor/contao/core-bundle/Resources/contao', ]); $this->container = $this->mockContainer(); @@ -120,10 +117,10 @@ public function testCanBeInstantiated() System::setContainer($this->container); $framework = $this->mockContaoFramework(); - $session = new MockArraySessionStorage(); + $session = new MockArraySessionStorage(); $queryBuilder = new FilterQueryBuilder($framework, new Connection([], new Driver())); - $config = new FilterConfig($framework, new FilterSession($framework, new Session($session)), $queryBuilder); + $config = new FilterConfig($framework, new FilterSession($framework, new Session($session)), $queryBuilder); $type = new ParentType($config); @@ -131,34 +128,34 @@ public function testCanBeInstantiated() } /** - * Test getDefaultOperator() + * Test getDefaultOperator(). */ public function testGetDefaultOperator() { $framework = $this->mockContaoFramework(); - $session = new MockArraySessionStorage(); + $session = new MockArraySessionStorage(); $queryBuilder = new FilterQueryBuilder($framework, new Connection([], new Driver())); - $config = new FilterConfig($framework, new FilterSession($framework, new Session($session)), $queryBuilder); + $config = new FilterConfig($framework, new FilterSession($framework, new Session($session)), $queryBuilder); /** @var FilterConfigElementModel $element */ $element = $this->mockClassWithProperties(FilterConfigElementModel::class, []); $type = new ParentType($config); - $this->assertEquals(DatabaseUtil::OPERATOR_EQUAL, $type->getDefaultOperator($element)); + $this->assertSame(DatabaseUtil::OPERATOR_EQUAL, $type->getDefaultOperator($element)); } /** - * Test getChoices() without a dataContainer + * Test getChoices() without a dataContainer. */ public function testGetChoicesWithoutDataContainer() { $framework = $this->mockContaoFramework(); - $session = new MockArraySessionStorage(); + $session = new MockArraySessionStorage(); $queryBuilder = new FilterQueryBuilder($framework, new Connection([], new Driver())); - $config = new FilterConfig($framework, new FilterSession($framework, new Session($session)), $queryBuilder); + $config = new FilterConfig($framework, new FilterSession($framework, new Session($session)), $queryBuilder); /** @var FilterConfigElementModel $element */ $element = $this->mockClassWithProperties(FilterConfigElementModel::class, []); @@ -172,18 +169,18 @@ public function testGetChoicesWithoutDataContainer() } /** - * Test getChoices() for tl_member table + * Test getChoices() for tl_member table. */ public function testGetChoicesForMemberTable() { $framework = $this->mockContaoFramework(); - $session = new MockArraySessionStorage(); + $session = new MockArraySessionStorage(); $queryBuilder = new FilterQueryBuilder($framework, new Connection([], new Driver())); - $config = new FilterConfig($framework, new FilterSession($framework, new Session($session)), $queryBuilder); + $config = new FilterConfig($framework, new FilterSession($framework, new Session($session)), $queryBuilder); $modelInstances = $this->mockClassWithProperties(MemberModel::class, ['id' => 12]); - $collection = $this->mockClassWithProperties(Collection::class, ['id' => 12]); + $collection = $this->mockClassWithProperties(Collection::class, ['id' => 12]); $collection->method('next')->willReturn($modelInstances, $modelInstances); $modelUtilAdapter = $this->mockAdapter(['findModelInstancesBy']); $modelUtilAdapter->method('findModelInstancesBy')->willReturn($collection); @@ -193,31 +190,31 @@ public function testGetChoicesForMemberTable() System::setContainer($this->container); - $element = new FilterConfigElementModel(); + $element = new FilterConfigElementModel(); $element->columns = []; - $element->values = []; + $element->values = []; $filter = ['name' => 'test', 'dataContainer' => 'tl_member']; $config->init('test', $filter, [$element]); $type = new ParentType($config); - $this->assertEquals(['ID 12' => 12], $type->getChoices($element)); + $this->assertSame(['ID 12' => 12], $type->getChoices($element)); } /** - * Test getChoices() by dca foreignKey + * Test getChoices() by dca foreignKey. */ public function testGetChoicesByForeignKey() { $framework = $this->mockContaoFramework(); - $session = new MockArraySessionStorage(); + $session = new MockArraySessionStorage(); $queryBuilder = new FilterQueryBuilder($framework, new Connection([], new Driver())); - $config = new FilterConfig($framework, new FilterSession($framework, new Session($session)), $queryBuilder); + $config = new FilterConfig($framework, new FilterSession($framework, new Session($session)), $queryBuilder); $modelInstances = $this->mockClassWithProperties(PageModel::class, ['id' => 8, 'title' => 'Test page title']); - $collection = $this->mockClassWithProperties(Collection::class, ['id' => 8, 'title' => 'Test page title']); + $collection = $this->mockClassWithProperties(Collection::class, ['id' => 8, 'title' => 'Test page title']); $collection->method('next')->willReturn($modelInstances, $modelInstances); $modelUtilAdapter = $this->mockAdapter(['findModelInstancesBy']); $modelUtilAdapter->method('findModelInstancesBy')->willReturn($collection); @@ -227,47 +224,46 @@ public function testGetChoicesByForeignKey() System::setContainer($this->container); - $element = new FilterConfigElementModel(); + $element = new FilterConfigElementModel(); $element->columns = []; - $element->values = []; + $element->values = []; $GLOBALS['TL_DCA']['tl_article']['fields']['pid'] = [ - 'foreignKey' => 'tl_page.title' + 'foreignKey' => 'tl_page.title', ]; $GLOBALS['TL_DCA']['tl_page']['fields']['title'] = [ ]; - $filter = ['name' => 'test', 'dataContainer' => 'tl_article']; $config->init('test', $filter, [$element]); $type = new ParentType($config); - $this->assertEquals(['Test page title' => 8], $type->getChoices($element)); + $this->assertSame(['Test page title' => 8], $type->getChoices($element)); } /** - * Test buildForm() with field name + * Test buildForm() with field name. */ public function testBuildFormWithFieldName() { $framework = $this->mockContaoFramework(); - $session = new MockArraySessionStorage(); + $session = new MockArraySessionStorage(); $queryBuilder = new FilterQueryBuilder($framework, new Connection([], new Driver())); - $config = new FilterConfig($framework, new FilterSession($framework, new Session($session)), $queryBuilder); + $config = new FilterConfig($framework, new FilterSession($framework, new Session($session)), $queryBuilder); $this->container->setParameter('huh.filter', [ 'filter' => [ 'types' => [ [ - 'name' => 'parent', + 'name' => 'parent', 'class' => ParentType::class, - 'type' => 'choice' - ] - ] - ] + 'type' => 'choice', + ], + ], + ], ]); $this->container->set('huh.filter.choice.type', new TypeChoice($framework)); @@ -275,14 +271,14 @@ public function testBuildFormWithFieldName() $filter = ['name' => 'test', 'dataContainer' => 'tl_test']; - $element = new FilterConfigElementModel(); - $element->type = 'parent'; + $element = new FilterConfigElementModel(); + $element->type = 'parent'; $element->field = 'test'; $config->init('test', $filter, [$element]); $config->buildForm(); - $this->assertEquals(3, $config->getBuilder()->count()); // f_id and f_ref element always exists + $this->assertSame(3, $config->getBuilder()->count()); // f_id and f_ref element always exists $this->assertTrue($config->getBuilder()->has('test')); $this->assertInstanceOf(\Symfony\Component\Form\Extension\Core\Type\ChoiceType::class, $config->getBuilder()->get('test')->getType()->getInnerType()); } @@ -292,6 +288,6 @@ public function testBuildFormWithFieldName() */ protected function getFixturesDir(): string { - return __DIR__ . DIRECTORY_SEPARATOR . '../..' . DIRECTORY_SEPARATOR . 'Fixtures'; + return __DIR__.DIRECTORY_SEPARATOR.'../..'.DIRECTORY_SEPARATOR.'Fixtures'; } } diff --git a/tests/Filter/Type/PasswordTypeTest.php b/tests/Filter/Type/PasswordTypeTest.php index f27b4eb..948c068 100644 --- a/tests/Filter/Type/PasswordTypeTest.php +++ b/tests/Filter/Type/PasswordTypeTest.php @@ -17,8 +17,8 @@ use HeimrichHannot\FilterBundle\Config\FilterConfig; use HeimrichHannot\FilterBundle\Filter\Type\PasswordType; use HeimrichHannot\FilterBundle\Model\FilterConfigElementModel; -use HeimrichHannot\FilterBundle\Session\FilterSession; use HeimrichHannot\FilterBundle\QueryBuilder\FilterQueryBuilder; +use HeimrichHannot\FilterBundle\Session\FilterSession; use HeimrichHannot\UtilsBundle\Database\DatabaseUtil; use Symfony\Component\DependencyInjection\ContainerBuilder; use Symfony\Component\HttpFoundation\Request; @@ -41,7 +41,6 @@ class PasswordTypeTest extends ContaoTestCase */ private $kernel; - protected function setUp() { parent::setUp(); @@ -50,37 +49,35 @@ protected function setUp() \define('TL_ROOT', $this->getFixturesDir()); } - $GLOBALS['TL_LANGUAGE'] = 'en'; + $GLOBALS['TL_LANGUAGE'] = 'en'; $GLOBALS['TL_LANG']['MSC'] = ['test' => 'bar']; $GLOBALS['TL_DCA']['tl_test'] = [ 'config' => [ 'dataContainer' => 'Table', - 'sql' => [ + 'sql' => [ 'keys' => [ ], ], ], 'fields' => [ - - ] + ], ]; $GLOBALS['TL_DCA']['tl_filter_config_element'] = [ 'config' => [ 'dataContainer' => 'Table', - 'sql' => [ + 'sql' => [ 'keys' => [ ], ], ], 'fields' => [ - - ] + ], ]; $finder = new ResourceFinder([ - $this->getFixturesDir() . '/vendor/contao/core-bundle/Resources/contao', + $this->getFixturesDir().'/vendor/contao/core-bundle/Resources/contao', ]); $this->container = $this->mockContainer(); @@ -116,10 +113,10 @@ public function testCanBeInstantiated() System::setContainer($this->container); $framework = $this->mockContaoFramework(); - $session = new MockArraySessionStorage(); + $session = new MockArraySessionStorage(); $queryBuilder = new FilterQueryBuilder($framework, new Connection([], new Driver())); - $config = new FilterConfig($framework, new FilterSession($framework, new Session($session)), $queryBuilder); + $config = new FilterConfig($framework, new FilterSession($framework, new Session($session)), $queryBuilder); $type = new PasswordType($config); @@ -127,45 +124,45 @@ public function testCanBeInstantiated() } /** - * Test getDefaultOperator() + * Test getDefaultOperator(). */ public function testGetDefaultOperator() { $framework = $this->mockContaoFramework(); - $session = new MockArraySessionStorage(); + $session = new MockArraySessionStorage(); $queryBuilder = new FilterQueryBuilder($framework, new Connection([], new Driver())); - $config = new FilterConfig($framework, new FilterSession($framework, new Session($session)), $queryBuilder); + $config = new FilterConfig($framework, new FilterSession($framework, new Session($session)), $queryBuilder); /** @var FilterConfigElementModel $element */ $element = $this->mockClassWithProperties(FilterConfigElementModel::class, []); $type = new PasswordType($config); - $this->assertEquals(DatabaseUtil::OPERATOR_EQUAL, $type->getDefaultOperator($element)); + $this->assertSame(DatabaseUtil::OPERATOR_EQUAL, $type->getDefaultOperator($element)); } /** - * Test buildForm() with field name + * Test buildForm() with field name. */ public function testBuildFormWithFieldName() { $framework = $this->mockContaoFramework(); - $session = new MockArraySessionStorage(); + $session = new MockArraySessionStorage(); $queryBuilder = new FilterQueryBuilder($framework, new Connection([], new Driver())); - $config = new FilterConfig($framework, new FilterSession($framework, new Session($session)), $queryBuilder); + $config = new FilterConfig($framework, new FilterSession($framework, new Session($session)), $queryBuilder); $this->container->setParameter('huh.filter', [ 'filter' => [ 'types' => [ [ - 'name' => 'password', + 'name' => 'password', 'class' => PasswordType::class, - 'type' => 'text' - ] - ] - ] + 'type' => 'text', + ], + ], + ], ]); $this->container->set('huh.filter.choice.type', new TypeChoice($framework)); @@ -173,14 +170,14 @@ public function testBuildFormWithFieldName() $filter = ['name' => 'test', 'dataContainer' => 'tl_test']; - $element = new FilterConfigElementModel(); - $element->type = 'password'; + $element = new FilterConfigElementModel(); + $element->type = 'password'; $element->field = 'test'; $config->init('test', $filter, [$element]); $config->buildForm(); - $this->assertEquals(3, $config->getBuilder()->count()); // f_id and f_ref element always exists + $this->assertSame(3, $config->getBuilder()->count()); // f_id and f_ref element always exists $this->assertTrue($config->getBuilder()->has('test')); $this->assertInstanceOf(\Symfony\Component\Form\Extension\Core\Type\PasswordType::class, $config->getBuilder()->get('test')->getType()->getInnerType()); } @@ -190,6 +187,6 @@ public function testBuildFormWithFieldName() */ protected function getFixturesDir(): string { - return __DIR__ . DIRECTORY_SEPARATOR . '../..' . DIRECTORY_SEPARATOR . 'Fixtures'; + return __DIR__.DIRECTORY_SEPARATOR.'../..'.DIRECTORY_SEPARATOR.'Fixtures'; } } diff --git a/tests/Filter/Type/PercentTypeTest.php b/tests/Filter/Type/PercentTypeTest.php index f1cc291..7362c5c 100644 --- a/tests/Filter/Type/PercentTypeTest.php +++ b/tests/Filter/Type/PercentTypeTest.php @@ -17,8 +17,8 @@ use HeimrichHannot\FilterBundle\Config\FilterConfig; use HeimrichHannot\FilterBundle\Filter\Type\PercentType; use HeimrichHannot\FilterBundle\Model\FilterConfigElementModel; -use HeimrichHannot\FilterBundle\Session\FilterSession; use HeimrichHannot\FilterBundle\QueryBuilder\FilterQueryBuilder; +use HeimrichHannot\FilterBundle\Session\FilterSession; use HeimrichHannot\UtilsBundle\Database\DatabaseUtil; use Symfony\Component\DependencyInjection\ContainerBuilder; use Symfony\Component\HttpFoundation\Request; @@ -41,7 +41,6 @@ class PercentTypeTest extends ContaoTestCase */ private $kernel; - protected function setUp() { parent::setUp(); @@ -50,37 +49,35 @@ protected function setUp() \define('TL_ROOT', $this->getFixturesDir()); } - $GLOBALS['TL_LANGUAGE'] = 'en'; + $GLOBALS['TL_LANGUAGE'] = 'en'; $GLOBALS['TL_LANG']['MSC'] = ['test' => 'bar']; $GLOBALS['TL_DCA']['tl_test'] = [ 'config' => [ 'dataContainer' => 'Table', - 'sql' => [ + 'sql' => [ 'keys' => [ ], ], ], 'fields' => [ - - ] + ], ]; $GLOBALS['TL_DCA']['tl_filter_config_element'] = [ 'config' => [ 'dataContainer' => 'Table', - 'sql' => [ + 'sql' => [ 'keys' => [ ], ], ], 'fields' => [ - - ] + ], ]; $finder = new ResourceFinder([ - $this->getFixturesDir() . '/vendor/contao/core-bundle/Resources/contao', + $this->getFixturesDir().'/vendor/contao/core-bundle/Resources/contao', ]); $this->container = $this->mockContainer(); @@ -116,10 +113,10 @@ public function testCanBeInstantiated() System::setContainer($this->container); $framework = $this->mockContaoFramework(); - $session = new MockArraySessionStorage(); + $session = new MockArraySessionStorage(); $queryBuilder = new FilterQueryBuilder($framework, new Connection([], new Driver())); - $config = new FilterConfig($framework, new FilterSession($framework, new Session($session)), $queryBuilder); + $config = new FilterConfig($framework, new FilterSession($framework, new Session($session)), $queryBuilder); $type = new PercentType($config); @@ -127,45 +124,45 @@ public function testCanBeInstantiated() } /** - * Test getDefaultOperator() + * Test getDefaultOperator(). */ public function testGetDefaultOperator() { $framework = $this->mockContaoFramework(); - $session = new MockArraySessionStorage(); + $session = new MockArraySessionStorage(); $queryBuilder = new FilterQueryBuilder($framework, new Connection([], new Driver())); - $config = new FilterConfig($framework, new FilterSession($framework, new Session($session)), $queryBuilder); + $config = new FilterConfig($framework, new FilterSession($framework, new Session($session)), $queryBuilder); /** @var FilterConfigElementModel $element */ $element = $this->mockClassWithProperties(FilterConfigElementModel::class, []); $type = new PercentType($config); - $this->assertEquals(DatabaseUtil::OPERATOR_EQUAL, $type->getDefaultOperator($element)); + $this->assertSame(DatabaseUtil::OPERATOR_EQUAL, $type->getDefaultOperator($element)); } /** - * Test buildForm() with field name + * Test buildForm() with field name. */ public function testBuildFormWithFieldName() { $framework = $this->mockContaoFramework(); - $session = new MockArraySessionStorage(); + $session = new MockArraySessionStorage(); $queryBuilder = new FilterQueryBuilder($framework, new Connection([], new Driver())); - $config = new FilterConfig($framework, new FilterSession($framework, new Session($session)), $queryBuilder); + $config = new FilterConfig($framework, new FilterSession($framework, new Session($session)), $queryBuilder); $this->container->setParameter('huh.filter', [ 'filter' => [ 'types' => [ [ - 'name' => 'percent', + 'name' => 'percent', 'class' => PercentType::class, - 'type' => 'text' - ] - ] - ] + 'type' => 'text', + ], + ], + ], ]); $this->container->set('huh.filter.choice.type', new TypeChoice($framework)); @@ -173,14 +170,14 @@ public function testBuildFormWithFieldName() $filter = ['name' => 'test', 'dataContainer' => 'tl_test']; - $element = new FilterConfigElementModel(); - $element->type = 'percent'; + $element = new FilterConfigElementModel(); + $element->type = 'percent'; $element->field = 'test'; $config->init('test', $filter, [$element]); $config->buildForm(); - $this->assertEquals(3, $config->getBuilder()->count()); // f_id and f_ref element always exists + $this->assertSame(3, $config->getBuilder()->count()); // f_id and f_ref element always exists $this->assertTrue($config->getBuilder()->has('test')); $this->assertInstanceOf(\Symfony\Component\Form\Extension\Core\Type\PercentType::class, $config->getBuilder()->get('test')->getType()->getInnerType()); } @@ -190,6 +187,6 @@ public function testBuildFormWithFieldName() */ protected function getFixturesDir(): string { - return __DIR__ . DIRECTORY_SEPARATOR . '../..' . DIRECTORY_SEPARATOR . 'Fixtures'; + return __DIR__.DIRECTORY_SEPARATOR.'../..'.DIRECTORY_SEPARATOR.'Fixtures'; } } diff --git a/tests/Filter/Type/PublishedTypeTest.php b/tests/Filter/Type/PublishedTypeTest.php index a192e39..239bfce 100644 --- a/tests/Filter/Type/PublishedTypeTest.php +++ b/tests/Filter/Type/PublishedTypeTest.php @@ -17,8 +17,8 @@ use HeimrichHannot\FilterBundle\Config\FilterConfig; use HeimrichHannot\FilterBundle\Filter\Type\PublishedType; use HeimrichHannot\FilterBundle\Model\FilterConfigElementModel; -use HeimrichHannot\FilterBundle\Session\FilterSession; use HeimrichHannot\FilterBundle\QueryBuilder\FilterQueryBuilder; +use HeimrichHannot\FilterBundle\Session\FilterSession; use HeimrichHannot\UtilsBundle\Database\DatabaseUtil; use Symfony\Component\DependencyInjection\ContainerBuilder; use Symfony\Component\HttpFoundation\Request; @@ -41,7 +41,6 @@ class PublishedTypeTest extends ContaoTestCase */ private $kernel; - protected function setUp() { parent::setUp(); @@ -50,37 +49,35 @@ protected function setUp() \define('TL_ROOT', $this->getFixturesDir()); } - $GLOBALS['TL_LANGUAGE'] = 'en'; + $GLOBALS['TL_LANGUAGE'] = 'en'; $GLOBALS['TL_LANG']['MSC'] = ['test' => 'bar']; $GLOBALS['TL_DCA']['tl_test'] = [ 'config' => [ 'dataContainer' => 'Table', - 'sql' => [ + 'sql' => [ 'keys' => [ ], ], ], 'fields' => [ - - ] + ], ]; $GLOBALS['TL_DCA']['tl_filter_config_element'] = [ 'config' => [ 'dataContainer' => 'Table', - 'sql' => [ + 'sql' => [ 'keys' => [ ], ], ], 'fields' => [ - - ] + ], ]; $finder = new ResourceFinder([ - $this->getFixturesDir() . '/vendor/contao/core-bundle/Resources/contao', + $this->getFixturesDir().'/vendor/contao/core-bundle/Resources/contao', ]); $this->container = $this->mockContainer(); @@ -116,10 +113,10 @@ public function testCanBeInstantiated() System::setContainer($this->container); $framework = $this->mockContaoFramework(); - $session = new MockArraySessionStorage(); + $session = new MockArraySessionStorage(); $queryBuilder = new FilterQueryBuilder($framework, new Connection([], new Driver())); - $config = new FilterConfig($framework, new FilterSession($framework, new Session($session)), $queryBuilder); + $config = new FilterConfig($framework, new FilterSession($framework, new Session($session)), $queryBuilder); $type = new PublishedType($config); @@ -127,45 +124,45 @@ public function testCanBeInstantiated() } /** - * Test getDefaultOperator() + * Test getDefaultOperator(). */ public function testGetDefaultOperator() { $framework = $this->mockContaoFramework(); - $session = new MockArraySessionStorage(); + $session = new MockArraySessionStorage(); $queryBuilder = new FilterQueryBuilder($framework, new Connection([], new Driver())); - $config = new FilterConfig($framework, new FilterSession($framework, new Session($session)), $queryBuilder); + $config = new FilterConfig($framework, new FilterSession($framework, new Session($session)), $queryBuilder); /** @var FilterConfigElementModel $element */ $element = $this->mockClassWithProperties(FilterConfigElementModel::class, []); $type = new PublishedType($config); - $this->assertEquals(DatabaseUtil::OPERATOR_LIKE, $type->getDefaultOperator($element)); + $this->assertSame(DatabaseUtil::OPERATOR_LIKE, $type->getDefaultOperator($element)); } /** - * Test buildForm() with field name + * Test buildForm() with field name. */ public function testBuildFormWithFieldName() { $framework = $this->mockContaoFramework(); - $session = new MockArraySessionStorage(); + $session = new MockArraySessionStorage(); $queryBuilder = new FilterQueryBuilder($framework, new Connection([], new Driver())); - $config = new FilterConfig($framework, new FilterSession($framework, new Session($session)), $queryBuilder); + $config = new FilterConfig($framework, new FilterSession($framework, new Session($session)), $queryBuilder); $this->container->setParameter('huh.filter', [ 'filter' => [ 'types' => [ [ - 'name' => 'visible', + 'name' => 'visible', 'class' => PublishedType::class, - 'type' => 'text' - ] - ] - ] + 'type' => 'text', + ], + ], + ], ]); $this->container->set('huh.filter.choice.type', new TypeChoice($framework)); @@ -173,38 +170,38 @@ public function testBuildFormWithFieldName() $filter = ['name' => 'test', 'dataContainer' => 'tl_test']; - $element = new FilterConfigElementModel(); - $element->type = 'visible'; + $element = new FilterConfigElementModel(); + $element->type = 'visible'; $element->field = 'test'; $config->init('test', $filter, [$element]); $config->buildForm(); - $this->assertEquals(2, $config->getBuilder()->count()); // f_id and f_ref element always exists + $this->assertSame(2, $config->getBuilder()->count()); // f_id and f_ref element always exists $this->assertFalse($config->getBuilder()->has('test')); } /** - * Test buildQuery() without dca field + * Test buildQuery() without dca field. */ public function testBuildQueryWithoutDcaField() { $framework = $this->mockContaoFramework(); - $session = new MockArraySessionStorage(); + $session = new MockArraySessionStorage(); $queryBuilder = new FilterQueryBuilder($framework, new Connection([], new Driver())); - $config = new FilterConfig($framework, new FilterSession($framework, new Session($session)), $queryBuilder); + $config = new FilterConfig($framework, new FilterSession($framework, new Session($session)), $queryBuilder); $this->container->setParameter('huh.filter', [ 'filter' => [ 'types' => [ [ - 'name' => 'visible', + 'name' => 'visible', 'class' => PublishedType::class, - 'type' => 'text' - ] - ] - ] + 'type' => 'text', + ], + ], + ], ]); $this->container->set('huh.filter.choice.type', new TypeChoice($framework)); @@ -212,8 +209,8 @@ public function testBuildQueryWithoutDcaField() $filter = ['name' => 'test', 'dataContainer' => 'tl_test']; - $element = new FilterConfigElementModel(); - $element->id = 2; + $element = new FilterConfigElementModel(); + $element->id = 2; $element->type = 'visible'; $element->name = 'test'; @@ -225,26 +222,26 @@ public function testBuildQueryWithoutDcaField() } /** - * Test buildQuery() without start stop + * Test buildQuery() without start stop. */ public function testBuildQueryWithoutStartStop() { $framework = $this->mockContaoFramework(); - $session = new MockArraySessionStorage(); + $session = new MockArraySessionStorage(); $queryBuilder = new FilterQueryBuilder($framework, new Connection([], new Driver())); - $config = new FilterConfig($framework, new FilterSession($framework, new Session($session)), $queryBuilder); + $config = new FilterConfig($framework, new FilterSession($framework, new Session($session)), $queryBuilder); $this->container->setParameter('huh.filter', [ 'filter' => [ 'types' => [ [ - 'name' => 'visible', + 'name' => 'visible', 'class' => PublishedType::class, - 'type' => 'other' - ] - ] - ] + 'type' => 'other', + ], + ], + ], ]); $GLOBALS['TL_DCA']['tl_test']['fields']['published'] = [ @@ -261,9 +258,9 @@ public function testBuildQueryWithoutStartStop() $errorReporting = error_reporting(); error_reporting($errorReporting & ~E_NOTICE); - $element = new FilterConfigElementModel(); - $element->id = 2; - $element->type = 'visible'; + $element = new FilterConfigElementModel(); + $element->id = 2; + $element->type = 'visible'; $element->field = 'published'; $config->init('test', $filter, [$element]); @@ -272,30 +269,30 @@ public function testBuildQueryWithoutStartStop() $this->assertEmpty($config->getQueryBuilder()->getParameters()); $this->assertNotEmpty($config->getQueryBuilder()->getQueryPart('where')); - $this->assertEquals('SELECT FROM tl_test WHERE tl_test.published = 1', $config->getQueryBuilder()->getSQL()); + $this->assertSame('SELECT FROM tl_test WHERE tl_test.published = 1', $config->getQueryBuilder()->getSQL()); } /** - * Test buildQuery() with start stop + * Test buildQuery() with start stop. */ public function testBuildQueryWithStartStop() { $framework = $this->mockContaoFramework(); - $session = new MockArraySessionStorage(); + $session = new MockArraySessionStorage(); $queryBuilder = new FilterQueryBuilder($framework, new Connection([], new Driver())); - $config = new FilterConfig($framework, new FilterSession($framework, new Session($session)), $queryBuilder); + $config = new FilterConfig($framework, new FilterSession($framework, new Session($session)), $queryBuilder); $this->container->setParameter('huh.filter', [ 'filter' => [ 'types' => [ [ - 'name' => 'visible', + 'name' => 'visible', 'class' => PublishedType::class, - 'type' => 'other' - ] - ] - ] + 'type' => 'other', + ], + ], + ], ]); $GLOBALS['TL_DCA']['tl_test']['fields']['published'] = [ @@ -312,13 +309,13 @@ public function testBuildQueryWithStartStop() $errorReporting = error_reporting(); error_reporting($errorReporting & ~E_NOTICE); - $element = new FilterConfigElementModel(); - $element->id = 2; - $element->type = 'visible'; - $element->field = 'published'; + $element = new FilterConfigElementModel(); + $element->id = 2; + $element->type = 'visible'; + $element->field = 'published'; $element->addStartAndStop = true; - $element->startField = 'start'; - $element->stopField = 'stop'; + $element->startField = 'start'; + $element->stopField = 'stop'; $config->init('test', $filter, [$element]); $config->setData(['published' => 1]); @@ -326,30 +323,30 @@ public function testBuildQueryWithStartStop() $this->assertNotEmpty($config->getQueryBuilder()->getParameters()); $this->assertNotEmpty($config->getQueryBuilder()->getQueryPart('where')); - $this->assertEquals('SELECT FROM tl_test WHERE ((tl_test.start = "") OR (tl_test.start <= :startField_time)) AND ((tl_test.stop = "") OR (tl_test.stop > :stopField_time)) AND (tl_test.published = 1)', $config->getQueryBuilder()->getSQL()); + $this->assertSame('SELECT FROM tl_test WHERE ((tl_test.start = "") OR (tl_test.start <= :startField_time)) AND ((tl_test.stop = "") OR (tl_test.stop > :stopField_time)) AND (tl_test.published = 1)', $config->getQueryBuilder()->getSQL()); } /** - * Test buildQuery() with start stop and active frontend preview + * Test buildQuery() with start stop and active frontend preview. */ public function testBuildQueryWithStartStopAndPreview() { $framework = $this->mockContaoFramework(); - $session = new MockArraySessionStorage(); + $session = new MockArraySessionStorage(); $queryBuilder = new FilterQueryBuilder($framework, new Connection([], new Driver())); - $config = new FilterConfig($framework, new FilterSession($framework, new Session($session)), $queryBuilder); + $config = new FilterConfig($framework, new FilterSession($framework, new Session($session)), $queryBuilder); $this->container->setParameter('huh.filter', [ 'filter' => [ 'types' => [ [ - 'name' => 'visible', + 'name' => 'visible', 'class' => PublishedType::class, - 'type' => 'other' - ] - ] - ] + 'type' => 'other', + ], + ], + ], ]); $GLOBALS['TL_DCA']['tl_test']['fields']['published'] = [ @@ -366,13 +363,13 @@ public function testBuildQueryWithStartStopAndPreview() $errorReporting = error_reporting(); error_reporting($errorReporting & ~E_NOTICE); - $element = new FilterConfigElementModel(); - $element->id = 2; - $element->type = 'visible'; - $element->field = 'published'; + $element = new FilterConfigElementModel(); + $element->id = 2; + $element->type = 'visible'; + $element->field = 'published'; $element->addStartAndStop = true; - $element->startField = 'start'; - $element->stopField = 'stop'; + $element->startField = 'start'; + $element->stopField = 'stop'; $element->ignoreFePreview = true; $config->init('test', $filter, [$element]); @@ -381,7 +378,7 @@ public function testBuildQueryWithStartStopAndPreview() $this->assertNotEmpty($config->getQueryBuilder()->getParameters()); $this->assertNotEmpty($config->getQueryBuilder()->getQueryPart('where')); - $this->assertEquals('SELECT FROM tl_test WHERE ((tl_test.start = "") OR (tl_test.start <= :startField_time)) AND ((tl_test.stop = "") OR (tl_test.stop > :stopField_time)) AND (tl_test.published = 1)', $config->getQueryBuilder()->getSQL()); + $this->assertSame('SELECT FROM tl_test WHERE ((tl_test.start = "") OR (tl_test.start <= :startField_time)) AND ((tl_test.stop = "") OR (tl_test.stop > :stopField_time)) AND (tl_test.published = 1)', $config->getQueryBuilder()->getSQL()); } /** @@ -389,6 +386,6 @@ public function testBuildQueryWithStartStopAndPreview() */ protected function getFixturesDir(): string { - return __DIR__ . DIRECTORY_SEPARATOR . '../..' . DIRECTORY_SEPARATOR . 'Fixtures'; + return __DIR__.DIRECTORY_SEPARATOR.'../..'.DIRECTORY_SEPARATOR.'Fixtures'; } } diff --git a/tests/Filter/Type/RadioTypeTest.php b/tests/Filter/Type/RadioTypeTest.php index 2184ed3..8b5b72a 100644 --- a/tests/Filter/Type/RadioTypeTest.php +++ b/tests/Filter/Type/RadioTypeTest.php @@ -17,8 +17,8 @@ use HeimrichHannot\FilterBundle\Config\FilterConfig; use HeimrichHannot\FilterBundle\Filter\Type\RadioType; use HeimrichHannot\FilterBundle\Model\FilterConfigElementModel; -use HeimrichHannot\FilterBundle\Session\FilterSession; use HeimrichHannot\FilterBundle\QueryBuilder\FilterQueryBuilder; +use HeimrichHannot\FilterBundle\Session\FilterSession; use HeimrichHannot\UtilsBundle\Database\DatabaseUtil; use Symfony\Component\DependencyInjection\ContainerBuilder; use Symfony\Component\HttpFoundation\Request; @@ -41,7 +41,6 @@ class RadioTypeTest extends ContaoTestCase */ private $kernel; - protected function setUp() { parent::setUp(); @@ -50,37 +49,35 @@ protected function setUp() \define('TL_ROOT', $this->getFixturesDir()); } - $GLOBALS['TL_LANGUAGE'] = 'en'; + $GLOBALS['TL_LANGUAGE'] = 'en'; $GLOBALS['TL_LANG']['MSC'] = ['test' => 'bar']; $GLOBALS['TL_DCA']['tl_test'] = [ 'config' => [ 'dataContainer' => 'Table', - 'sql' => [ + 'sql' => [ 'keys' => [ ], ], ], 'fields' => [ - - ] + ], ]; $GLOBALS['TL_DCA']['tl_filter_config_element'] = [ 'config' => [ 'dataContainer' => 'Table', - 'sql' => [ + 'sql' => [ 'keys' => [ ], ], ], 'fields' => [ - - ] + ], ]; $finder = new ResourceFinder([ - $this->getFixturesDir() . '/vendor/contao/core-bundle/Resources/contao', + $this->getFixturesDir().'/vendor/contao/core-bundle/Resources/contao', ]); $this->container = $this->mockContainer(); @@ -116,10 +113,10 @@ public function testCanBeInstantiated() System::setContainer($this->container); $framework = $this->mockContaoFramework(); - $session = new MockArraySessionStorage(); + $session = new MockArraySessionStorage(); $queryBuilder = new FilterQueryBuilder($framework, new Connection([], new Driver())); - $config = new FilterConfig($framework, new FilterSession($framework, new Session($session)), $queryBuilder); + $config = new FilterConfig($framework, new FilterSession($framework, new Session($session)), $queryBuilder); $type = new RadioType($config); @@ -127,36 +124,36 @@ public function testCanBeInstantiated() } /** - * Test getDefaultOperator() + * Test getDefaultOperator(). */ public function testGetDefaultOperator() { $framework = $this->mockContaoFramework(); - $session = new MockArraySessionStorage(); + $session = new MockArraySessionStorage(); $queryBuilder = new FilterQueryBuilder($framework, new Connection([], new Driver())); - $config = new FilterConfig($framework, new FilterSession($framework, new Session($session)), $queryBuilder); + $config = new FilterConfig($framework, new FilterSession($framework, new Session($session)), $queryBuilder); /** @var FilterConfigElementModel $element */ $element = $this->mockClassWithProperties(FilterConfigElementModel::class, []); $type = new RadioType($config); - $this->assertEquals(DatabaseUtil::OPERATOR_EQUAL, $type->getDefaultOperator($element)); + $this->assertSame(DatabaseUtil::OPERATOR_EQUAL, $type->getDefaultOperator($element)); } /** - * Test getDefaultName() + * Test getDefaultName(). */ public function testGetDefaultName() { $framework = $this->mockContaoFramework(); - $session = new MockArraySessionStorage(); + $session = new MockArraySessionStorage(); $queryBuilder = new FilterQueryBuilder($framework, new Connection([], new Driver())); - $config = new FilterConfig($framework, new FilterSession($framework, new Session($session)), $queryBuilder); + $config = new FilterConfig($framework, new FilterSession($framework, new Session($session)), $queryBuilder); - $range = new FilterConfigElementModel(); + $range = new FilterConfigElementModel(); $range->name = 'test'; $type = new RadioType($config); @@ -165,26 +162,26 @@ public function testGetDefaultName() } /** - * Test buildForm() without name + * Test buildForm() without name. */ public function testBuildFormWithoutName() { $framework = $this->mockContaoFramework(); - $session = new MockArraySessionStorage(); + $session = new MockArraySessionStorage(); $queryBuilder = new FilterQueryBuilder($framework, new Connection([], new Driver())); - $config = new FilterConfig($framework, new FilterSession($framework, new Session($session)), $queryBuilder); + $config = new FilterConfig($framework, new FilterSession($framework, new Session($session)), $queryBuilder); $this->container->setParameter('huh.filter', [ 'filter' => [ 'types' => [ [ - 'name' => 'radio', + 'name' => 'radio', 'class' => RadioType::class, - 'type' => 'other' - ] - ] - ] + 'type' => 'other', + ], + ], + ], ]); $this->container->set('huh.filter.choice.type', new TypeChoice($framework)); @@ -192,36 +189,36 @@ public function testBuildFormWithoutName() $filter = ['name' => 'test', 'dataContainer' => 'tl_test']; - $element = new FilterConfigElementModel(); + $element = new FilterConfigElementModel(); $element->type = 'radio'; $config->init('test', $filter, [$element]); $config->buildForm(); - $this->assertEquals(2, $config->getBuilder()->count()); // f_id and f_ref element always exists + $this->assertSame(2, $config->getBuilder()->count()); // f_id and f_ref element always exists } /** - * Test buildForm() with field name + * Test buildForm() with field name. */ public function testBuildFormWithFieldName() { $framework = $this->mockContaoFramework(); - $session = new MockArraySessionStorage(); + $session = new MockArraySessionStorage(); $queryBuilder = new FilterQueryBuilder($framework, new Connection([], new Driver())); - $config = new FilterConfig($framework, new FilterSession($framework, new Session($session)), $queryBuilder); + $config = new FilterConfig($framework, new FilterSession($framework, new Session($session)), $queryBuilder); $this->container->setParameter('huh.filter', [ 'filter' => [ 'types' => [ [ - 'name' => 'radio', + 'name' => 'radio', 'class' => RadioType::class, - 'type' => 'other' - ] - ] - ] + 'type' => 'other', + ], + ], + ], ]); $this->container->set('huh.filter.choice.type', new TypeChoice($framework)); @@ -229,39 +226,39 @@ public function testBuildFormWithFieldName() $filter = ['name' => 'test', 'dataContainer' => 'tl_test']; - $element = new FilterConfigElementModel(); - $element->type = 'radio'; + $element = new FilterConfigElementModel(); + $element->type = 'radio'; $element->field = 'test'; $config->init('test', $filter, [$element]); $config->buildForm(); - $this->assertEquals(3, $config->getBuilder()->count()); // f_id and f_ref element always exists + $this->assertSame(3, $config->getBuilder()->count()); // f_id and f_ref element always exists $this->assertTrue($config->getBuilder()->has('test')); $this->assertInstanceOf(\Symfony\Component\Form\Extension\Core\Type\RadioType::class, $config->getBuilder()->get('test')->getType()->getInnerType()); } /** - * Test buildForm() with custom value + * Test buildForm() with custom value. */ public function testBuildFormWithCustomValue() { $framework = $this->mockContaoFramework(); - $session = new MockArraySessionStorage(); + $session = new MockArraySessionStorage(); $queryBuilder = new FilterQueryBuilder($framework, new Connection([], new Driver())); - $config = new FilterConfig($framework, new FilterSession($framework, new Session($session)), $queryBuilder); + $config = new FilterConfig($framework, new FilterSession($framework, new Session($session)), $queryBuilder); $this->container->setParameter('huh.filter', [ 'filter' => [ 'types' => [ [ - 'name' => 'radio', + 'name' => 'radio', 'class' => RadioType::class, - 'type' => 'other' - ] - ] - ] + 'type' => 'other', + ], + ], + ], ]); $this->container->set('huh.filter.choice.type', new TypeChoice($framework)); @@ -269,41 +266,41 @@ public function testBuildFormWithCustomValue() $filter = ['name' => 'test', 'dataContainer' => 'tl_test']; - $element = new FilterConfigElementModel(); - $element->type = 'radio'; - $element->field = 'test'; + $element = new FilterConfigElementModel(); + $element->type = 'radio'; + $element->field = 'test'; $element->customValue = true; - $element->value = 'myCustomValue'; + $element->value = 'myCustomValue'; $config->init('test', $filter, [$element]); $config->buildForm(); - $this->assertEquals(3, $config->getBuilder()->count()); // f_id and f_ref element always exists + $this->assertSame(3, $config->getBuilder()->count()); // f_id and f_ref element always exists $this->assertTrue($config->getBuilder()->has('test')); $this->assertInstanceOf(\Symfony\Component\Form\Extension\Core\Type\RadioType::class, $config->getBuilder()->get('test')->getType()->getInnerType()); } /** - * Test buildQuery() without dca field + * Test buildQuery() without dca field. */ public function testBuildQueryWithoutDcaField() { $framework = $this->mockContaoFramework(); - $session = new MockArraySessionStorage(); + $session = new MockArraySessionStorage(); $queryBuilder = new FilterQueryBuilder($framework, new Connection([], new Driver())); - $config = new FilterConfig($framework, new FilterSession($framework, new Session($session)), $queryBuilder); + $config = new FilterConfig($framework, new FilterSession($framework, new Session($session)), $queryBuilder); $this->container->setParameter('huh.filter', [ 'filter' => [ 'types' => [ [ - 'name' => 'radio', + 'name' => 'radio', 'class' => RadioType::class, - 'type' => 'other' - ] - ] - ] + 'type' => 'other', + ], + ], + ], ]); $this->container->set('huh.filter.choice.type', new TypeChoice($framework)); @@ -311,10 +308,10 @@ public function testBuildQueryWithoutDcaField() $filter = ['name' => 'test', 'dataContainer' => 'tl_test']; - $element = new FilterConfigElementModel(); - $element->id = 2; - $element->type = 'radio'; - $element->name = 'test'; + $element = new FilterConfigElementModel(); + $element->id = 2; + $element->type = 'radio'; + $element->name = 'test'; $element->customName = true; $config->init('test', $filter, [$element]); @@ -325,26 +322,26 @@ public function testBuildQueryWithoutDcaField() } /** - * Test buildQuery() without dca field + * Test buildQuery() without dca field. */ public function testBuildQuery() { $framework = $this->mockContaoFramework(); - $session = new MockArraySessionStorage(); + $session = new MockArraySessionStorage(); $queryBuilder = new FilterQueryBuilder($framework, new Connection([], new Driver())); - $config = new FilterConfig($framework, new FilterSession($framework, new Session($session)), $queryBuilder); + $config = new FilterConfig($framework, new FilterSession($framework, new Session($session)), $queryBuilder); $this->container->setParameter('huh.filter', [ 'filter' => [ 'types' => [ [ - 'name' => 'radio', + 'name' => 'radio', 'class' => RadioType::class, - 'type' => 'other' - ] - ] - ] + 'type' => 'other', + ], + ], + ], ]); $GLOBALS['TL_DCA']['tl_test']['fields']['test'] = [ @@ -361,9 +358,9 @@ public function testBuildQuery() $errorReporting = error_reporting(); error_reporting($errorReporting & ~E_NOTICE); - $element = new FilterConfigElementModel(); - $element->id = 2; - $element->type = 'radio'; + $element = new FilterConfigElementModel(); + $element->id = 2; + $element->type = 'radio'; $element->field = 'test'; $config->init('test', $filter, [$element]); @@ -372,8 +369,8 @@ public function testBuildQuery() $this->assertNotEmpty($config->getQueryBuilder()->getParameters()); $this->assertNotEmpty($config->getQueryBuilder()->getQueryPart('where')); - $this->assertEquals('SELECT FROM tl_test WHERE test = :test', $config->getQueryBuilder()->getSQL()); - $this->assertEquals([':test' => 1], $config->getQueryBuilder()->getParameters()); + $this->assertSame('SELECT FROM tl_test WHERE test = :test', $config->getQueryBuilder()->getSQL()); + $this->assertSame([':test' => 1], $config->getQueryBuilder()->getParameters()); } /** @@ -381,6 +378,6 @@ public function testBuildQuery() */ protected function getFixturesDir(): string { - return __DIR__ . DIRECTORY_SEPARATOR . '../..' . DIRECTORY_SEPARATOR . 'Fixtures'; + return __DIR__.DIRECTORY_SEPARATOR.'../..'.DIRECTORY_SEPARATOR.'Fixtures'; } } diff --git a/tests/Filter/Type/RangeTypeTest.php b/tests/Filter/Type/RangeTypeTest.php index e45843e..433abf4 100644 --- a/tests/Filter/Type/RangeTypeTest.php +++ b/tests/Filter/Type/RangeTypeTest.php @@ -17,8 +17,8 @@ use HeimrichHannot\FilterBundle\Config\FilterConfig; use HeimrichHannot\FilterBundle\Filter\Type\RangeType; use HeimrichHannot\FilterBundle\Model\FilterConfigElementModel; -use HeimrichHannot\FilterBundle\Session\FilterSession; use HeimrichHannot\FilterBundle\QueryBuilder\FilterQueryBuilder; +use HeimrichHannot\FilterBundle\Session\FilterSession; use HeimrichHannot\UtilsBundle\Database\DatabaseUtil; use Symfony\Component\DependencyInjection\ContainerBuilder; use Symfony\Component\HttpFoundation\Request; @@ -41,7 +41,6 @@ class RangeTypeTest extends ContaoTestCase */ private $kernel; - protected function setUp() { parent::setUp(); @@ -50,37 +49,35 @@ protected function setUp() \define('TL_ROOT', $this->getFixturesDir()); } - $GLOBALS['TL_LANGUAGE'] = 'en'; + $GLOBALS['TL_LANGUAGE'] = 'en'; $GLOBALS['TL_LANG']['MSC'] = ['test' => 'bar']; $GLOBALS['TL_DCA']['tl_test'] = [ 'config' => [ 'dataContainer' => 'Table', - 'sql' => [ + 'sql' => [ 'keys' => [ ], ], ], 'fields' => [ - - ] + ], ]; $GLOBALS['TL_DCA']['tl_filter_config_element'] = [ 'config' => [ 'dataContainer' => 'Table', - 'sql' => [ + 'sql' => [ 'keys' => [ ], ], ], 'fields' => [ - - ] + ], ]; $finder = new ResourceFinder([ - $this->getFixturesDir() . '/vendor/contao/core-bundle/Resources/contao', + $this->getFixturesDir().'/vendor/contao/core-bundle/Resources/contao', ]); $this->container = $this->mockContainer(); @@ -116,10 +113,10 @@ public function testCanBeInstantiated() System::setContainer($this->container); $framework = $this->mockContaoFramework(); - $session = new MockArraySessionStorage(); + $session = new MockArraySessionStorage(); $queryBuilder = new FilterQueryBuilder($framework, new Connection([], new Driver())); - $config = new FilterConfig($framework, new FilterSession($framework, new Session($session)), $queryBuilder); + $config = new FilterConfig($framework, new FilterSession($framework, new Session($session)), $queryBuilder); $type = new RangeType($config); @@ -127,45 +124,45 @@ public function testCanBeInstantiated() } /** - * Test getDefaultOperator() + * Test getDefaultOperator(). */ public function testGetDefaultOperator() { $framework = $this->mockContaoFramework(); - $session = new MockArraySessionStorage(); + $session = new MockArraySessionStorage(); $queryBuilder = new FilterQueryBuilder($framework, new Connection([], new Driver())); - $config = new FilterConfig($framework, new FilterSession($framework, new Session($session)), $queryBuilder); + $config = new FilterConfig($framework, new FilterSession($framework, new Session($session)), $queryBuilder); /** @var FilterConfigElementModel $element */ $element = $this->mockClassWithProperties(FilterConfigElementModel::class, []); $type = new RangeType($config); - $this->assertEquals(DatabaseUtil::OPERATOR_LIKE, $type->getDefaultOperator($element)); + $this->assertSame(DatabaseUtil::OPERATOR_LIKE, $type->getDefaultOperator($element)); } /** - * Test buildForm() with field name + * Test buildForm() with field name. */ public function testBuildFormWithFieldName() { $framework = $this->mockContaoFramework(); - $session = new MockArraySessionStorage(); + $session = new MockArraySessionStorage(); $queryBuilder = new FilterQueryBuilder($framework, new Connection([], new Driver())); - $config = new FilterConfig($framework, new FilterSession($framework, new Session($session)), $queryBuilder); + $config = new FilterConfig($framework, new FilterSession($framework, new Session($session)), $queryBuilder); $this->container->setParameter('huh.filter', [ 'filter' => [ 'types' => [ [ - 'name' => 'range', + 'name' => 'range', 'class' => RangeType::class, - 'type' => 'text' - ] - ] - ] + 'type' => 'text', + ], + ], + ], ]); $this->container->set('huh.filter.choice.type', new TypeChoice($framework)); @@ -173,22 +170,22 @@ public function testBuildFormWithFieldName() $filter = ['name' => 'test', 'dataContainer' => 'tl_test']; - $element = new FilterConfigElementModel(); - $element->type = 'range'; + $element = new FilterConfigElementModel(); + $element->type = 'range'; $element->field = 'test'; - $element->min = 20; - $element->max = '80'; - $element->step = 10; + $element->min = 20; + $element->max = '80'; + $element->step = 10; $config->init('test', $filter, [$element]); $config->buildForm(); - $this->assertEquals(3, $config->getBuilder()->count()); // f_id and f_ref element always exists + $this->assertSame(3, $config->getBuilder()->count()); // f_id and f_ref element always exists $this->assertTrue($config->getBuilder()->has('test')); $this->assertInstanceOf(\Symfony\Component\Form\Extension\Core\Type\RangeType::class, $config->getBuilder()->get('test')->getType()->getInnerType()); - $this->assertEquals(20, $config->getBuilder()->get('test')->getForm()->getConfig()->getOption('attr')['min']); - $this->assertEquals(80, $config->getBuilder()->get('test')->getForm()->getConfig()->getOption('attr')['max']); - $this->assertEquals(10, $config->getBuilder()->get('test')->getForm()->getConfig()->getOption('attr')['step']); + $this->assertSame(20, $config->getBuilder()->get('test')->getForm()->getConfig()->getOption('attr')['min']); + $this->assertSame(80, $config->getBuilder()->get('test')->getForm()->getConfig()->getOption('attr')['max']); + $this->assertSame(10, $config->getBuilder()->get('test')->getForm()->getConfig()->getOption('attr')['step']); } /** @@ -196,6 +193,6 @@ public function testBuildFormWithFieldName() */ protected function getFixturesDir(): string { - return __DIR__ . DIRECTORY_SEPARATOR . '../..' . DIRECTORY_SEPARATOR . 'Fixtures'; + return __DIR__.DIRECTORY_SEPARATOR.'../..'.DIRECTORY_SEPARATOR.'Fixtures'; } } diff --git a/tests/Filter/Type/ResetTypeTest.php b/tests/Filter/Type/ResetTypeTest.php index a827f3c..80bf9f8 100644 --- a/tests/Filter/Type/ResetTypeTest.php +++ b/tests/Filter/Type/ResetTypeTest.php @@ -17,8 +17,8 @@ use HeimrichHannot\FilterBundle\Config\FilterConfig; use HeimrichHannot\FilterBundle\Filter\Type\ResetType; use HeimrichHannot\FilterBundle\Model\FilterConfigElementModel; -use HeimrichHannot\FilterBundle\Session\FilterSession; use HeimrichHannot\FilterBundle\QueryBuilder\FilterQueryBuilder; +use HeimrichHannot\FilterBundle\Session\FilterSession; use Symfony\Component\DependencyInjection\ContainerBuilder; use Symfony\Component\HttpFoundation\Request; use Symfony\Component\HttpFoundation\RequestStack; @@ -40,7 +40,6 @@ class ResetTypeTest extends ContaoTestCase */ private $kernel; - protected function setUp() { parent::setUp(); @@ -49,37 +48,35 @@ protected function setUp() \define('TL_ROOT', $this->getFixturesDir()); } - $GLOBALS['TL_LANGUAGE'] = 'en'; + $GLOBALS['TL_LANGUAGE'] = 'en'; $GLOBALS['TL_LANG']['MSC'] = ['test' => 'bar']; $GLOBALS['TL_DCA']['tl_test'] = [ 'config' => [ 'dataContainer' => 'Table', - 'sql' => [ + 'sql' => [ 'keys' => [ ], ], ], 'fields' => [ - - ] + ], ]; $GLOBALS['TL_DCA']['tl_filter_config_element'] = [ 'config' => [ 'dataContainer' => 'Table', - 'sql' => [ + 'sql' => [ 'keys' => [ ], ], ], 'fields' => [ - - ] + ], ]; $finder = new ResourceFinder([ - $this->getFixturesDir() . '/vendor/contao/core-bundle/Resources/contao', + $this->getFixturesDir().'/vendor/contao/core-bundle/Resources/contao', ]); $this->container = $this->mockContainer(); @@ -115,10 +112,10 @@ public function testCanBeInstantiated() System::setContainer($this->container); $framework = $this->mockContaoFramework(); - $session = new MockArraySessionStorage(); + $session = new MockArraySessionStorage(); $queryBuilder = new FilterQueryBuilder($framework, new Connection([], new Driver())); - $config = new FilterConfig($framework, new FilterSession($framework, new Session($session)), $queryBuilder); + $config = new FilterConfig($framework, new FilterSession($framework, new Session($session)), $queryBuilder); $type = new ResetType($config); @@ -126,15 +123,15 @@ public function testCanBeInstantiated() } /** - * Test getDefaultOperator() + * Test getDefaultOperator(). */ public function testGetDefaultOperator() { $framework = $this->mockContaoFramework(); - $session = new MockArraySessionStorage(); + $session = new MockArraySessionStorage(); $queryBuilder = new FilterQueryBuilder($framework, new Connection([], new Driver())); - $config = new FilterConfig($framework, new FilterSession($framework, new Session($session)), $queryBuilder); + $config = new FilterConfig($framework, new FilterSession($framework, new Session($session)), $queryBuilder); /** @var FilterConfigElementModel $element */ $element = $this->mockClassWithProperties(FilterConfigElementModel::class, []); @@ -145,45 +142,45 @@ public function testGetDefaultOperator() } /** - * Test getDefaultName() + * Test getDefaultName(). */ public function testGetDefaultName() { $framework = $this->mockContaoFramework(); - $session = new MockArraySessionStorage(); + $session = new MockArraySessionStorage(); $queryBuilder = new FilterQueryBuilder($framework, new Connection([], new Driver())); - $config = new FilterConfig($framework, new FilterSession($framework, new Session($session)), $queryBuilder); + $config = new FilterConfig($framework, new FilterSession($framework, new Session($session)), $queryBuilder); - $range = new FilterConfigElementModel(); + $range = new FilterConfigElementModel(); $range->name = 'test'; $type = new ResetType($config); - $this->assertEquals('reset', $type->getDefaultName($range)); + $this->assertSame('reset', $type->getDefaultName($range)); } /** - * Test buildForm() without name + * Test buildForm() without name. */ public function testBuildFormWithoutName() { $framework = $this->mockContaoFramework(); - $session = new MockArraySessionStorage(); + $session = new MockArraySessionStorage(); $queryBuilder = new FilterQueryBuilder($framework, new Connection([], new Driver())); - $config = new FilterConfig($framework, new FilterSession($framework, new Session($session)), $queryBuilder); + $config = new FilterConfig($framework, new FilterSession($framework, new Session($session)), $queryBuilder); $this->container->setParameter('huh.filter', [ 'filter' => [ 'types' => [ [ - 'name' => 'reset', + 'name' => 'reset', 'class' => ResetType::class, - 'type' => 'button' - ] - ] - ] + 'type' => 'button', + ], + ], + ], ]); $this->container->set('huh.filter.choice.type', new TypeChoice($framework)); @@ -191,36 +188,36 @@ public function testBuildFormWithoutName() $filter = ['name' => 'test', 'dataContainer' => 'tl_test']; - $element = new FilterConfigElementModel(); + $element = new FilterConfigElementModel(); $element->type = 'reset'; $config->init('test', $filter, [$element]); $config->buildForm(); - $this->assertEquals(2, $config->getBuilder()->count()); // f_id and f_ref element always exists + $this->assertSame(2, $config->getBuilder()->count()); // f_id and f_ref element always exists } /** - * Test buildForm() with name + * Test buildForm() with name. */ public function testBuildFormWithName() { $framework = $this->mockContaoFramework(); - $session = new MockArraySessionStorage(); + $session = new MockArraySessionStorage(); $queryBuilder = new FilterQueryBuilder($framework, new Connection([], new Driver())); - $config = new FilterConfig($framework, new FilterSession($framework, new Session($session)), $queryBuilder); + $config = new FilterConfig($framework, new FilterSession($framework, new Session($session)), $queryBuilder); $this->container->setParameter('huh.filter', [ 'filter' => [ 'types' => [ [ - 'name' => 'reset', + 'name' => 'reset', 'class' => ResetType::class, - 'type' => 'button' - ] - ] - ] + 'type' => 'button', + ], + ], + ], ]); $this->container->set('huh.filter.choice.type', new TypeChoice($framework)); @@ -228,7 +225,7 @@ public function testBuildFormWithName() $filter = ['name' => 'test', 'dataContainer' => 'tl_test']; - $element = new FilterConfigElementModel(); + $element = new FilterConfigElementModel(); $element->type = 'reset'; $element->name = 'test'; @@ -236,32 +233,32 @@ public function testBuildFormWithName() $config->setData(['foo' => 'bar']); // data is required to display reset button $config->buildForm(); - $this->assertEquals(3, $config->getBuilder()->count()); // f_id and f_ref element always exists + $this->assertSame(3, $config->getBuilder()->count()); // f_id and f_ref element always exists $this->assertTrue($config->getBuilder()->has('reset')); $this->assertInstanceOf(\Symfony\Component\Form\Extension\Core\Type\SubmitType::class, $config->getBuilder()->get('reset')->getType()->getInnerType()); } /** - * Test buildForm() with custom label + * Test buildForm() with custom label. */ public function testBuildFormWithLabel() { $framework = $this->mockContaoFramework(); - $session = new MockArraySessionStorage(); + $session = new MockArraySessionStorage(); $queryBuilder = new FilterQueryBuilder($framework, new Connection([], new Driver())); - $config = new FilterConfig($framework, new FilterSession($framework, new Session($session)), $queryBuilder); + $config = new FilterConfig($framework, new FilterSession($framework, new Session($session)), $queryBuilder); $this->container->setParameter('huh.filter', [ 'filter' => [ 'types' => [ [ - 'name' => 'reset', + 'name' => 'reset', 'class' => ResetType::class, - 'type' => 'button' - ] - ] - ] + 'type' => 'button', + ], + ], + ], ]); $this->container->set('huh.filter.choice.type', new TypeChoice($framework)); @@ -269,43 +266,43 @@ public function testBuildFormWithLabel() $filter = ['name' => 'test', 'dataContainer' => 'tl_test']; - $element = new FilterConfigElementModel(); - $element->type = 'reset'; - $element->name = 'test'; + $element = new FilterConfigElementModel(); + $element->type = 'reset'; + $element->name = 'test'; $element->customLabel = true; - $element->label = 'Button label'; + $element->label = 'Button label'; $config->init('test', $filter, [$element]); $config->setData(['foo' => 'bar']); // data is required to display reset button $config->buildForm(); - $this->assertEquals(3, $config->getBuilder()->count()); // f_id and f_ref element always exists + $this->assertSame(3, $config->getBuilder()->count()); // f_id and f_ref element always exists $this->assertTrue($config->getBuilder()->has('reset')); $this->assertInstanceOf(\Symfony\Component\Form\Extension\Core\Type\SubmitType::class, $config->getBuilder()->get('reset')->getType()->getInnerType()); - $this->assertEquals('Button label', $config->getBuilder()->get('reset')->getForm()->getConfig()->getOption('label')); + $this->assertSame('Button label', $config->getBuilder()->get('reset')->getForm()->getConfig()->getOption('label')); } /** - * Test buildQuery() + * Test buildQuery(). */ public function testBuildQuery() { $framework = $this->mockContaoFramework(); - $session = new MockArraySessionStorage(); + $session = new MockArraySessionStorage(); $queryBuilder = new FilterQueryBuilder($framework, new Connection([], new Driver())); - $config = new FilterConfig($framework, new FilterSession($framework, new Session($session)), $queryBuilder); + $config = new FilterConfig($framework, new FilterSession($framework, new Session($session)), $queryBuilder); $this->container->setParameter('huh.filter', [ 'filter' => [ 'types' => [ [ - 'name' => 'reset', + 'name' => 'reset', 'class' => ResetType::class, - 'type' => 'button', - ] - ] - ] + 'type' => 'button', + ], + ], + ], ]); $this->container->set('huh.filter.choice.type', new TypeChoice($framework)); @@ -313,8 +310,8 @@ public function testBuildQuery() $filter = ['name' => 'test', 'dataContainer' => 'tl_test']; - $element = new FilterConfigElementModel(); - $element->id = 2; + $element = new FilterConfigElementModel(); + $element->id = 2; $element->type = 'reset'; $element->name = 'start'; @@ -330,6 +327,6 @@ public function testBuildQuery() */ protected function getFixturesDir(): string { - return __DIR__ . DIRECTORY_SEPARATOR . '../..' . DIRECTORY_SEPARATOR . 'Fixtures'; + return __DIR__.DIRECTORY_SEPARATOR.'../..'.DIRECTORY_SEPARATOR.'Fixtures'; } } diff --git a/tests/Filter/Type/SearchTypeTest.php b/tests/Filter/Type/SearchTypeTest.php index 86bf11b..6e1f8f7 100644 --- a/tests/Filter/Type/SearchTypeTest.php +++ b/tests/Filter/Type/SearchTypeTest.php @@ -17,8 +17,8 @@ use HeimrichHannot\FilterBundle\Config\FilterConfig; use HeimrichHannot\FilterBundle\Filter\Type\SearchType; use HeimrichHannot\FilterBundle\Model\FilterConfigElementModel; -use HeimrichHannot\FilterBundle\Session\FilterSession; use HeimrichHannot\FilterBundle\QueryBuilder\FilterQueryBuilder; +use HeimrichHannot\FilterBundle\Session\FilterSession; use HeimrichHannot\UtilsBundle\Database\DatabaseUtil; use Symfony\Component\DependencyInjection\ContainerBuilder; use Symfony\Component\HttpFoundation\Request; @@ -41,7 +41,6 @@ class SearchTypeTest extends ContaoTestCase */ private $kernel; - protected function setUp() { parent::setUp(); @@ -50,37 +49,35 @@ protected function setUp() \define('TL_ROOT', $this->getFixturesDir()); } - $GLOBALS['TL_LANGUAGE'] = 'en'; + $GLOBALS['TL_LANGUAGE'] = 'en'; $GLOBALS['TL_LANG']['MSC'] = ['test' => 'bar']; $GLOBALS['TL_DCA']['tl_test'] = [ 'config' => [ 'dataContainer' => 'Table', - 'sql' => [ + 'sql' => [ 'keys' => [ ], ], ], 'fields' => [ - - ] + ], ]; $GLOBALS['TL_DCA']['tl_filter_config_element'] = [ 'config' => [ 'dataContainer' => 'Table', - 'sql' => [ + 'sql' => [ 'keys' => [ ], ], ], 'fields' => [ - - ] + ], ]; $finder = new ResourceFinder([ - $this->getFixturesDir() . '/vendor/contao/core-bundle/Resources/contao', + $this->getFixturesDir().'/vendor/contao/core-bundle/Resources/contao', ]); $this->container = $this->mockContainer(); @@ -116,10 +113,10 @@ public function testCanBeInstantiated() System::setContainer($this->container); $framework = $this->mockContaoFramework(); - $session = new MockArraySessionStorage(); + $session = new MockArraySessionStorage(); $queryBuilder = new FilterQueryBuilder($framework, new Connection([], new Driver())); - $config = new FilterConfig($framework, new FilterSession($framework, new Session($session)), $queryBuilder); + $config = new FilterConfig($framework, new FilterSession($framework, new Session($session)), $queryBuilder); $type = new SearchType($config); @@ -127,45 +124,45 @@ public function testCanBeInstantiated() } /** - * Test getDefaultOperator() + * Test getDefaultOperator(). */ public function testGetDefaultOperator() { $framework = $this->mockContaoFramework(); - $session = new MockArraySessionStorage(); + $session = new MockArraySessionStorage(); $queryBuilder = new FilterQueryBuilder($framework, new Connection([], new Driver())); - $config = new FilterConfig($framework, new FilterSession($framework, new Session($session)), $queryBuilder); + $config = new FilterConfig($framework, new FilterSession($framework, new Session($session)), $queryBuilder); /** @var FilterConfigElementModel $element */ $element = $this->mockClassWithProperties(FilterConfigElementModel::class, []); $type = new SearchType($config); - $this->assertEquals(DatabaseUtil::OPERATOR_LIKE, $type->getDefaultOperator($element)); + $this->assertSame(DatabaseUtil::OPERATOR_LIKE, $type->getDefaultOperator($element)); } /** - * Test buildForm() with field name + * Test buildForm() with field name. */ public function testBuildFormWithFieldName() { $framework = $this->mockContaoFramework(); - $session = new MockArraySessionStorage(); + $session = new MockArraySessionStorage(); $queryBuilder = new FilterQueryBuilder($framework, new Connection([], new Driver())); - $config = new FilterConfig($framework, new FilterSession($framework, new Session($session)), $queryBuilder); + $config = new FilterConfig($framework, new FilterSession($framework, new Session($session)), $queryBuilder); $this->container->setParameter('huh.filter', [ 'filter' => [ 'types' => [ [ - 'name' => 'search', + 'name' => 'search', 'class' => SearchType::class, - 'type' => 'text' - ] - ] - ] + 'type' => 'text', + ], + ], + ], ]); $this->container->set('huh.filter.choice.type', new TypeChoice($framework)); @@ -173,14 +170,14 @@ public function testBuildFormWithFieldName() $filter = ['name' => 'test', 'dataContainer' => 'tl_test']; - $element = new FilterConfigElementModel(); - $element->type = 'search'; + $element = new FilterConfigElementModel(); + $element->type = 'search'; $element->field = 'test'; $config->init('test', $filter, [$element]); $config->buildForm(); - $this->assertEquals(3, $config->getBuilder()->count()); // f_id and f_ref element always exists + $this->assertSame(3, $config->getBuilder()->count()); // f_id and f_ref element always exists $this->assertTrue($config->getBuilder()->has('test')); $this->assertInstanceOf(\Symfony\Component\Form\Extension\Core\Type\SearchType::class, $config->getBuilder()->get('test')->getType()->getInnerType()); } @@ -190,6 +187,6 @@ public function testBuildFormWithFieldName() */ protected function getFixturesDir(): string { - return __DIR__ . DIRECTORY_SEPARATOR . '../..' . DIRECTORY_SEPARATOR . 'Fixtures'; + return __DIR__.DIRECTORY_SEPARATOR.'../..'.DIRECTORY_SEPARATOR.'Fixtures'; } } diff --git a/tests/Filter/Type/SubmitTypeTest.php b/tests/Filter/Type/SubmitTypeTest.php index 5e17284..1ba4fb9 100644 --- a/tests/Filter/Type/SubmitTypeTest.php +++ b/tests/Filter/Type/SubmitTypeTest.php @@ -17,8 +17,8 @@ use HeimrichHannot\FilterBundle\Config\FilterConfig; use HeimrichHannot\FilterBundle\Filter\Type\SubmitType; use HeimrichHannot\FilterBundle\Model\FilterConfigElementModel; -use HeimrichHannot\FilterBundle\Session\FilterSession; use HeimrichHannot\FilterBundle\QueryBuilder\FilterQueryBuilder; +use HeimrichHannot\FilterBundle\Session\FilterSession; use Symfony\Component\DependencyInjection\ContainerBuilder; use Symfony\Component\HttpFoundation\Request; use Symfony\Component\HttpFoundation\RequestStack; @@ -40,7 +40,6 @@ class SubmitTypeTest extends ContaoTestCase */ private $kernel; - protected function setUp() { parent::setUp(); @@ -49,37 +48,35 @@ protected function setUp() \define('TL_ROOT', $this->getFixturesDir()); } - $GLOBALS['TL_LANGUAGE'] = 'en'; + $GLOBALS['TL_LANGUAGE'] = 'en'; $GLOBALS['TL_LANG']['MSC'] = ['test' => 'bar']; $GLOBALS['TL_DCA']['tl_test'] = [ 'config' => [ 'dataContainer' => 'Table', - 'sql' => [ + 'sql' => [ 'keys' => [ ], ], ], 'fields' => [ - - ] + ], ]; $GLOBALS['TL_DCA']['tl_filter_config_element'] = [ 'config' => [ 'dataContainer' => 'Table', - 'sql' => [ + 'sql' => [ 'keys' => [ ], ], ], 'fields' => [ - - ] + ], ]; $finder = new ResourceFinder([ - $this->getFixturesDir() . '/vendor/contao/core-bundle/Resources/contao', + $this->getFixturesDir().'/vendor/contao/core-bundle/Resources/contao', ]); $this->container = $this->mockContainer(); @@ -115,10 +112,10 @@ public function testCanBeInstantiated() System::setContainer($this->container); $framework = $this->mockContaoFramework(); - $session = new MockArraySessionStorage(); + $session = new MockArraySessionStorage(); $queryBuilder = new FilterQueryBuilder($framework, new Connection([], new Driver())); - $config = new FilterConfig($framework, new FilterSession($framework, new Session($session)), $queryBuilder); + $config = new FilterConfig($framework, new FilterSession($framework, new Session($session)), $queryBuilder); $type = new SubmitType($config); @@ -126,15 +123,15 @@ public function testCanBeInstantiated() } /** - * Test getDefaultOperator() + * Test getDefaultOperator(). */ public function testGetDefaultOperator() { $framework = $this->mockContaoFramework(); - $session = new MockArraySessionStorage(); + $session = new MockArraySessionStorage(); $queryBuilder = new FilterQueryBuilder($framework, new Connection([], new Driver())); - $config = new FilterConfig($framework, new FilterSession($framework, new Session($session)), $queryBuilder); + $config = new FilterConfig($framework, new FilterSession($framework, new Session($session)), $queryBuilder); /** @var FilterConfigElementModel $element */ $element = $this->mockClassWithProperties(FilterConfigElementModel::class, []); @@ -145,45 +142,45 @@ public function testGetDefaultOperator() } /** - * Test getDefaultName() + * Test getDefaultName(). */ public function testGetDefaultName() { $framework = $this->mockContaoFramework(); - $session = new MockArraySessionStorage(); + $session = new MockArraySessionStorage(); $queryBuilder = new FilterQueryBuilder($framework, new Connection([], new Driver())); - $config = new FilterConfig($framework, new FilterSession($framework, new Session($session)), $queryBuilder); + $config = new FilterConfig($framework, new FilterSession($framework, new Session($session)), $queryBuilder); - $range = new FilterConfigElementModel(); + $range = new FilterConfigElementModel(); $range->name = 'test'; $type = new SubmitType($config); - $this->assertEquals('submit', $type->getDefaultName($range)); + $this->assertSame('submit', $type->getDefaultName($range)); } /** - * Test buildForm() without name + * Test buildForm() without name. */ public function testBuildFormWithoutName() { $framework = $this->mockContaoFramework(); - $session = new MockArraySessionStorage(); + $session = new MockArraySessionStorage(); $queryBuilder = new FilterQueryBuilder($framework, new Connection([], new Driver())); - $config = new FilterConfig($framework, new FilterSession($framework, new Session($session)), $queryBuilder); + $config = new FilterConfig($framework, new FilterSession($framework, new Session($session)), $queryBuilder); $this->container->setParameter('huh.filter', [ 'filter' => [ 'types' => [ [ - 'name' => 'submit', + 'name' => 'submit', 'class' => SubmitType::class, - 'type' => 'button' - ] - ] - ] + 'type' => 'button', + ], + ], + ], ]); $this->container->set('huh.filter.choice.type', new TypeChoice($framework)); @@ -191,38 +188,38 @@ public function testBuildFormWithoutName() $filter = ['name' => 'test', 'dataContainer' => 'tl_test']; - $element = new FilterConfigElementModel(); + $element = new FilterConfigElementModel(); $element->type = 'submit'; $config->init('test', $filter, [$element]); $config->buildForm(); - $this->assertEquals(3, $config->getBuilder()->count()); // f_id and f_ref element always exists + $this->assertSame(3, $config->getBuilder()->count()); // f_id and f_ref element always exists $this->assertFalse($config->getBuilder()->has('test')); $this->assertInstanceOf(\Symfony\Component\Form\Extension\Core\Type\SubmitType::class, $config->getBuilder()->get('submit')->getType()->getInnerType()); } /** - * Test buildForm() with name + * Test buildForm() with name. */ public function testBuildFormWithName() { $framework = $this->mockContaoFramework(); - $session = new MockArraySessionStorage(); + $session = new MockArraySessionStorage(); $queryBuilder = new FilterQueryBuilder($framework, new Connection([], new Driver())); - $config = new FilterConfig($framework, new FilterSession($framework, new Session($session)), $queryBuilder); + $config = new FilterConfig($framework, new FilterSession($framework, new Session($session)), $queryBuilder); $this->container->setParameter('huh.filter', [ 'filter' => [ 'types' => [ [ - 'name' => 'submit', + 'name' => 'submit', 'class' => SubmitType::class, - 'type' => 'button' - ] - ] - ] + 'type' => 'button', + ], + ], + ], ]); $this->container->set('huh.filter.choice.type', new TypeChoice($framework)); @@ -230,39 +227,39 @@ public function testBuildFormWithName() $filter = ['name' => 'test', 'dataContainer' => 'tl_test']; - $element = new FilterConfigElementModel(); + $element = new FilterConfigElementModel(); $element->type = 'submit'; $element->name = 'test'; $config->init('test', $filter, [$element]); $config->buildForm(); - $this->assertEquals(3, $config->getBuilder()->count()); // f_id and f_ref element always exists + $this->assertSame(3, $config->getBuilder()->count()); // f_id and f_ref element always exists $this->assertFalse($config->getBuilder()->has('test')); $this->assertInstanceOf(\Symfony\Component\Form\Extension\Core\Type\SubmitType::class, $config->getBuilder()->get('submit')->getType()->getInnerType()); } /** - * Test buildForm() with custom label + * Test buildForm() with custom label. */ public function testBuildFormWithLabel() { $framework = $this->mockContaoFramework(); - $session = new MockArraySessionStorage(); + $session = new MockArraySessionStorage(); $queryBuilder = new FilterQueryBuilder($framework, new Connection([], new Driver())); - $config = new FilterConfig($framework, new FilterSession($framework, new Session($session)), $queryBuilder); + $config = new FilterConfig($framework, new FilterSession($framework, new Session($session)), $queryBuilder); $this->container->setParameter('huh.filter', [ 'filter' => [ 'types' => [ [ - 'name' => 'submit', + 'name' => 'submit', 'class' => SubmitType::class, - 'type' => 'button' - ] - ] - ] + 'type' => 'button', + ], + ], + ], ]); $this->container->set('huh.filter.choice.type', new TypeChoice($framework)); @@ -270,42 +267,42 @@ public function testBuildFormWithLabel() $filter = ['name' => 'test', 'dataContainer' => 'tl_test']; - $element = new FilterConfigElementModel(); - $element->type = 'submit'; - $element->name = 'test'; + $element = new FilterConfigElementModel(); + $element->type = 'submit'; + $element->name = 'test'; $element->customLabel = true; - $element->label = 'Button label'; + $element->label = 'Button label'; $config->init('test', $filter, [$element]); $config->buildForm(); - $this->assertEquals(3, $config->getBuilder()->count()); // f_id and f_ref element always exists + $this->assertSame(3, $config->getBuilder()->count()); // f_id and f_ref element always exists $this->assertFalse($config->getBuilder()->has('test')); $this->assertInstanceOf(\Symfony\Component\Form\Extension\Core\Type\SubmitType::class, $config->getBuilder()->get('submit')->getType()->getInnerType()); - $this->assertEquals('Button label', $config->getBuilder()->get('submit')->getForm()->getConfig()->getOption('label')); + $this->assertSame('Button label', $config->getBuilder()->get('submit')->getForm()->getConfig()->getOption('label')); } /** - * Test buildQuery() + * Test buildQuery(). */ public function testBuildQuery() { $framework = $this->mockContaoFramework(); - $session = new MockArraySessionStorage(); + $session = new MockArraySessionStorage(); $queryBuilder = new FilterQueryBuilder($framework, new Connection([], new Driver())); - $config = new FilterConfig($framework, new FilterSession($framework, new Session($session)), $queryBuilder); + $config = new FilterConfig($framework, new FilterSession($framework, new Session($session)), $queryBuilder); $this->container->setParameter('huh.filter', [ 'filter' => [ 'types' => [ [ - 'name' => 'submit', + 'name' => 'submit', 'class' => SubmitType::class, - 'type' => 'button', - ] - ] - ] + 'type' => 'button', + ], + ], + ], ]); $this->container->set('huh.filter.choice.type', new TypeChoice($framework)); @@ -313,8 +310,8 @@ public function testBuildQuery() $filter = ['name' => 'test', 'dataContainer' => 'tl_test']; - $element = new FilterConfigElementModel(); - $element->id = 2; + $element = new FilterConfigElementModel(); + $element->id = 2; $element->type = 'submit'; $element->name = 'start'; @@ -330,6 +327,6 @@ public function testBuildQuery() */ protected function getFixturesDir(): string { - return __DIR__ . DIRECTORY_SEPARATOR . '../..' . DIRECTORY_SEPARATOR . 'Fixtures'; + return __DIR__.DIRECTORY_SEPARATOR.'../..'.DIRECTORY_SEPARATOR.'Fixtures'; } } diff --git a/tests/Filter/Type/TelTypeTest.php b/tests/Filter/Type/TelTypeTest.php index 6d718b8..8a3bcc0 100644 --- a/tests/Filter/Type/TelTypeTest.php +++ b/tests/Filter/Type/TelTypeTest.php @@ -16,10 +16,9 @@ use HeimrichHannot\FilterBundle\Choice\TypeChoice; use HeimrichHannot\FilterBundle\Config\FilterConfig; use HeimrichHannot\FilterBundle\Filter\Type\TelType; -use HeimrichHannot\FilterBundle\Filter\Type\UrlType; use HeimrichHannot\FilterBundle\Model\FilterConfigElementModel; -use HeimrichHannot\FilterBundle\Session\FilterSession; use HeimrichHannot\FilterBundle\QueryBuilder\FilterQueryBuilder; +use HeimrichHannot\FilterBundle\Session\FilterSession; use HeimrichHannot\UtilsBundle\Database\DatabaseUtil; use Symfony\Component\DependencyInjection\ContainerBuilder; use Symfony\Component\HttpFoundation\Request; @@ -42,7 +41,6 @@ class TelTypeTest extends ContaoTestCase */ private $kernel; - protected function setUp() { parent::setUp(); @@ -51,37 +49,35 @@ protected function setUp() \define('TL_ROOT', $this->getFixturesDir()); } - $GLOBALS['TL_LANGUAGE'] = 'en'; + $GLOBALS['TL_LANGUAGE'] = 'en'; $GLOBALS['TL_LANG']['MSC'] = ['test' => 'bar']; $GLOBALS['TL_DCA']['tl_test'] = [ 'config' => [ 'dataContainer' => 'Table', - 'sql' => [ + 'sql' => [ 'keys' => [ ], ], ], 'fields' => [ - - ] + ], ]; $GLOBALS['TL_DCA']['tl_filter_config_element'] = [ 'config' => [ 'dataContainer' => 'Table', - 'sql' => [ + 'sql' => [ 'keys' => [ ], ], ], 'fields' => [ - - ] + ], ]; $finder = new ResourceFinder([ - $this->getFixturesDir() . '/vendor/contao/core-bundle/Resources/contao', + $this->getFixturesDir().'/vendor/contao/core-bundle/Resources/contao', ]); $this->container = $this->mockContainer(); @@ -117,10 +113,10 @@ public function testCanBeInstantiated() System::setContainer($this->container); $framework = $this->mockContaoFramework(); - $session = new MockArraySessionStorage(); + $session = new MockArraySessionStorage(); $queryBuilder = new FilterQueryBuilder($framework, new Connection([], new Driver())); - $config = new FilterConfig($framework, new FilterSession($framework, new Session($session)), $queryBuilder); + $config = new FilterConfig($framework, new FilterSession($framework, new Session($session)), $queryBuilder); $type = new TelType($config); @@ -128,45 +124,45 @@ public function testCanBeInstantiated() } /** - * Test getDefaultOperator() + * Test getDefaultOperator(). */ public function testGetDefaultOperator() { $framework = $this->mockContaoFramework(); - $session = new MockArraySessionStorage(); + $session = new MockArraySessionStorage(); $queryBuilder = new FilterQueryBuilder($framework, new Connection([], new Driver())); - $config = new FilterConfig($framework, new FilterSession($framework, new Session($session)), $queryBuilder); + $config = new FilterConfig($framework, new FilterSession($framework, new Session($session)), $queryBuilder); /** @var FilterConfigElementModel $element */ $element = $this->mockClassWithProperties(FilterConfigElementModel::class, []); $type = new TelType($config); - $this->assertEquals(DatabaseUtil::OPERATOR_LIKE, $type->getDefaultOperator($element)); + $this->assertSame(DatabaseUtil::OPERATOR_LIKE, $type->getDefaultOperator($element)); } /** - * Test buildForm() with field name + * Test buildForm() with field name. */ public function testBuildFormWithFieldName() { $framework = $this->mockContaoFramework(); - $session = new MockArraySessionStorage(); + $session = new MockArraySessionStorage(); $queryBuilder = new FilterQueryBuilder($framework, new Connection([], new Driver())); - $config = new FilterConfig($framework, new FilterSession($framework, new Session($session)), $queryBuilder); + $config = new FilterConfig($framework, new FilterSession($framework, new Session($session)), $queryBuilder); $this->container->setParameter('huh.filter', [ 'filter' => [ 'types' => [ [ - 'name' => 'tel', + 'name' => 'tel', 'class' => TelType::class, - 'type' => 'text' - ] - ] - ] + 'type' => 'text', + ], + ], + ], ]); $this->container->set('huh.filter.choice.type', new TypeChoice($framework)); @@ -174,14 +170,14 @@ public function testBuildFormWithFieldName() $filter = ['name' => 'test', 'dataContainer' => 'tl_test']; - $element = new FilterConfigElementModel(); - $element->type = 'tel'; + $element = new FilterConfigElementModel(); + $element->type = 'tel'; $element->field = 'test'; $config->init('test', $filter, [$element]); $config->buildForm(); - $this->assertEquals(3, $config->getBuilder()->count()); // f_id and f_ref element always exists + $this->assertSame(3, $config->getBuilder()->count()); // f_id and f_ref element always exists $this->assertTrue($config->getBuilder()->has('test')); $this->assertInstanceOf(\Symfony\Component\Form\Extension\Core\Type\TelType::class, $config->getBuilder()->get('test')->getType()->getInnerType()); } @@ -191,6 +187,6 @@ public function testBuildFormWithFieldName() */ protected function getFixturesDir(): string { - return __DIR__ . DIRECTORY_SEPARATOR . '../..' . DIRECTORY_SEPARATOR . 'Fixtures'; + return __DIR__.DIRECTORY_SEPARATOR.'../..'.DIRECTORY_SEPARATOR.'Fixtures'; } } diff --git a/tests/Filter/Type/TextConcatTypeTest.php b/tests/Filter/Type/TextConcatTypeTest.php index 96fae1b..3af14e2 100644 --- a/tests/Filter/Type/TextConcatTypeTest.php +++ b/tests/Filter/Type/TextConcatTypeTest.php @@ -17,8 +17,8 @@ use HeimrichHannot\FilterBundle\Config\FilterConfig; use HeimrichHannot\FilterBundle\Filter\Type\TextConcatType; use HeimrichHannot\FilterBundle\Model\FilterConfigElementModel; -use HeimrichHannot\FilterBundle\Session\FilterSession; use HeimrichHannot\FilterBundle\QueryBuilder\FilterQueryBuilder; +use HeimrichHannot\FilterBundle\Session\FilterSession; use HeimrichHannot\UtilsBundle\Database\DatabaseUtil; use Symfony\Component\DependencyInjection\ContainerBuilder; use Symfony\Component\HttpFoundation\Request; @@ -41,7 +41,6 @@ class TextConcatTypeTest extends ContaoTestCase */ private $kernel; - protected function setUp() { parent::setUp(); @@ -50,37 +49,35 @@ protected function setUp() \define('TL_ROOT', $this->getFixturesDir()); } - $GLOBALS['TL_LANGUAGE'] = 'en'; + $GLOBALS['TL_LANGUAGE'] = 'en'; $GLOBALS['TL_LANG']['MSC'] = ['test' => 'bar']; $GLOBALS['TL_DCA']['tl_test'] = [ 'config' => [ 'dataContainer' => 'Table', - 'sql' => [ + 'sql' => [ 'keys' => [ ], ], ], 'fields' => [ - - ] + ], ]; $GLOBALS['TL_DCA']['tl_filter_config_element'] = [ 'config' => [ 'dataContainer' => 'Table', - 'sql' => [ + 'sql' => [ 'keys' => [ ], ], ], 'fields' => [ - - ] + ], ]; $finder = new ResourceFinder([ - $this->getFixturesDir() . '/vendor/contao/core-bundle/Resources/contao', + $this->getFixturesDir().'/vendor/contao/core-bundle/Resources/contao', ]); $this->container = $this->mockContainer(); @@ -116,10 +113,10 @@ public function testCanBeInstantiated() System::setContainer($this->container); $framework = $this->mockContaoFramework(); - $session = new MockArraySessionStorage(); + $session = new MockArraySessionStorage(); $queryBuilder = new FilterQueryBuilder($framework, new Connection([], new Driver())); - $config = new FilterConfig($framework, new FilterSession($framework, new Session($session)), $queryBuilder); + $config = new FilterConfig($framework, new FilterSession($framework, new Session($session)), $queryBuilder); $type = new TextConcatType($config); @@ -127,64 +124,64 @@ public function testCanBeInstantiated() } /** - * Test getDefaultOperator() + * Test getDefaultOperator(). */ public function testGetDefaultOperator() { $framework = $this->mockContaoFramework(); - $session = new MockArraySessionStorage(); + $session = new MockArraySessionStorage(); $queryBuilder = new FilterQueryBuilder($framework, new Connection([], new Driver())); - $config = new FilterConfig($framework, new FilterSession($framework, new Session($session)), $queryBuilder); + $config = new FilterConfig($framework, new FilterSession($framework, new Session($session)), $queryBuilder); /** @var FilterConfigElementModel $element */ $element = $this->mockClassWithProperties(FilterConfigElementModel::class, []); $type = new TextConcatType($config); - $this->assertEquals(DatabaseUtil::OPERATOR_LIKE, $type->getDefaultOperator($element)); + $this->assertSame(DatabaseUtil::OPERATOR_LIKE, $type->getDefaultOperator($element)); } /** - * Test getDefaultName() + * Test getDefaultName(). */ public function testGetDefaultName() { $framework = $this->mockContaoFramework(); - $session = new MockArraySessionStorage(); + $session = new MockArraySessionStorage(); $queryBuilder = new FilterQueryBuilder($framework, new Connection([], new Driver())); - $config = new FilterConfig($framework, new FilterSession($framework, new Session($session)), $queryBuilder); + $config = new FilterConfig($framework, new FilterSession($framework, new Session($session)), $queryBuilder); - $range = new FilterConfigElementModel(); + $range = new FilterConfigElementModel(); $range->name = 'test'; $type = new TextConcatType($config); - $this->assertEquals('test', $type->getDefaultName($range)); + $this->assertSame('test', $type->getDefaultName($range)); } /** - * Test buildForm() without name + * Test buildForm() without name. */ public function testBuildFormWithoutName() { $framework = $this->mockContaoFramework(); - $session = new MockArraySessionStorage(); + $session = new MockArraySessionStorage(); $queryBuilder = new FilterQueryBuilder($framework, new Connection([], new Driver())); - $config = new FilterConfig($framework, new FilterSession($framework, new Session($session)), $queryBuilder); + $config = new FilterConfig($framework, new FilterSession($framework, new Session($session)), $queryBuilder); $this->container->setParameter('huh.filter', [ 'filter' => [ 'types' => [ [ - 'name' => 'text_concat', + 'name' => 'text_concat', 'class' => TextConcatType::class, - 'type' => 'text' - ] - ] - ] + 'type' => 'text', + ], + ], + ], ]); $this->container->set('huh.filter.choice.type', new TypeChoice($framework)); @@ -192,36 +189,36 @@ public function testBuildFormWithoutName() $filter = ['name' => 'test', 'dataContainer' => 'tl_test']; - $element = new FilterConfigElementModel(); + $element = new FilterConfigElementModel(); $element->type = 'text_concat'; $config->init('test', $filter, [$element]); $config->buildForm(); - $this->assertEquals(2, $config->getBuilder()->count()); // f_id and f_ref element always exists + $this->assertSame(2, $config->getBuilder()->count()); // f_id and f_ref element always exists } /** - * Test buildForm() with field name + * Test buildForm() with field name. */ public function testBuildFormWithFieldName() { $framework = $this->mockContaoFramework(); - $session = new MockArraySessionStorage(); + $session = new MockArraySessionStorage(); $queryBuilder = new FilterQueryBuilder($framework, new Connection([], new Driver())); - $config = new FilterConfig($framework, new FilterSession($framework, new Session($session)), $queryBuilder); + $config = new FilterConfig($framework, new FilterSession($framework, new Session($session)), $queryBuilder); $this->container->setParameter('huh.filter', [ 'filter' => [ 'types' => [ [ - 'name' => 'text_concat', + 'name' => 'text_concat', 'class' => TextConcatType::class, - 'type' => 'text' - ] - ] - ] + 'type' => 'text', + ], + ], + ], ]); $this->container->set('huh.filter.choice.type', new TypeChoice($framework)); @@ -229,39 +226,39 @@ public function testBuildFormWithFieldName() $filter = ['name' => 'test', 'dataContainer' => 'tl_test']; - $element = new FilterConfigElementModel(); - $element->type = 'text_concat'; + $element = new FilterConfigElementModel(); + $element->type = 'text_concat'; $element->field = 'test'; $config->init('test', $filter, [$element]); $config->buildForm(); - $this->assertEquals(3, $config->getBuilder()->count()); // f_id and f_ref element always exists + $this->assertSame(3, $config->getBuilder()->count()); // f_id and f_ref element always exists $this->assertTrue($config->getBuilder()->has('test')); $this->assertInstanceOf(\Symfony\Component\Form\Extension\Core\Type\TextType::class, $config->getBuilder()->get('test')->getType()->getInnerType()); } /** - * Test buildQuery() without dca field + * Test buildQuery() without dca field. */ public function testBuildQueryWithoutDcaField() { $framework = $this->mockContaoFramework(); - $session = new MockArraySessionStorage(); + $session = new MockArraySessionStorage(); $queryBuilder = new FilterQueryBuilder($framework, new Connection([], new Driver())); - $config = new FilterConfig($framework, new FilterSession($framework, new Session($session)), $queryBuilder); + $config = new FilterConfig($framework, new FilterSession($framework, new Session($session)), $queryBuilder); $this->container->setParameter('huh.filter', [ 'filter' => [ 'types' => [ [ - 'name' => 'text_concat', + 'name' => 'text_concat', 'class' => TextConcatType::class, - 'type' => 'text' - ] - ] - ] + 'type' => 'text', + ], + ], + ], ]); $this->container->set('huh.filter.choice.type', new TypeChoice($framework)); @@ -269,8 +266,8 @@ public function testBuildQueryWithoutDcaField() $filter = ['name' => 'test', 'dataContainer' => 'tl_test']; - $element = new FilterConfigElementModel(); - $element->id = 2; + $element = new FilterConfigElementModel(); + $element->id = 2; $element->type = 'text_concat'; $element->name = 'test'; @@ -282,26 +279,26 @@ public function testBuildQueryWithoutDcaField() } /** - * Test buildQuery() without fields + * Test buildQuery() without fields. */ public function testBuildQueryWithoutFields() { $framework = $this->mockContaoFramework(); - $session = new MockArraySessionStorage(); + $session = new MockArraySessionStorage(); $queryBuilder = new FilterQueryBuilder($framework, new Connection([], new Driver())); - $config = new FilterConfig($framework, new FilterSession($framework, new Session($session)), $queryBuilder); + $config = new FilterConfig($framework, new FilterSession($framework, new Session($session)), $queryBuilder); $this->container->setParameter('huh.filter', [ 'filter' => [ 'types' => [ [ - 'name' => 'text_concat', + 'name' => 'text_concat', 'class' => TextConcatType::class, - 'type' => 'text' - ] - ] - ] + 'type' => 'text', + ], + ], + ], ]); $GLOBALS['TL_DCA']['tl_test']['fields']['test'] = [ @@ -318,8 +315,8 @@ public function testBuildQueryWithoutFields() $errorReporting = error_reporting(); error_reporting($errorReporting & ~E_NOTICE); - $element = new FilterConfigElementModel(); - $element->id = 2; + $element = new FilterConfigElementModel(); + $element->id = 2; $element->type = 'text_concat'; $element->name = 'test'; @@ -332,26 +329,26 @@ public function testBuildQueryWithoutFields() } /** - * Test buildQuery() without data + * Test buildQuery() without data. */ public function testBuildQueryWithoutData() { $framework = $this->mockContaoFramework(); - $session = new MockArraySessionStorage(); + $session = new MockArraySessionStorage(); $queryBuilder = new FilterQueryBuilder($framework, new Connection([], new Driver())); - $config = new FilterConfig($framework, new FilterSession($framework, new Session($session)), $queryBuilder); + $config = new FilterConfig($framework, new FilterSession($framework, new Session($session)), $queryBuilder); $this->container->setParameter('huh.filter', [ 'filter' => [ 'types' => [ [ - 'name' => 'text_concat', + 'name' => 'text_concat', 'class' => TextConcatType::class, - 'type' => 'text' - ] - ] - ] + 'type' => 'text', + ], + ], + ], ]); $GLOBALS['TL_DCA']['tl_test']['fields']['test'] = [ @@ -368,8 +365,8 @@ public function testBuildQueryWithoutData() $errorReporting = error_reporting(); error_reporting($errorReporting & ~E_NOTICE); - $element = new FilterConfigElementModel(); - $element->id = 2; + $element = new FilterConfigElementModel(); + $element->id = 2; $element->type = 'text_concat'; $config->init('test', $filter, [$element]); @@ -380,26 +377,26 @@ public function testBuildQueryWithoutData() } /** - * Test buildQuery() without dca field + * Test buildQuery() without dca field. */ public function testBuildQuery() { $framework = $this->mockContaoFramework(); - $session = new MockArraySessionStorage(); + $session = new MockArraySessionStorage(); $queryBuilder = new FilterQueryBuilder($framework, new Connection([], new Driver())); - $config = new FilterConfig($framework, new FilterSession($framework, new Session($session)), $queryBuilder); + $config = new FilterConfig($framework, new FilterSession($framework, new Session($session)), $queryBuilder); $this->container->setParameter('huh.filter', [ 'filter' => [ 'types' => [ [ - 'name' => 'text_concat', + 'name' => 'text_concat', 'class' => TextConcatType::class, - 'type' => 'text' - ] - ] - ] + 'type' => 'text', + ], + ], + ], ]); $GLOBALS['TL_DCA']['tl_test']['fields']['first_name'] = [ @@ -420,10 +417,10 @@ public function testBuildQuery() $errorReporting = error_reporting(); error_reporting($errorReporting & ~E_NOTICE); - $element = new FilterConfigElementModel(); - $element->id = 2; - $element->type = 'text_concat'; - $element->name = 'name'; + $element = new FilterConfigElementModel(); + $element->id = 2; + $element->type = 'text_concat'; + $element->name = 'name'; $element->fields = ['first_name', 'last_name']; $config->init('test', $filter, [$element]); @@ -432,8 +429,8 @@ public function testBuildQuery() $this->assertNotEmpty($config->getQueryBuilder()->getParameters()); $this->assertNotEmpty($config->getQueryBuilder()->getQueryPart('where')); - $this->assertEquals('SELECT FROM tl_test WHERE CONCAT(first_name," ",last_name) LIKE :name', $config->getQueryBuilder()->getSQL()); - $this->assertEquals([':name' => '%John Doe%'], $config->getQueryBuilder()->getParameters()); + $this->assertSame('SELECT FROM tl_test WHERE CONCAT(first_name," ",last_name) LIKE :name', $config->getQueryBuilder()->getSQL()); + $this->assertSame([':name' => '%John Doe%'], $config->getQueryBuilder()->getParameters()); } /** @@ -441,6 +438,6 @@ public function testBuildQuery() */ protected function getFixturesDir(): string { - return __DIR__ . DIRECTORY_SEPARATOR . '../..' . DIRECTORY_SEPARATOR . 'Fixtures'; + return __DIR__.DIRECTORY_SEPARATOR.'../..'.DIRECTORY_SEPARATOR.'Fixtures'; } } diff --git a/tests/Filter/Type/TextTypeTest.php b/tests/Filter/Type/TextTypeTest.php index 6bec50a..062608e 100644 --- a/tests/Filter/Type/TextTypeTest.php +++ b/tests/Filter/Type/TextTypeTest.php @@ -17,8 +17,8 @@ use HeimrichHannot\FilterBundle\Config\FilterConfig; use HeimrichHannot\FilterBundle\Filter\Type\TextType; use HeimrichHannot\FilterBundle\Model\FilterConfigElementModel; -use HeimrichHannot\FilterBundle\Session\FilterSession; use HeimrichHannot\FilterBundle\QueryBuilder\FilterQueryBuilder; +use HeimrichHannot\FilterBundle\Session\FilterSession; use HeimrichHannot\UtilsBundle\Database\DatabaseUtil; use Symfony\Component\DependencyInjection\ContainerBuilder; use Symfony\Component\HttpFoundation\Request; @@ -41,7 +41,6 @@ class TextTypeTest extends ContaoTestCase */ private $kernel; - protected function setUp() { parent::setUp(); @@ -50,37 +49,35 @@ protected function setUp() \define('TL_ROOT', $this->getFixturesDir()); } - $GLOBALS['TL_LANGUAGE'] = 'en'; + $GLOBALS['TL_LANGUAGE'] = 'en'; $GLOBALS['TL_LANG']['MSC'] = ['test' => 'bar']; $GLOBALS['TL_DCA']['tl_test'] = [ 'config' => [ 'dataContainer' => 'Table', - 'sql' => [ + 'sql' => [ 'keys' => [ ], ], ], 'fields' => [ - - ] + ], ]; $GLOBALS['TL_DCA']['tl_filter_config_element'] = [ 'config' => [ 'dataContainer' => 'Table', - 'sql' => [ + 'sql' => [ 'keys' => [ ], ], ], 'fields' => [ - - ] + ], ]; $finder = new ResourceFinder([ - $this->getFixturesDir() . '/vendor/contao/core-bundle/Resources/contao', + $this->getFixturesDir().'/vendor/contao/core-bundle/Resources/contao', ]); $this->container = $this->mockContainer(); @@ -116,10 +113,10 @@ public function testCanBeInstantiated() System::setContainer($this->container); $framework = $this->mockContaoFramework(); - $session = new MockArraySessionStorage(); + $session = new MockArraySessionStorage(); $queryBuilder = new FilterQueryBuilder($framework, new Connection([], new Driver())); - $config = new FilterConfig($framework, new FilterSession($framework, new Session($session)), $queryBuilder); + $config = new FilterConfig($framework, new FilterSession($framework, new Session($session)), $queryBuilder); $type = new TextType($config); @@ -127,36 +124,36 @@ public function testCanBeInstantiated() } /** - * Test getDefaultOperator() + * Test getDefaultOperator(). */ public function testGetDefaultOperator() { $framework = $this->mockContaoFramework(); - $session = new MockArraySessionStorage(); + $session = new MockArraySessionStorage(); $queryBuilder = new FilterQueryBuilder($framework, new Connection([], new Driver())); - $config = new FilterConfig($framework, new FilterSession($framework, new Session($session)), $queryBuilder); + $config = new FilterConfig($framework, new FilterSession($framework, new Session($session)), $queryBuilder); /** @var FilterConfigElementModel $element */ $element = $this->mockClassWithProperties(FilterConfigElementModel::class, []); $type = new TextType($config); - $this->assertEquals(DatabaseUtil::OPERATOR_LIKE, $type->getDefaultOperator($element)); + $this->assertSame(DatabaseUtil::OPERATOR_LIKE, $type->getDefaultOperator($element)); } /** - * Test getDefaultName() + * Test getDefaultName(). */ public function testGetDefaultName() { $framework = $this->mockContaoFramework(); - $session = new MockArraySessionStorage(); + $session = new MockArraySessionStorage(); $queryBuilder = new FilterQueryBuilder($framework, new Connection([], new Driver())); - $config = new FilterConfig($framework, new FilterSession($framework, new Session($session)), $queryBuilder); + $config = new FilterConfig($framework, new FilterSession($framework, new Session($session)), $queryBuilder); - $range = new FilterConfigElementModel(); + $range = new FilterConfigElementModel(); $range->name = 'test'; $type = new TextType($config); @@ -165,26 +162,26 @@ public function testGetDefaultName() } /** - * Test buildForm() without name + * Test buildForm() without name. */ public function testBuildFormWithoutName() { $framework = $this->mockContaoFramework(); - $session = new MockArraySessionStorage(); + $session = new MockArraySessionStorage(); $queryBuilder = new FilterQueryBuilder($framework, new Connection([], new Driver())); - $config = new FilterConfig($framework, new FilterSession($framework, new Session($session)), $queryBuilder); + $config = new FilterConfig($framework, new FilterSession($framework, new Session($session)), $queryBuilder); $this->container->setParameter('huh.filter', [ 'filter' => [ 'types' => [ [ - 'name' => 'text', + 'name' => 'text', 'class' => TextType::class, - 'type' => 'text' - ] - ] - ] + 'type' => 'text', + ], + ], + ], ]); $this->container->set('huh.filter.choice.type', new TypeChoice($framework)); @@ -192,36 +189,36 @@ public function testBuildFormWithoutName() $filter = ['name' => 'test', 'dataContainer' => 'tl_test']; - $element = new FilterConfigElementModel(); + $element = new FilterConfigElementModel(); $element->type = 'text'; $config->init('test', $filter, [$element]); $config->buildForm(); - $this->assertEquals(2, $config->getBuilder()->count()); // f_id and f_ref element always exists + $this->assertSame(2, $config->getBuilder()->count()); // f_id and f_ref element always exists } /** - * Test buildForm() with field name + * Test buildForm() with field name. */ public function testBuildFormWithFieldName() { $framework = $this->mockContaoFramework(); - $session = new MockArraySessionStorage(); + $session = new MockArraySessionStorage(); $queryBuilder = new FilterQueryBuilder($framework, new Connection([], new Driver())); - $config = new FilterConfig($framework, new FilterSession($framework, new Session($session)), $queryBuilder); + $config = new FilterConfig($framework, new FilterSession($framework, new Session($session)), $queryBuilder); $this->container->setParameter('huh.filter', [ 'filter' => [ 'types' => [ [ - 'name' => 'text', + 'name' => 'text', 'class' => TextType::class, - 'type' => 'text' - ] - ] - ] + 'type' => 'text', + ], + ], + ], ]); $this->container->set('huh.filter.choice.type', new TypeChoice($framework)); @@ -229,39 +226,39 @@ public function testBuildFormWithFieldName() $filter = ['name' => 'test', 'dataContainer' => 'tl_test']; - $element = new FilterConfigElementModel(); - $element->type = 'text'; + $element = new FilterConfigElementModel(); + $element->type = 'text'; $element->field = 'test'; $config->init('test', $filter, [$element]); $config->buildForm(); - $this->assertEquals(3, $config->getBuilder()->count()); // f_id and f_ref element always exists + $this->assertSame(3, $config->getBuilder()->count()); // f_id and f_ref element always exists $this->assertTrue($config->getBuilder()->has('test')); $this->assertInstanceOf(\Symfony\Component\Form\Extension\Core\Type\TextType::class, $config->getBuilder()->get('test')->getType()->getInnerType()); } /** - * Test buildForm() with custom value + * Test buildForm() with custom value. */ public function testBuildFormWithCustomValue() { $framework = $this->mockContaoFramework(); - $session = new MockArraySessionStorage(); + $session = new MockArraySessionStorage(); $queryBuilder = new FilterQueryBuilder($framework, new Connection([], new Driver())); - $config = new FilterConfig($framework, new FilterSession($framework, new Session($session)), $queryBuilder); + $config = new FilterConfig($framework, new FilterSession($framework, new Session($session)), $queryBuilder); $this->container->setParameter('huh.filter', [ 'filter' => [ 'types' => [ [ - 'name' => 'text', + 'name' => 'text', 'class' => TextType::class, - 'type' => 'text' - ] - ] - ] + 'type' => 'text', + ], + ], + ], ]); $this->container->set('huh.filter.choice.type', new TypeChoice($framework)); @@ -269,41 +266,41 @@ public function testBuildFormWithCustomValue() $filter = ['name' => 'test', 'dataContainer' => 'tl_test']; - $element = new FilterConfigElementModel(); - $element->type = 'text'; - $element->field = 'test'; + $element = new FilterConfigElementModel(); + $element->type = 'text'; + $element->field = 'test'; $element->customValue = true; - $element->value = 'myCustomValue'; + $element->value = 'myCustomValue'; $config->init('test', $filter, [$element]); $config->buildForm(); - $this->assertEquals(3, $config->getBuilder()->count()); // f_id and f_ref element always exists + $this->assertSame(3, $config->getBuilder()->count()); // f_id and f_ref element always exists $this->assertTrue($config->getBuilder()->has('test')); $this->assertInstanceOf(\Symfony\Component\Form\Extension\Core\Type\TextType::class, $config->getBuilder()->get('test')->getType()->getInnerType()); } /** - * Test buildQuery() without dca field + * Test buildQuery() without dca field. */ public function testBuildQueryWithoutDcaField() { $framework = $this->mockContaoFramework(); - $session = new MockArraySessionStorage(); + $session = new MockArraySessionStorage(); $queryBuilder = new FilterQueryBuilder($framework, new Connection([], new Driver())); - $config = new FilterConfig($framework, new FilterSession($framework, new Session($session)), $queryBuilder); + $config = new FilterConfig($framework, new FilterSession($framework, new Session($session)), $queryBuilder); $this->container->setParameter('huh.filter', [ 'filter' => [ 'types' => [ [ - 'name' => 'text', + 'name' => 'text', 'class' => TextType::class, - 'type' => 'text' - ] - ] - ] + 'type' => 'text', + ], + ], + ], ]); $this->container->set('huh.filter.choice.type', new TypeChoice($framework)); @@ -311,10 +308,10 @@ public function testBuildQueryWithoutDcaField() $filter = ['name' => 'test', 'dataContainer' => 'tl_test']; - $element = new FilterConfigElementModel(); - $element->id = 2; - $element->type = 'text'; - $element->name = 'test'; + $element = new FilterConfigElementModel(); + $element->id = 2; + $element->type = 'text'; + $element->name = 'test'; $element->customName = true; $config->init('test', $filter, [$element]); @@ -325,26 +322,26 @@ public function testBuildQueryWithoutDcaField() } /** - * Test buildQuery() + * Test buildQuery(). */ public function testBuildQuery() { $framework = $this->mockContaoFramework(); - $session = new MockArraySessionStorage(); + $session = new MockArraySessionStorage(); $queryBuilder = new FilterQueryBuilder($framework, new Connection([], new Driver())); - $config = new FilterConfig($framework, new FilterSession($framework, new Session($session)), $queryBuilder); + $config = new FilterConfig($framework, new FilterSession($framework, new Session($session)), $queryBuilder); $this->container->setParameter('huh.filter', [ 'filter' => [ 'types' => [ [ - 'name' => 'text', + 'name' => 'text', 'class' => TextType::class, - 'type' => 'text' - ] - ] - ] + 'type' => 'text', + ], + ], + ], ]); $GLOBALS['TL_DCA']['tl_test']['fields']['test'] = [ @@ -361,9 +358,9 @@ public function testBuildQuery() $errorReporting = error_reporting(); error_reporting($errorReporting & ~E_NOTICE); - $element = new FilterConfigElementModel(); - $element->id = 2; - $element->type = 'text'; + $element = new FilterConfigElementModel(); + $element->id = 2; + $element->type = 'text'; $element->field = 'test'; $config->init('test', $filter, [$element]); @@ -372,8 +369,8 @@ public function testBuildQuery() $this->assertNotEmpty($config->getQueryBuilder()->getParameters()); $this->assertNotEmpty($config->getQueryBuilder()->getQueryPart('where')); - $this->assertEquals('SELECT FROM tl_test WHERE test LIKE :test', $config->getQueryBuilder()->getSQL()); - $this->assertEquals([':test' => '%1%'], $config->getQueryBuilder()->getParameters()); + $this->assertSame('SELECT FROM tl_test WHERE test LIKE :test', $config->getQueryBuilder()->getSQL()); + $this->assertSame([':test' => '%1%'], $config->getQueryBuilder()->getParameters()); } /** @@ -381,6 +378,6 @@ public function testBuildQuery() */ protected function getFixturesDir(): string { - return __DIR__ . DIRECTORY_SEPARATOR . '../..' . DIRECTORY_SEPARATOR . 'Fixtures'; + return __DIR__.DIRECTORY_SEPARATOR.'../..'.DIRECTORY_SEPARATOR.'Fixtures'; } } diff --git a/tests/Filter/Type/TextareaTypeTest.php b/tests/Filter/Type/TextareaTypeTest.php index 01e9ec3..8b3ec89 100644 --- a/tests/Filter/Type/TextareaTypeTest.php +++ b/tests/Filter/Type/TextareaTypeTest.php @@ -17,8 +17,8 @@ use HeimrichHannot\FilterBundle\Config\FilterConfig; use HeimrichHannot\FilterBundle\Filter\Type\TextareaType; use HeimrichHannot\FilterBundle\Model\FilterConfigElementModel; -use HeimrichHannot\FilterBundle\Session\FilterSession; use HeimrichHannot\FilterBundle\QueryBuilder\FilterQueryBuilder; +use HeimrichHannot\FilterBundle\Session\FilterSession; use HeimrichHannot\UtilsBundle\Database\DatabaseUtil; use Symfony\Component\DependencyInjection\ContainerBuilder; use Symfony\Component\HttpFoundation\Request; @@ -41,7 +41,6 @@ class TextareaTypeTest extends ContaoTestCase */ private $kernel; - protected function setUp() { parent::setUp(); @@ -50,37 +49,35 @@ protected function setUp() \define('TL_ROOT', $this->getFixturesDir()); } - $GLOBALS['TL_LANGUAGE'] = 'en'; + $GLOBALS['TL_LANGUAGE'] = 'en'; $GLOBALS['TL_LANG']['MSC'] = ['test' => 'bar']; $GLOBALS['TL_DCA']['tl_test'] = [ 'config' => [ 'dataContainer' => 'Table', - 'sql' => [ + 'sql' => [ 'keys' => [ ], ], ], 'fields' => [ - - ] + ], ]; $GLOBALS['TL_DCA']['tl_filter_config_element'] = [ 'config' => [ 'dataContainer' => 'Table', - 'sql' => [ + 'sql' => [ 'keys' => [ ], ], ], 'fields' => [ - - ] + ], ]; $finder = new ResourceFinder([ - $this->getFixturesDir() . '/vendor/contao/core-bundle/Resources/contao', + $this->getFixturesDir().'/vendor/contao/core-bundle/Resources/contao', ]); $this->container = $this->mockContainer(); @@ -116,10 +113,10 @@ public function testCanBeInstantiated() System::setContainer($this->container); $framework = $this->mockContaoFramework(); - $session = new MockArraySessionStorage(); + $session = new MockArraySessionStorage(); $queryBuilder = new FilterQueryBuilder($framework, new Connection([], new Driver())); - $config = new FilterConfig($framework, new FilterSession($framework, new Session($session)), $queryBuilder); + $config = new FilterConfig($framework, new FilterSession($framework, new Session($session)), $queryBuilder); $type = new TextareaType($config); @@ -127,45 +124,45 @@ public function testCanBeInstantiated() } /** - * Test getDefaultOperator() + * Test getDefaultOperator(). */ public function testGetDefaultOperator() { $framework = $this->mockContaoFramework(); - $session = new MockArraySessionStorage(); + $session = new MockArraySessionStorage(); $queryBuilder = new FilterQueryBuilder($framework, new Connection([], new Driver())); - $config = new FilterConfig($framework, new FilterSession($framework, new Session($session)), $queryBuilder); + $config = new FilterConfig($framework, new FilterSession($framework, new Session($session)), $queryBuilder); /** @var FilterConfigElementModel $element */ $element = $this->mockClassWithProperties(FilterConfigElementModel::class, []); $type = new TextareaType($config); - $this->assertEquals(DatabaseUtil::OPERATOR_LIKE, $type->getDefaultOperator($element)); + $this->assertSame(DatabaseUtil::OPERATOR_LIKE, $type->getDefaultOperator($element)); } /** - * Test buildForm() with field name + * Test buildForm() with field name. */ public function testBuildFormWithFieldName() { $framework = $this->mockContaoFramework(); - $session = new MockArraySessionStorage(); + $session = new MockArraySessionStorage(); $queryBuilder = new FilterQueryBuilder($framework, new Connection([], new Driver())); - $config = new FilterConfig($framework, new FilterSession($framework, new Session($session)), $queryBuilder); + $config = new FilterConfig($framework, new FilterSession($framework, new Session($session)), $queryBuilder); $this->container->setParameter('huh.filter', [ 'filter' => [ 'types' => [ [ - 'name' => 'textarea', + 'name' => 'textarea', 'class' => TextareaType::class, - 'type' => 'text' - ] - ] - ] + 'type' => 'text', + ], + ], + ], ]); $this->container->set('huh.filter.choice.type', new TypeChoice($framework)); @@ -173,14 +170,14 @@ public function testBuildFormWithFieldName() $filter = ['name' => 'test', 'dataContainer' => 'tl_test']; - $element = new FilterConfigElementModel(); - $element->type = 'textarea'; + $element = new FilterConfigElementModel(); + $element->type = 'textarea'; $element->field = 'test'; $config->init('test', $filter, [$element]); $config->buildForm(); - $this->assertEquals(3, $config->getBuilder()->count()); // f_id and f_ref element always exists + $this->assertSame(3, $config->getBuilder()->count()); // f_id and f_ref element always exists $this->assertTrue($config->getBuilder()->has('test')); $this->assertInstanceOf(\Symfony\Component\Form\Extension\Core\Type\TextareaType::class, $config->getBuilder()->get('test')->getType()->getInnerType()); } @@ -190,6 +187,6 @@ public function testBuildFormWithFieldName() */ protected function getFixturesDir(): string { - return __DIR__ . DIRECTORY_SEPARATOR . '../..' . DIRECTORY_SEPARATOR . 'Fixtures'; + return __DIR__.DIRECTORY_SEPARATOR.'../..'.DIRECTORY_SEPARATOR.'Fixtures'; } } diff --git a/tests/Filter/Type/TimeTypeTest.php b/tests/Filter/Type/TimeTypeTest.php index 50fa32d..2717d62 100644 --- a/tests/Filter/Type/TimeTypeTest.php +++ b/tests/Filter/Type/TimeTypeTest.php @@ -19,8 +19,8 @@ use HeimrichHannot\FilterBundle\Filter\Type\DateType; use HeimrichHannot\FilterBundle\Filter\Type\TimeType; use HeimrichHannot\FilterBundle\Model\FilterConfigElementModel; -use HeimrichHannot\FilterBundle\Session\FilterSession; use HeimrichHannot\FilterBundle\QueryBuilder\FilterQueryBuilder; +use HeimrichHannot\FilterBundle\Session\FilterSession; use HeimrichHannot\UtilsBundle\Database\DatabaseUtil; use HeimrichHannot\UtilsBundle\Date\DateUtil; use Symfony\Component\DependencyInjection\ContainerBuilder; @@ -44,7 +44,6 @@ class TimeTypeTest extends ContaoTestCase */ private $kernel; - protected function setUp() { parent::setUp(); @@ -53,37 +52,35 @@ protected function setUp() \define('TL_ROOT', $this->getFixturesDir()); } - $GLOBALS['TL_LANGUAGE'] = 'en'; + $GLOBALS['TL_LANGUAGE'] = 'en'; $GLOBALS['TL_LANG']['MSC'] = ['test' => 'bar']; $GLOBALS['TL_DCA']['tl_test'] = [ 'config' => [ 'dataContainer' => 'Table', - 'sql' => [ + 'sql' => [ 'keys' => [ ], ], ], 'fields' => [ - - ] + ], ]; $GLOBALS['TL_DCA']['tl_filter_config_element'] = [ 'config' => [ 'dataContainer' => 'Table', - 'sql' => [ + 'sql' => [ 'keys' => [ ], ], ], 'fields' => [ - - ] + ], ]; $finder = new ResourceFinder([ - $this->getFixturesDir() . '/vendor/contao/core-bundle/Resources/contao', + $this->getFixturesDir().'/vendor/contao/core-bundle/Resources/contao', ]); $this->container = $this->mockContainer(); @@ -119,10 +116,10 @@ public function testCanBeInstantiated() System::setContainer($this->container); $framework = $this->mockContaoFramework(); - $session = new MockArraySessionStorage(); + $session = new MockArraySessionStorage(); $queryBuilder = new FilterQueryBuilder($framework, new Connection([], new Driver())); - $config = new FilterConfig($framework, new FilterSession($framework, new Session($session)), $queryBuilder); + $config = new FilterConfig($framework, new FilterSession($framework, new Session($session)), $queryBuilder); $type = new TimeType($config); @@ -130,64 +127,64 @@ public function testCanBeInstantiated() } /** - * Test getDefaultOperator() + * Test getDefaultOperator(). */ public function testGetDefaultOperator() { $framework = $this->mockContaoFramework(); - $session = new MockArraySessionStorage(); + $session = new MockArraySessionStorage(); $queryBuilder = new FilterQueryBuilder($framework, new Connection([], new Driver())); - $config = new FilterConfig($framework, new FilterSession($framework, new Session($session)), $queryBuilder); + $config = new FilterConfig($framework, new FilterSession($framework, new Session($session)), $queryBuilder); /** @var FilterConfigElementModel $element */ $element = $this->mockClassWithProperties(FilterConfigElementModel::class, []); $type = new TimeType($config); - $this->assertEquals(DatabaseUtil::OPERATOR_EQUAL, $type->getDefaultOperator($element)); + $this->assertSame(DatabaseUtil::OPERATOR_EQUAL, $type->getDefaultOperator($element)); } /** - * Test getDefaultName() + * Test getDefaultName(). */ public function testGetDefaultName() { $framework = $this->mockContaoFramework(); - $session = new MockArraySessionStorage(); + $session = new MockArraySessionStorage(); $queryBuilder = new FilterQueryBuilder($framework, new Connection([], new Driver())); - $config = new FilterConfig($framework, new FilterSession($framework, new Session($session)), $queryBuilder); + $config = new FilterConfig($framework, new FilterSession($framework, new Session($session)), $queryBuilder); - $range = new FilterConfigElementModel(); + $range = new FilterConfigElementModel(); $range->name = 'test'; $type = new TimeType($config); - $this->assertEquals('test', $type->getDefaultName($range)); + $this->assertSame('test', $type->getDefaultName($range)); } /** - * Test buildForm() without name + * Test buildForm() without name. */ public function testBuildFormWithoutName() { $framework = $this->mockContaoFramework(); - $session = new MockArraySessionStorage(); + $session = new MockArraySessionStorage(); $queryBuilder = new FilterQueryBuilder($framework, new Connection([], new Driver())); - $config = new FilterConfig($framework, new FilterSession($framework, new Session($session)), $queryBuilder); + $config = new FilterConfig($framework, new FilterSession($framework, new Session($session)), $queryBuilder); $this->container->setParameter('huh.filter', [ 'filter' => [ 'types' => [ [ - 'name' => 'time', + 'name' => 'time', 'class' => TimeType::class, - 'type' => 'date' - ] - ] - ] + 'type' => 'date', + ], + ], + ], ]); $this->container->set('huh.filter.choice.type', new TypeChoice($framework)); @@ -195,36 +192,36 @@ public function testBuildFormWithoutName() $filter = ['name' => 'test', 'dataContainer' => 'tl_test']; - $element = new FilterConfigElementModel(); + $element = new FilterConfigElementModel(); $element->type = 'date'; $config->init('test', $filter, [$element]); $config->buildForm(); - $this->assertEquals(2, $config->getBuilder()->count()); // f_id and f_ref element always exists + $this->assertSame(2, $config->getBuilder()->count()); // f_id and f_ref element always exists } /** - * Test buildForm() with name as choice widget + * Test buildForm() with name as choice widget. */ public function testBuildFormChoiceWithName() { $framework = $this->mockContaoFramework(); - $session = new MockArraySessionStorage(); + $session = new MockArraySessionStorage(); $queryBuilder = new FilterQueryBuilder($framework, new Connection([], new Driver())); - $config = new FilterConfig($framework, new FilterSession($framework, new Session($session)), $queryBuilder); + $config = new FilterConfig($framework, new FilterSession($framework, new Session($session)), $queryBuilder); $this->container->setParameter('huh.filter', [ 'filter' => [ 'types' => [ [ - 'name' => 'time', + 'name' => 'time', 'class' => TimeType::class, - 'type' => 'date' - ] - ] - ] + 'type' => 'date', + ], + ], + ], ]); $this->container->set('huh.utils.date', new DateUtil($framework)); @@ -233,40 +230,40 @@ public function testBuildFormChoiceWithName() $filter = ['name' => 'test', 'dataContainer' => 'tl_test']; - $element = new FilterConfigElementModel(); + $element = new FilterConfigElementModel(); $element->type = 'time'; $element->name = 'start'; $config->init('test', $filter, [$element]); $config->buildForm(); - $this->assertEquals(3, $config->getBuilder()->count()); // f_id and f_ref element always exists + $this->assertSame(3, $config->getBuilder()->count()); // f_id and f_ref element always exists $this->assertTrue($config->getBuilder()->has('start')); $this->assertInstanceOf(\Symfony\Component\Form\Extension\Core\Type\TimeType::class, $config->getBuilder()->get('start')->getType()->getInnerType()); - $this->assertEquals(DateType::WIDGET_TYPE_CHOICE, $config->getBuilder()->get('start')->getForm()->getConfig()->getOption('widget')); + $this->assertSame(DateType::WIDGET_TYPE_CHOICE, $config->getBuilder()->get('start')->getForm()->getConfig()->getOption('widget')); } /** - * Test buildForm() with min and max date as choice widget + * Test buildForm() with min and max date as choice widget. */ public function testBuildFormChoiceWithMinAndMaxDate() { $framework = $this->mockContaoFramework(); - $session = new MockArraySessionStorage(); + $session = new MockArraySessionStorage(); $queryBuilder = new FilterQueryBuilder($framework, new Connection([], new Driver())); - $config = new FilterConfig($framework, new FilterSession($framework, new Session($session)), $queryBuilder); + $config = new FilterConfig($framework, new FilterSession($framework, new Session($session)), $queryBuilder); $this->container->setParameter('huh.filter', [ 'filter' => [ 'types' => [ [ - 'name' => 'time', + 'name' => 'time', 'class' => TimeType::class, - 'type' => 'date' - ] - ] - ] + 'type' => 'date', + ], + ], + ], ]); // Prevent "undefined index" errors @@ -279,42 +276,42 @@ public function testBuildFormChoiceWithMinAndMaxDate() $filter = ['name' => 'test', 'dataContainer' => 'tl_test']; - $element = new FilterConfigElementModel(); - $element->type = 'time'; - $element->name = 'start'; + $element = new FilterConfigElementModel(); + $element->type = 'time'; + $element->name = 'start'; $element->minTime = '11:34'; $element->maxTime = '23:34'; $config->init('test', $filter, [$element]); $config->buildForm(); - $this->assertEquals(3, $config->getBuilder()->count()); // f_id and f_ref element always exists + $this->assertSame(3, $config->getBuilder()->count()); // f_id and f_ref element always exists $this->assertTrue($config->getBuilder()->has('start')); $this->assertInstanceOf(\Symfony\Component\Form\Extension\Core\Type\TimeType::class, $config->getBuilder()->get('start')->getType()->getInnerType()); - $this->assertEquals(DateType::WIDGET_TYPE_CHOICE, $config->getBuilder()->get('start')->getForm()->getConfig()->getOption('widget')); + $this->assertSame(DateType::WIDGET_TYPE_CHOICE, $config->getBuilder()->get('start')->getForm()->getConfig()->getOption('widget')); } /** - * Test buildForm() with min and max date as single_text widget + * Test buildForm() with min and max date as single_text widget. */ public function testBuildFormSingleTextWithMinAndMaxDate() { $framework = $this->mockContaoFramework(); - $session = new MockArraySessionStorage(); + $session = new MockArraySessionStorage(); $queryBuilder = new FilterQueryBuilder($framework, new Connection([], new Driver())); - $config = new FilterConfig($framework, new FilterSession($framework, new Session($session)), $queryBuilder); + $config = new FilterConfig($framework, new FilterSession($framework, new Session($session)), $queryBuilder); $this->container->setParameter('huh.filter', [ 'filter' => [ 'types' => [ [ - 'name' => 'time', + 'name' => 'time', 'class' => TimeType::class, - 'type' => 'date' - ] - ] - ] + 'type' => 'date', + ], + ], + ], ]); // Prevent "undefined index" errors @@ -327,48 +324,48 @@ public function testBuildFormSingleTextWithMinAndMaxDate() $filter = ['name' => 'test', 'dataContainer' => 'tl_test']; - $element = new FilterConfigElementModel(); - $element->type = 'time'; - $element->name = 'start'; - $element->minTime = '{{date::H:i}}'; - $element->maxTime = '23:49'; + $element = new FilterConfigElementModel(); + $element->type = 'time'; + $element->name = 'start'; + $element->minTime = '{{date::H:i}}'; + $element->maxTime = '23:49'; $element->timeWidget = DateType::WIDGET_TYPE_SINGLE_TEXT; $config->init('test', $filter, [$element]); $config->buildForm(); - $this->assertEquals(3, $config->getBuilder()->count()); // f_id and f_ref element always exists + $this->assertSame(3, $config->getBuilder()->count()); // f_id and f_ref element always exists $this->assertTrue($config->getBuilder()->has('start')); $this->assertInstanceOf(\Symfony\Component\Form\Extension\Core\Type\TimeType::class, $config->getBuilder()->get('start')->getType()->getInnerType()); - $this->assertEquals(DateType::WIDGET_TYPE_SINGLE_TEXT, $config->getBuilder()->get('start')->getForm()->getConfig()->getOption('widget')); - $this->assertEquals('timepicker', $config->getBuilder()->get('start')->getForm()->getConfig()->getOption('group_attr')['class']); - $this->assertTrue((bool)$config->getBuilder()->get('start')->getForm()->getConfig()->getOption('attr')['data-enable-time']); - $this->assertEquals('H:i', $config->getBuilder()->get('start')->getForm()->getConfig()->getOption('attr')['data-date-format']); - $this->assertEquals(Date::parse('H:i', time()), $config->getBuilder()->get('start')->getForm()->getConfig()->getOption('attr')['data-min-date']); - $this->assertEquals('23:49', $config->getBuilder()->get('start')->getForm()->getConfig()->getOption('attr')['data-max-date']); + $this->assertSame(DateType::WIDGET_TYPE_SINGLE_TEXT, $config->getBuilder()->get('start')->getForm()->getConfig()->getOption('widget')); + $this->assertSame('timepicker', $config->getBuilder()->get('start')->getForm()->getConfig()->getOption('group_attr')['class']); + $this->assertTrue((bool) $config->getBuilder()->get('start')->getForm()->getConfig()->getOption('attr')['data-enable-time']); + $this->assertSame('H:i', $config->getBuilder()->get('start')->getForm()->getConfig()->getOption('attr')['data-date-format']); + $this->assertSame(Date::parse('H:i', time()), $config->getBuilder()->get('start')->getForm()->getConfig()->getOption('attr')['data-min-date']); + $this->assertSame('23:49', $config->getBuilder()->get('start')->getForm()->getConfig()->getOption('attr')['data-max-date']); } /** - * Test buildForm() with min and max date as single_text html5 widget + * Test buildForm() with min and max date as single_text html5 widget. */ public function testBuildFormSingleTextHtml5WithMinAndMaxDate() { $framework = $this->mockContaoFramework(); - $session = new MockArraySessionStorage(); + $session = new MockArraySessionStorage(); $queryBuilder = new FilterQueryBuilder($framework, new Connection([], new Driver())); - $config = new FilterConfig($framework, new FilterSession($framework, new Session($session)), $queryBuilder); + $config = new FilterConfig($framework, new FilterSession($framework, new Session($session)), $queryBuilder); $this->container->setParameter('huh.filter', [ 'filter' => [ 'types' => [ [ - 'name' => 'time', + 'name' => 'time', 'class' => TimeType::class, - 'type' => 'date' - ] - ] - ] + 'type' => 'date', + ], + ], + ], ]); // Prevent "undefined index" errors @@ -381,47 +378,47 @@ public function testBuildFormSingleTextHtml5WithMinAndMaxDate() $filter = ['name' => 'test', 'dataContainer' => 'tl_test']; - $element = new FilterConfigElementModel(); - $element->type = 'time'; - $element->name = 'start'; - $element->minTime = '{{date::H:i}}'; - $element->maxTime = '23:59'; + $element = new FilterConfigElementModel(); + $element->type = 'time'; + $element->name = 'start'; + $element->minTime = '{{date::H:i}}'; + $element->maxTime = '23:59'; $element->timeWidget = DateType::WIDGET_TYPE_SINGLE_TEXT; - $element->html5 = true; + $element->html5 = true; $config->init('test', $filter, [$element]); $config->buildForm(); - $this->assertEquals(3, $config->getBuilder()->count()); // f_id and f_ref element always exists + $this->assertSame(3, $config->getBuilder()->count()); // f_id and f_ref element always exists $this->assertTrue($config->getBuilder()->has('start')); $this->assertInstanceOf(\Symfony\Component\Form\Extension\Core\Type\TimeType::class, $config->getBuilder()->get('start')->getType()->getInnerType()); - $this->assertEquals(DateType::WIDGET_TYPE_SINGLE_TEXT, $config->getBuilder()->get('start')->getForm()->getConfig()->getOption('widget')); - $this->assertTrue((bool)$config->getBuilder()->get('start')->getForm()->getConfig()->getOption('html5')); - $this->assertEquals(Date::parse('\TH:i', time()), $config->getBuilder()->get('start')->getForm()->getConfig()->getOption('attr')['min']); - $this->assertEquals(Date::parse('\TH:i', System::getContainer()->get('huh.utils.date')->getTimeStamp('23:59')), $config->getBuilder()->get('start')->getForm()->getConfig()->getOption('attr')['max']); + $this->assertSame(DateType::WIDGET_TYPE_SINGLE_TEXT, $config->getBuilder()->get('start')->getForm()->getConfig()->getOption('widget')); + $this->assertTrue((bool) $config->getBuilder()->get('start')->getForm()->getConfig()->getOption('html5')); + $this->assertSame(Date::parse('\TH:i', time()), $config->getBuilder()->get('start')->getForm()->getConfig()->getOption('attr')['min']); + $this->assertSame(Date::parse('\TH:i', System::getContainer()->get('huh.utils.date')->getTimeStamp('23:59')), $config->getBuilder()->get('start')->getForm()->getConfig()->getOption('attr')['max']); } /** - * Test buildQuery() without field + * Test buildQuery() without field. */ public function testBuildQueryWithoutField() { $framework = $this->mockContaoFramework(); - $session = new MockArraySessionStorage(); + $session = new MockArraySessionStorage(); $queryBuilder = new FilterQueryBuilder($framework, new Connection([], new Driver())); - $config = new FilterConfig($framework, new FilterSession($framework, new Session($session)), $queryBuilder); + $config = new FilterConfig($framework, new FilterSession($framework, new Session($session)), $queryBuilder); $this->container->setParameter('huh.filter', [ 'filter' => [ 'types' => [ [ - 'name' => 'time', + 'name' => 'time', 'class' => TimeType::class, - 'type' => 'date', - ] - ] - ] + 'type' => 'date', + ], + ], + ], ]); $this->container->set('huh.filter.choice.type', new TypeChoice($framework)); @@ -429,8 +426,8 @@ public function testBuildQueryWithoutField() $filter = ['name' => 'test', 'dataContainer' => 'tl_test']; - $start = new FilterConfigElementModel(); - $start->id = 2; + $start = new FilterConfigElementModel(); + $start->id = 2; $start->type = 'time'; $start->name = 'start'; @@ -442,32 +439,32 @@ public function testBuildQueryWithoutField() } /** - * Test buildQuery() without value data + * Test buildQuery() without value data. */ public function testBuildQueryWithoutData() { $framework = $this->mockContaoFramework(); - $session = new MockArraySessionStorage(); + $session = new MockArraySessionStorage(); $queryBuilder = new FilterQueryBuilder($framework, new Connection([], new Driver())); - $config = new FilterConfig($framework, new FilterSession($framework, new Session($session)), $queryBuilder); + $config = new FilterConfig($framework, new FilterSession($framework, new Session($session)), $queryBuilder); $this->container->setParameter('huh.filter', [ 'filter' => [ 'types' => [ [ - 'name' => 'time', + 'name' => 'time', 'class' => TimeType::class, - 'type' => 'date', - ] - ] - ] + 'type' => 'date', + ], + ], + ], ]); $GLOBALS['TL_DCA']['tl_test']['fields']['start'] = [ 'inputType' => 'text', - 'label' => ['start', ''], - 'eval' => ['rgxp' => 'time', 'datepicker' => true, 'tl_class' => 'w50 wizard'] + 'label' => ['start', ''], + 'eval' => ['rgxp' => 'time', 'datepicker' => true, 'tl_class' => 'w50 wizard'], ]; $this->container->set('huh.utils.database', new DatabaseUtil($framework)); @@ -477,11 +474,11 @@ public function testBuildQueryWithoutData() $filter = ['name' => 'test', 'dataContainer' => 'tl_test']; - $start = new FilterConfigElementModel(); - $start->id = 2; - $start->type = 'time'; - $start->name = 'start'; - $start->field = 'start'; + $start = new FilterConfigElementModel(); + $start->id = 2; + $start->type = 'time'; + $start->name = 'start'; + $start->field = 'start'; $start->minTime = '11:45'; $start->maxTime = '23:59'; @@ -492,37 +489,37 @@ public function testBuildQueryWithoutData() $this->assertNotEmpty($config->getQueryBuilder()->getParameters()); $this->assertNotEmpty($config->getQueryBuilder()->getQueryPart('where')); - $this->assertEquals('SELECT FROM tl_test WHERE (:start <= tl_test.start) AND (:stop >= tl_test.start)', $config->getQueryBuilder()->getSQL()); - $this->assertEquals([':start' => $minDate, ':stop' => $minDate], $config->getQueryBuilder()->getParameters()); + $this->assertSame('SELECT FROM tl_test WHERE (:start <= tl_test.start) AND (:stop >= tl_test.start)', $config->getQueryBuilder()->getSQL()); + $this->assertSame([':start' => $minDate, ':stop' => $minDate], $config->getQueryBuilder()->getParameters()); } /** - * Test buildQuery() with data beyond min date time + * Test buildQuery() with data beyond min date time. */ public function testBuildQueryWithDataBeyondMinDateTime() { $framework = $this->mockContaoFramework(); - $session = new MockArraySessionStorage(); + $session = new MockArraySessionStorage(); $queryBuilder = new FilterQueryBuilder($framework, new Connection([], new Driver())); - $config = new FilterConfig($framework, new FilterSession($framework, new Session($session)), $queryBuilder); + $config = new FilterConfig($framework, new FilterSession($framework, new Session($session)), $queryBuilder); $this->container->setParameter('huh.filter', [ 'filter' => [ 'types' => [ [ - 'name' => 'time', + 'name' => 'time', 'class' => TimeType::class, - 'type' => 'date', - ] - ] - ] + 'type' => 'date', + ], + ], + ], ]); $GLOBALS['TL_DCA']['tl_test']['fields']['start'] = [ 'inputType' => 'text', - 'label' => ['start', ''], - 'eval' => ['rgxp' => 'time', 'datepicker' => true, 'tl_class' => 'w50 wizard'] + 'label' => ['start', ''], + 'eval' => ['rgxp' => 'time', 'datepicker' => true, 'tl_class' => 'w50 wizard'], ]; $this->container->set('huh.utils.database', new DatabaseUtil($framework)); @@ -532,15 +529,14 @@ public function testBuildQueryWithDataBeyondMinDateTime() $filter = ['name' => 'test', 'dataContainer' => 'tl_test']; - $start = new FilterConfigElementModel(); - $start->id = 2; - $start->type = 'time'; - $start->name = 'start'; - $start->field = 'start'; + $start = new FilterConfigElementModel(); + $start->id = 2; + $start->type = 'time'; + $start->name = 'start'; + $start->field = 'start'; $start->minTime = '11:30'; $start->maxTime = '23:59'; - $config->init('test', $filter, [$start]); $config->setData(['start' => '09:20']); $config->initQueryBuilder(); @@ -549,37 +545,37 @@ public function testBuildQueryWithDataBeyondMinDateTime() $this->assertNotEmpty($config->getQueryBuilder()->getParameters()); $this->assertNotEmpty($config->getQueryBuilder()->getQueryPart('where')); - $this->assertEquals('SELECT FROM tl_test WHERE (:start <= tl_test.start) AND (:stop >= tl_test.start)', $config->getQueryBuilder()->getSQL()); - $this->assertEquals([':start' => $minDate, ':stop' => $minDate], $config->getQueryBuilder()->getParameters()); + $this->assertSame('SELECT FROM tl_test WHERE (:start <= tl_test.start) AND (:stop >= tl_test.start)', $config->getQueryBuilder()->getSQL()); + $this->assertSame([':start' => $minDate, ':stop' => $minDate], $config->getQueryBuilder()->getParameters()); } /** - * Test buildQuery() with data beyond max date time + * Test buildQuery() with data beyond max date time. */ public function testBuildQueryWithDataBeyondMaxDateTime() { $framework = $this->mockContaoFramework(); - $session = new MockArraySessionStorage(); + $session = new MockArraySessionStorage(); $queryBuilder = new FilterQueryBuilder($framework, new Connection([], new Driver())); - $config = new FilterConfig($framework, new FilterSession($framework, new Session($session)), $queryBuilder); + $config = new FilterConfig($framework, new FilterSession($framework, new Session($session)), $queryBuilder); $this->container->setParameter('huh.filter', [ 'filter' => [ 'types' => [ [ - 'name' => 'time', + 'name' => 'time', 'class' => TimeType::class, - 'type' => 'date', - ] - ] - ] + 'type' => 'date', + ], + ], + ], ]); $GLOBALS['TL_DCA']['tl_test']['fields']['start'] = [ 'inputType' => 'text', - 'label' => ['start', ''], - 'eval' => ['rgxp' => 'time', 'datepicker' => true, 'tl_class' => 'w50 wizard'] + 'label' => ['start', ''], + 'eval' => ['rgxp' => 'time', 'datepicker' => true, 'tl_class' => 'w50 wizard'], ]; $this->container->set('huh.utils.database', new DatabaseUtil($framework)); @@ -589,15 +585,14 @@ public function testBuildQueryWithDataBeyondMaxDateTime() $filter = ['name' => 'test', 'dataContainer' => 'tl_test']; - $start = new FilterConfigElementModel(); - $start->id = 2; - $start->type = 'time'; - $start->name = 'start'; - $start->field = 'start'; + $start = new FilterConfigElementModel(); + $start->id = 2; + $start->type = 'time'; + $start->name = 'start'; + $start->field = 'start'; $start->minTime = '{{date::H:i}}'; $start->maxTime = '12.12.2100 11:48'; - $config->init('test', $filter, [$start]); $config->setData(['start' => '12.12.2100 11:50']); $config->initQueryBuilder(); @@ -606,37 +601,37 @@ public function testBuildQueryWithDataBeyondMaxDateTime() $this->assertNotEmpty($config->getQueryBuilder()->getParameters()); $this->assertNotEmpty($config->getQueryBuilder()->getQueryPart('where')); - $this->assertEquals('SELECT FROM tl_test WHERE (:start <= tl_test.start) AND (:stop >= tl_test.start)', $config->getQueryBuilder()->getSQL()); - $this->assertEquals([':start' => $maxDate, ':stop' => $maxDate], $config->getQueryBuilder()->getParameters()); + $this->assertSame('SELECT FROM tl_test WHERE (:start <= tl_test.start) AND (:stop >= tl_test.start)', $config->getQueryBuilder()->getSQL()); + $this->assertSame([':start' => $maxDate, ':stop' => $maxDate], $config->getQueryBuilder()->getParameters()); } /** - * Test buildQuery() with initial data + * Test buildQuery() with initial data. */ public function testBuildQueryInitial() { $framework = $this->mockContaoFramework(); - $session = new MockArraySessionStorage(); + $session = new MockArraySessionStorage(); $queryBuilder = new FilterQueryBuilder($framework, new Connection([], new Driver())); - $config = new FilterConfig($framework, new FilterSession($framework, new Session($session)), $queryBuilder); + $config = new FilterConfig($framework, new FilterSession($framework, new Session($session)), $queryBuilder); $this->container->setParameter('huh.filter', [ 'filter' => [ 'types' => [ [ - 'name' => 'time', + 'name' => 'time', 'class' => TimeType::class, - 'type' => 'date', - ] - ] - ] + 'type' => 'date', + ], + ], + ], ]); $GLOBALS['TL_DCA']['tl_test']['fields']['start'] = [ 'inputType' => 'text', - 'label' => ['start', ''], - 'eval' => ['rgxp' => 'time', 'datepicker' => true, 'tl_class' => 'w50 wizard'] + 'label' => ['start', ''], + 'eval' => ['rgxp' => 'time', 'datepicker' => true, 'tl_class' => 'w50 wizard'], ]; $this->container->set('huh.utils.database', new DatabaseUtil($framework)); @@ -646,14 +641,14 @@ public function testBuildQueryInitial() $filter = ['name' => 'test', 'dataContainer' => 'tl_test']; - $start = new FilterConfigElementModel(); - $start->id = 2; - $start->type = 'time'; - $start->name = 'start'; - $start->field = 'start'; - $start->minTime = '{{date::H:i}}'; - $start->maxTime = '12.12.2100 11:48'; - $start->isInitial = true; + $start = new FilterConfigElementModel(); + $start->id = 2; + $start->type = 'time'; + $start->name = 'start'; + $start->field = 'start'; + $start->minTime = '{{date::H:i}}'; + $start->maxTime = '12.12.2100 11:48'; + $start->isInitial = true; $start->initialValue = '12.12.2095 11:11'; $config->init('test', $filter, [$start]); @@ -664,37 +659,37 @@ public function testBuildQueryInitial() $this->assertNotEmpty($config->getQueryBuilder()->getParameters()); $this->assertNotEmpty($config->getQueryBuilder()->getQueryPart('where')); - $this->assertEquals('SELECT FROM tl_test WHERE (:start <= tl_test.start) AND (:stop >= tl_test.start)', $config->getQueryBuilder()->getSQL()); - $this->assertEquals([':start' => $value, ':stop' => $value], $config->getQueryBuilder()->getParameters()); + $this->assertSame('SELECT FROM tl_test WHERE (:start <= tl_test.start) AND (:stop >= tl_test.start)', $config->getQueryBuilder()->getSQL()); + $this->assertSame([':start' => $value, ':stop' => $value], $config->getQueryBuilder()->getParameters()); } /** - * Test buildQuery() + * Test buildQuery(). */ public function testBuildQuery() { $framework = $this->mockContaoFramework(); - $session = new MockArraySessionStorage(); + $session = new MockArraySessionStorage(); $queryBuilder = new FilterQueryBuilder($framework, new Connection([], new Driver())); - $config = new FilterConfig($framework, new FilterSession($framework, new Session($session)), $queryBuilder); + $config = new FilterConfig($framework, new FilterSession($framework, new Session($session)), $queryBuilder); $this->container->setParameter('huh.filter', [ 'filter' => [ 'types' => [ [ - 'name' => 'time', + 'name' => 'time', 'class' => TimeType::class, - 'type' => 'date', - ] - ] - ] + 'type' => 'date', + ], + ], + ], ]); $GLOBALS['TL_DCA']['tl_test']['fields']['start'] = [ 'inputType' => 'text', - 'label' => ['start', ''], - 'eval' => ['rgxp' => 'time', 'datepicker' => true, 'tl_class' => 'w50 wizard'] + 'label' => ['start', ''], + 'eval' => ['rgxp' => 'time', 'datepicker' => true, 'tl_class' => 'w50 wizard'], ]; $this->container->set('huh.utils.database', new DatabaseUtil($framework)); @@ -704,15 +699,14 @@ public function testBuildQuery() $filter = ['name' => 'test', 'dataContainer' => 'tl_test']; - $start = new FilterConfigElementModel(); - $start->id = 2; - $start->type = 'time'; - $start->name = 'start'; - $start->field = 'start'; + $start = new FilterConfigElementModel(); + $start->id = 2; + $start->type = 'time'; + $start->name = 'start'; + $start->field = 'start'; $start->minTime = '{{date::H:i}}'; $start->maxTime = '12.12.2100 23:11'; - $config->init('test', $filter, [$start]); $config->setData(['start' => '12.12.2099 11:11']); $config->initQueryBuilder(); @@ -721,8 +715,8 @@ public function testBuildQuery() $this->assertNotEmpty($config->getQueryBuilder()->getParameters()); $this->assertNotEmpty($config->getQueryBuilder()->getQueryPart('where')); - $this->assertEquals('SELECT FROM tl_test WHERE (:start <= tl_test.start) AND (:stop >= tl_test.start)', $config->getQueryBuilder()->getSQL()); - $this->assertEquals([':start' => $value, ':stop' => $value], $config->getQueryBuilder()->getParameters()); + $this->assertSame('SELECT FROM tl_test WHERE (:start <= tl_test.start) AND (:stop >= tl_test.start)', $config->getQueryBuilder()->getSQL()); + $this->assertSame([':start' => $value, ':stop' => $value], $config->getQueryBuilder()->getParameters()); } /** @@ -730,6 +724,6 @@ public function testBuildQuery() */ protected function getFixturesDir(): string { - return __DIR__ . DIRECTORY_SEPARATOR . '../..' . DIRECTORY_SEPARATOR . 'Fixtures'; + return __DIR__.DIRECTORY_SEPARATOR.'../..'.DIRECTORY_SEPARATOR.'Fixtures'; } } diff --git a/tests/Filter/Type/UrlTypeTest.php b/tests/Filter/Type/UrlTypeTest.php index d95c3ba..1e38e88 100644 --- a/tests/Filter/Type/UrlTypeTest.php +++ b/tests/Filter/Type/UrlTypeTest.php @@ -17,8 +17,8 @@ use HeimrichHannot\FilterBundle\Config\FilterConfig; use HeimrichHannot\FilterBundle\Filter\Type\UrlType; use HeimrichHannot\FilterBundle\Model\FilterConfigElementModel; -use HeimrichHannot\FilterBundle\Session\FilterSession; use HeimrichHannot\FilterBundle\QueryBuilder\FilterQueryBuilder; +use HeimrichHannot\FilterBundle\Session\FilterSession; use HeimrichHannot\UtilsBundle\Database\DatabaseUtil; use Symfony\Component\DependencyInjection\ContainerBuilder; use Symfony\Component\HttpFoundation\Request; @@ -41,7 +41,6 @@ class UrlTypeTest extends ContaoTestCase */ private $kernel; - protected function setUp() { parent::setUp(); @@ -50,37 +49,35 @@ protected function setUp() \define('TL_ROOT', $this->getFixturesDir()); } - $GLOBALS['TL_LANGUAGE'] = 'en'; + $GLOBALS['TL_LANGUAGE'] = 'en'; $GLOBALS['TL_LANG']['MSC'] = ['test' => 'bar']; $GLOBALS['TL_DCA']['tl_test'] = [ 'config' => [ 'dataContainer' => 'Table', - 'sql' => [ + 'sql' => [ 'keys' => [ ], ], ], 'fields' => [ - - ] + ], ]; $GLOBALS['TL_DCA']['tl_filter_config_element'] = [ 'config' => [ 'dataContainer' => 'Table', - 'sql' => [ + 'sql' => [ 'keys' => [ ], ], ], 'fields' => [ - - ] + ], ]; $finder = new ResourceFinder([ - $this->getFixturesDir() . '/vendor/contao/core-bundle/Resources/contao', + $this->getFixturesDir().'/vendor/contao/core-bundle/Resources/contao', ]); $this->container = $this->mockContainer(); @@ -116,10 +113,10 @@ public function testCanBeInstantiated() System::setContainer($this->container); $framework = $this->mockContaoFramework(); - $session = new MockArraySessionStorage(); + $session = new MockArraySessionStorage(); $queryBuilder = new FilterQueryBuilder($framework, new Connection([], new Driver())); - $config = new FilterConfig($framework, new FilterSession($framework, new Session($session)), $queryBuilder); + $config = new FilterConfig($framework, new FilterSession($framework, new Session($session)), $queryBuilder); $type = new UrlType($config); @@ -127,45 +124,45 @@ public function testCanBeInstantiated() } /** - * Test getDefaultOperator() + * Test getDefaultOperator(). */ public function testGetDefaultOperator() { $framework = $this->mockContaoFramework(); - $session = new MockArraySessionStorage(); + $session = new MockArraySessionStorage(); $queryBuilder = new FilterQueryBuilder($framework, new Connection([], new Driver())); - $config = new FilterConfig($framework, new FilterSession($framework, new Session($session)), $queryBuilder); + $config = new FilterConfig($framework, new FilterSession($framework, new Session($session)), $queryBuilder); /** @var FilterConfigElementModel $element */ $element = $this->mockClassWithProperties(FilterConfigElementModel::class, []); $type = new UrlType($config); - $this->assertEquals(DatabaseUtil::OPERATOR_LIKE, $type->getDefaultOperator($element)); + $this->assertSame(DatabaseUtil::OPERATOR_LIKE, $type->getDefaultOperator($element)); } /** - * Test buildForm() with field name + * Test buildForm() with field name. */ public function testBuildFormWithFieldName() { $framework = $this->mockContaoFramework(); - $session = new MockArraySessionStorage(); + $session = new MockArraySessionStorage(); $queryBuilder = new FilterQueryBuilder($framework, new Connection([], new Driver())); - $config = new FilterConfig($framework, new FilterSession($framework, new Session($session)), $queryBuilder); + $config = new FilterConfig($framework, new FilterSession($framework, new Session($session)), $queryBuilder); $this->container->setParameter('huh.filter', [ 'filter' => [ 'types' => [ [ - 'name' => 'url', + 'name' => 'url', 'class' => UrlType::class, - 'type' => 'text' - ] - ] - ] + 'type' => 'text', + ], + ], + ], ]); $this->container->set('huh.filter.choice.type', new TypeChoice($framework)); @@ -173,14 +170,14 @@ public function testBuildFormWithFieldName() $filter = ['name' => 'test', 'dataContainer' => 'tl_test']; - $element = new FilterConfigElementModel(); - $element->type = 'url'; + $element = new FilterConfigElementModel(); + $element->type = 'url'; $element->field = 'test'; $config->init('test', $filter, [$element]); $config->buildForm(); - $this->assertEquals(3, $config->getBuilder()->count()); // f_id and f_ref element always exists + $this->assertSame(3, $config->getBuilder()->count()); // f_id and f_ref element always exists $this->assertTrue($config->getBuilder()->has('test')); $this->assertInstanceOf(\Symfony\Component\Form\Extension\Core\Type\UrlType::class, $config->getBuilder()->get('test')->getType()->getInnerType()); } @@ -190,6 +187,6 @@ public function testBuildFormWithFieldName() */ protected function getFixturesDir(): string { - return __DIR__ . DIRECTORY_SEPARATOR . '../..' . DIRECTORY_SEPARATOR . 'Fixtures'; + return __DIR__.DIRECTORY_SEPARATOR.'../..'.DIRECTORY_SEPARATOR.'Fixtures'; } } diff --git a/tests/Model/FilterConfigElementModelTest.php b/tests/Model/FilterConfigElementModelTest.php index 0cbf56f..56f31a8 100644 --- a/tests/Model/FilterConfigElementModelTest.php +++ b/tests/Model/FilterConfigElementModelTest.php @@ -1,16 +1,14 @@ - * @license http://www.gnu.org/licences/lgpl-3.0.html LGPL + * @license LGPL-3.0-or-later */ namespace HeimrichHannot\FilterBundle\Tests\Model; - use Contao\ManagerPlugin\Config\ContainerBuilder; -use Contao\Model; use Contao\System; use Contao\TestCase\ContaoTestCase; use Doctrine\DBAL\Connection; @@ -19,7 +17,6 @@ use Doctrine\DBAL\Schema\MySqlSchemaManager; use HeimrichHannot\FilterBundle\Choice\TypeChoice; use HeimrichHannot\FilterBundle\Config\FilterConfig; -use HeimrichHannot\FilterBundle\Filter\Type\DateTimeType; use HeimrichHannot\FilterBundle\Model\FilterConfigElementModel; use HeimrichHannot\FilterBundle\QueryBuilder\FilterQueryBuilder; use HeimrichHannot\FilterBundle\Session\FilterSession; @@ -30,7 +27,6 @@ class FilterConfigElementModelTest extends ContaoTestCase { - /** * @var ContainerBuilder */ @@ -52,20 +48,19 @@ public function setUp(): void \define('TL_ROOT', $this->getFixturesDir()); } - $GLOBALS['TL_LANGUAGE'] = 'en'; + $GLOBALS['TL_LANGUAGE'] = 'en'; $GLOBALS['TL_LANG']['MSC'] = ['test' => 'bar']; $GLOBALS['TL_DCA']['tl_filter_config_element'] = [ 'config' => [ 'dataContainer' => 'Table', - 'sql' => [ + 'sql' => [ 'keys' => [ ], ], ], 'fields' => [ - - ] + ], ]; $this->container = $this->mockContainer(); @@ -90,18 +85,18 @@ public function setUp(): void } /** - * Test findPublishedByPid() + * Test findPublishedByPid(). */ public function testFindPublishedByPid() { $modelA = $this->mockClassWithProperties(FilterConfigElementModel::class, [ - 'id' => 1, - 'pid' => 1 + 'id' => 1, + 'pid' => 1, ]); $modelAdapter = $this->mockAdapter(['findBy']); $modelAdapter->method('findBy')->willReturn([ - $modelA + $modelA, ]); $framework = $this->mockContaoFramework([FilterConfigElementModel::class => $modelAdapter]); @@ -111,25 +106,25 @@ public function testFindPublishedByPid() System::setContainer($this->container); $filterConfigElementModel = new FilterConfigElementModel(); - $result = $filterConfigElementModel->findPublishedByPid(1); + $result = $filterConfigElementModel->findPublishedByPid(1); $this->assertNotNull($result); - $this->assertEquals($modelA, $result[0]); + $this->assertSame($modelA, $result[0]); } /** - * Test findPublishedByPid() + * Test findPublishedByPid(). */ public function testFindPublishedByPidWithLimit() { $modelA = $this->mockClassWithProperties(FilterConfigElementModel::class, [ - 'id' => 1, - 'pid' => 1 + 'id' => 1, + 'pid' => 1, ]); $modelAdapter = $this->mockAdapter(['findBy']); $modelAdapter->method('findBy')->willReturn([ - $modelA + $modelA, ]); $framework = $this->mockContaoFramework([FilterConfigElementModel::class => $modelAdapter]); @@ -139,25 +134,25 @@ public function testFindPublishedByPidWithLimit() System::setContainer($this->container); $filterConfigElementModel = new FilterConfigElementModel(); - $result = $filterConfigElementModel->findPublishedByPid(1, 1); + $result = $filterConfigElementModel->findPublishedByPid(1, 1); $this->assertNotNull($result); - $this->assertEquals($modelA, $result[0]); + $this->assertSame($modelA, $result[0]); } /** - * Test findPublishedByPid() without Contao\Model adapter + * Test findPublishedByPid() without Contao\Model adapter. */ public function testFindPublishedByPidWithoutModelAdapter() { $modelA = $this->mockClassWithProperties(FilterConfigElementModel::class, [ - 'id' => 1, - 'pid' => 1 + 'id' => 1, + 'pid' => 1, ]); $modelAdapter = $this->mockAdapter(['findBy']); $modelAdapter->method('findBy')->willReturn([ - $modelA + $modelA, ]); $framework = $this->mockContaoFramework(); @@ -167,24 +162,24 @@ public function testFindPublishedByPidWithoutModelAdapter() System::setContainer($this->container); $filterConfigElementModel = new FilterConfigElementModel(); - $result = $filterConfigElementModel->findPublishedByPid(1); + $result = $filterConfigElementModel->findPublishedByPid(1); $this->assertNull($result); } /** - * Test findPublishedByPidAndTypes() without Contao\Model adapter + * Test findPublishedByPidAndTypes() without Contao\Model adapter. */ public function testFindPublishedByPidAndTypesWithoutModelAdapter() { $modelA = $this->mockClassWithProperties(FilterConfigElementModel::class, [ - 'id' => 1, - 'pid' => 1 + 'id' => 1, + 'pid' => 1, ]); $modelAdapter = $this->mockAdapter(['findBy']); $modelAdapter->method('findBy')->willReturn([ - $modelA + $modelA, ]); $framework = $this->mockContaoFramework(); @@ -194,24 +189,24 @@ public function testFindPublishedByPidAndTypesWithoutModelAdapter() System::setContainer($this->container); $filterConfigElementModel = new FilterConfigElementModel(); - $result = $filterConfigElementModel->findPublishedByPidAndTypes(1); + $result = $filterConfigElementModel->findPublishedByPidAndTypes(1); $this->assertNull($result); } /** - * Test findPublishedByPidAndTypes() with limit + * Test findPublishedByPidAndTypes() with limit. */ public function testFindPublishedByPidAndTypesWithLimit() { $modelA = $this->mockClassWithProperties(FilterConfigElementModel::class, [ - 'id' => 1, - 'pid' => 1 + 'id' => 1, + 'pid' => 1, ]); $modelAdapter = $this->mockAdapter(['findBy']); $modelAdapter->method('findBy')->willReturn([ - $modelA + $modelA, ]); $framework = $this->mockContaoFramework([FilterConfigElementModel::class => $modelAdapter]); @@ -221,26 +216,26 @@ public function testFindPublishedByPidAndTypesWithLimit() System::setContainer($this->container); $filterConfigElementModel = new FilterConfigElementModel(); - $result = $filterConfigElementModel->findPublishedByPidAndTypes(1, [], 1); + $result = $filterConfigElementModel->findPublishedByPidAndTypes(1, [], 1); $this->assertNotNull($result); - $this->assertEquals($modelA, $result[0]); + $this->assertSame($modelA, $result[0]); } /** - * Test findPublishedByPidAndTypes() with types + * Test findPublishedByPidAndTypes() with types. */ public function testFindPublishedByPidAndTypesWithTypes() { $modelA = $this->mockClassWithProperties(FilterConfigElementModel::class, [ - 'id' => 1, - 'pid' => 1, - 'type' => 'date' + 'id' => 1, + 'pid' => 1, + 'type' => 'date', ]); $modelAdapter = $this->mockAdapter(['findBy']); $modelAdapter->method('findBy')->willReturn([ - $modelA + $modelA, ]); $framework = $this->mockContaoFramework([FilterConfigElementModel::class => $modelAdapter]); @@ -250,43 +245,43 @@ public function testFindPublishedByPidAndTypesWithTypes() System::setContainer($this->container); $filterConfigElementModel = new FilterConfigElementModel(); - $result = $filterConfigElementModel->findPublishedByPidAndTypes(1, ['date'], 1); + $result = $filterConfigElementModel->findPublishedByPidAndTypes(1, ['date'], 1); $this->assertNotNull($result); - $this->assertEquals($modelA, $result[0]); + $this->assertSame($modelA, $result[0]); } /** - * Test getFormName() without huh.filter.choice.type service + * Test getFormName() without huh.filter.choice.type service. */ public function testGetFormNameWithoutTypeChoiceService() { - $model = new FilterConfigElementModel(); - $model->id = 1; - $model->pid = 1; + $model = new FilterConfigElementModel(); + $model->id = 1; + $model->pid = 1; $model->type = 'date'; $framework = $this->mockContaoFramework(); - $session = new MockArraySessionStorage(); + $session = new MockArraySessionStorage(); $queryBuilder = new FilterQueryBuilder($framework, new Connection([], new Driver())); - $config = new FilterConfig($framework, new FilterSession($framework, new Session($session)), $queryBuilder); + $config = new FilterConfig($framework, new FilterSession($framework, new Session($session)), $queryBuilder); $this->assertNull($model->getFormName($config)); } /** - * Test getFormName() without types in huh.filter.choice.type service + * Test getFormName() without types in huh.filter.choice.type service. */ public function testGetFormNameWithoutTypeChoices() { - $model = new FilterConfigElementModel(); - $model->id = 1; - $model->pid = 1; + $model = new FilterConfigElementModel(); + $model->id = 1; + $model->pid = 1; $model->type = 'date'; $framework = $this->mockContaoFramework(); - $session = new MockArraySessionStorage(); + $session = new MockArraySessionStorage(); $container = $this->mockContainer(); $container->setParameter('kernel.debug', true); @@ -302,23 +297,23 @@ public function testGetFormNameWithoutTypeChoices() $container->set('huh.filter.choice.type', new TypeChoice($framework)); $queryBuilder = new FilterQueryBuilder($framework, new Connection([], new Driver())); - $config = new FilterConfig($framework, new FilterSession($framework, new Session($session)), $queryBuilder); + $config = new FilterConfig($framework, new FilterSession($framework, new Session($session)), $queryBuilder); $this->assertNull($model->getFormName($config)); } /** - * Test getFormName() without current type + * Test getFormName() without current type. */ public function testGetFormNameWithoutType() { - $model = new FilterConfigElementModel(); - $model->id = 1; - $model->pid = 1; + $model = new FilterConfigElementModel(); + $model->id = 1; + $model->pid = 1; $model->type = 'date'; $framework = $this->mockContaoFramework(); - $session = new MockArraySessionStorage(); + $session = new MockArraySessionStorage(); $container = $this->mockContainer(); $container->setParameter('kernel.debug', true); @@ -332,35 +327,35 @@ public function testGetFormNameWithoutType() 'filter' => [ 'types' => [ [ - 'name' => 'date_time', + 'name' => 'date_time', 'class' => 'HeimrichHannot\FilterBundle\Filter\Type\DateTimeType', - 'type' => 'date', - ] - ] - ] + 'type' => 'date', + ], + ], + ], ]); System::setContainer($container); $container->set('huh.filter.choice.type', new TypeChoice($framework)); $queryBuilder = new FilterQueryBuilder($framework, new Connection([], new Driver())); - $config = new FilterConfig($framework, new FilterSession($framework, new Session($session)), $queryBuilder); + $config = new FilterConfig($framework, new FilterSession($framework, new Session($session)), $queryBuilder); $this->assertNull($model->getFormName($config)); } /** - * Test getFormName() without type name + * Test getFormName() without type name. */ public function testGetFormNameWithoutNoName() { - $model = new FilterConfigElementModel(); - $model->id = 1; - $model->pid = 1; + $model = new FilterConfigElementModel(); + $model->id = 1; + $model->pid = 1; $model->type = 'date'; $framework = $this->mockContaoFramework(); - $session = new MockArraySessionStorage(); + $session = new MockArraySessionStorage(); $container = $this->mockContainer(); $container->setParameter('kernel.debug', true); @@ -374,12 +369,12 @@ public function testGetFormNameWithoutNoName() 'filter' => [ 'types' => [ [ - 'name' => 'date', + 'name' => 'date', 'class' => 'HeimrichHannot\FilterBundle\Filter\Type\DateType', - 'type' => 'date', - ] - ] - ] + 'type' => 'date', + ], + ], + ], ]); $container->setParameter('kernel.default_locale', 'de'); @@ -389,24 +384,24 @@ public function testGetFormNameWithoutNoName() $container->set('huh.filter.choice.type', new TypeChoice($framework)); $queryBuilder = new FilterQueryBuilder($framework, new Connection([], new Driver())); - $config = new FilterConfig($framework, new FilterSession($framework, new Session($session)), $queryBuilder); + $config = new FilterConfig($framework, new FilterSession($framework, new Session($session)), $queryBuilder); $this->assertNull($model->getFormName($config)); } /** - * Test getFormName() + * Test getFormName(). */ public function testGetFormName() { - $model = new FilterConfigElementModel(); - $model->id = 1; - $model->pid = 1; + $model = new FilterConfigElementModel(); + $model->id = 1; + $model->pid = 1; $model->name = 'start'; $model->type = 'date'; $framework = $this->mockContaoFramework(); - $session = new MockArraySessionStorage(); + $session = new MockArraySessionStorage(); $container = $this->mockContainer(); $container->setParameter('kernel.debug', true); @@ -420,12 +415,12 @@ public function testGetFormName() 'filter' => [ 'types' => [ [ - 'name' => 'date', + 'name' => 'date', 'class' => 'HeimrichHannot\FilterBundle\Filter\Type\DateType', - 'type' => 'date', - ] - ] - ] + 'type' => 'date', + ], + ], + ], ]); $container->setParameter('kernel.default_locale', 'de'); @@ -435,30 +430,30 @@ public function testGetFormName() $container->set('huh.filter.choice.type', new TypeChoice($framework)); $queryBuilder = new FilterQueryBuilder($framework, new Connection([], new Driver())); - $config = new FilterConfig($framework, new FilterSession($framework, new Session($session)), $queryBuilder); + $config = new FilterConfig($framework, new FilterSession($framework, new Session($session)), $queryBuilder); - $this->assertEquals('start', $model->getFormName($config)); + $this->assertSame('start', $model->getFormName($config)); // cache test - $this->assertEquals('start', $model->getFormName($config)); + $this->assertSame('start', $model->getFormName($config)); } /** - * Test jsonSerialize() + * Test jsonSerialize(). */ public function testJsonSerialize() { - $filterConfigElementModel = new FilterConfigElementModel(); - $filterConfigElementModel->id = 1; - $filterConfigElementModel->pid = 1; - $filterConfigElementModel->type = 'date'; + $filterConfigElementModel = new FilterConfigElementModel(); + $filterConfigElementModel->id = 1; + $filterConfigElementModel->pid = 1; + $filterConfigElementModel->type = 'date'; $filterConfigElementModel->fields = ['f1', 'f2']; $jsonArray = $filterConfigElementModel->jsonSerialize(); $this->assertNotEmpty($jsonArray); $this->assertArrayHasKey('arrData', $jsonArray); - $this->assertEquals(['id' => 1, 'pid' => 1, 'type' => 'date', 'fields' => ['f1', 'f2']], $jsonArray['arrData']); + $this->assertSame(['id' => 1, 'pid' => 1, 'type' => 'date', 'fields' => ['f1', 'f2']], $jsonArray['arrData']); } /** @@ -466,6 +461,6 @@ public function testJsonSerialize() */ protected function getFixturesDir(): string { - return __DIR__ . DIRECTORY_SEPARATOR . '..' . DIRECTORY_SEPARATOR . 'Fixtures'; + return __DIR__.DIRECTORY_SEPARATOR.'..'.DIRECTORY_SEPARATOR.'Fixtures'; } -} \ No newline at end of file +} diff --git a/tests/Model/FilterConfigModelTest.php b/tests/Model/FilterConfigModelTest.php index 8ad4525..e14305c 100644 --- a/tests/Model/FilterConfigModelTest.php +++ b/tests/Model/FilterConfigModelTest.php @@ -1,16 +1,14 @@ - * @license http://www.gnu.org/licences/lgpl-3.0.html LGPL + * @license LGPL-3.0-or-later */ namespace HeimrichHannot\FilterBundle\Tests\Model; - use Contao\ManagerPlugin\Config\ContainerBuilder; -use Contao\Model; use Contao\System; use Contao\TestCase\ContaoTestCase; use Doctrine\DBAL\Connection; @@ -21,7 +19,6 @@ class FilterConfigModelTest extends ContaoTestCase { - /** * @var ContainerBuilder */ @@ -43,20 +40,19 @@ public function setUp(): void \define('TL_ROOT', $this->getFixturesDir()); } - $GLOBALS['TL_LANGUAGE'] = 'en'; + $GLOBALS['TL_LANGUAGE'] = 'en'; $GLOBALS['TL_LANG']['MSC'] = ['test' => 'bar']; $GLOBALS['TL_DCA']['tl_filter_config'] = [ 'config' => [ 'dataContainer' => 'Table', - 'sql' => [ + 'sql' => [ 'keys' => [ ], ], ], 'fields' => [ - - ] + ], ]; $this->container = $this->mockContainer(); @@ -81,13 +77,13 @@ public function setUp(): void } /** - * Test findPublishedByPid() + * Test findPublishedByPid(). */ public function testFindAllPublished() { $modelA = $this->mockClassWithProperties(FilterConfigModel::class, [ - 'id' => 1, - 'pid' => 1 + 'id' => 1, + 'pid' => 1, ]); $modelAdapter = $this->mockAdapter(['findBy']); @@ -100,14 +96,14 @@ public function testFindAllPublished() System::setContainer($this->container); $filterConfigModel = new FilterConfigModel(); - $result = $filterConfigModel->findAllPublished(); + $result = $filterConfigModel->findAllPublished(); $this->assertNotNull($result); - $this->assertEquals($modelA, $result[0]); + $this->assertSame($modelA, $result[0]); } /** - * Test findPublishedByPid() without Contao\Model Adapter + * Test findPublishedByPid() without Contao\Model Adapter. */ public function testFindAllPublishedWithoutAdapter() { @@ -118,7 +114,7 @@ public function testFindAllPublishedWithoutAdapter() System::setContainer($this->container); $filterConfigModel = new FilterConfigModel(); - $result = $filterConfigModel->findAllPublished(); + $result = $filterConfigModel->findAllPublished(); $this->assertNull($result); } @@ -128,6 +124,6 @@ public function testFindAllPublishedWithoutAdapter() */ protected function getFixturesDir(): string { - return __DIR__ . DIRECTORY_SEPARATOR . '..' . DIRECTORY_SEPARATOR . 'Fixtures'; + return __DIR__.DIRECTORY_SEPARATOR.'..'.DIRECTORY_SEPARATOR.'Fixtures'; } -} \ No newline at end of file +} diff --git a/tests/Module/ModuleFilterTest.php b/tests/Module/ModuleFilterTest.php index 8549b94..2f7bcaa 100644 --- a/tests/Module/ModuleFilterTest.php +++ b/tests/Module/ModuleFilterTest.php @@ -1,14 +1,13 @@ - * @license http://www.gnu.org/licences/lgpl-3.0.html LGPL + * @license LGPL-3.0-or-later */ namespace HeimrichHannot\FilterBundle\Tests\Module; - use Contao\CoreBundle\Config\ResourceFinder; use Contao\ModuleModel; use Contao\System; @@ -17,11 +16,11 @@ use Doctrine\DBAL\Platforms\MySqlPlatform; use Doctrine\DBAL\Schema\MySqlSchemaManager; use HeimrichHannot\FilterBundle\Config\FilterConfig; +use HeimrichHannot\FilterBundle\Manager\FilterManager; use HeimrichHannot\FilterBundle\Model\FilterConfigElementModel; use HeimrichHannot\FilterBundle\Model\FilterConfigModel; use HeimrichHannot\FilterBundle\Module\ModuleFilter; use HeimrichHannot\FilterBundle\QueryBuilder\FilterQueryBuilder; -use HeimrichHannot\FilterBundle\Manager\FilterManager; use HeimrichHannot\FilterBundle\Session\FilterSession; use HeimrichHannot\UtilsBundle\Container\ContainerUtil; use Symfony\Component\DependencyInjection\ContainerBuilder; @@ -55,24 +54,23 @@ public function setUp(): void \define('TL_ROOT', $this->getFixturesDir()); } - $GLOBALS['TL_LANGUAGE'] = 'en'; + $GLOBALS['TL_LANGUAGE'] = 'en'; $GLOBALS['TL_LANG']['MSC'] = ['test' => 'bar']; $GLOBALS['TL_DCA']['tl_module'] = [ 'config' => [ 'dataContainer' => 'Table', - 'sql' => [ + 'sql' => [ 'keys' => [ ], ], ], 'fields' => [ - - ] + ], ]; $finder = new ResourceFinder([ - $this->getFixturesDir() . '/vendor/contao/core-bundle/Resources/contao', + $this->getFixturesDir().'/vendor/contao/core-bundle/Resources/contao', ]); $this->container = $this->mockContainer(); @@ -113,7 +111,8 @@ public function testCanBeInstantiated() } /** - * Tests generate() in back end mode + * Tests generate() in back end mode. + * * @runInSeparateProcess */ public function testGenerateInBackEndMode() @@ -126,19 +125,19 @@ public function testGenerateInBackEndMode() $GLOBALS['TL_LANG']['FMD']['filter'][0] = 'Filter'; - $model = new ModuleModel(); - $model->id = 1; + $model = new ModuleModel(); + $model->id = 1; $model->type = 'filter'; \Config::set('debugMode', false); $module = new ModuleFilter($model); - $this->assertEquals('
### FILTER ###
', str_replace("\n", '', trim($module->generate()))); + $this->assertSame('
### FILTER ###
', str_replace("\n", '', trim($module->generate()))); } /** - * Tests generate() in front end mode without huh.filter.registry service + * Tests generate() in front end mode without huh.filter.registry service. */ public function testGenerateInFrontEndModeWithoutFilterRegistryService() { @@ -150,8 +149,8 @@ public function testGenerateInFrontEndModeWithoutFilterRegistryService() $GLOBALS['TL_LANG']['FMD']['filter'][0] = 'Filter'; - $model = new ModuleModel(); - $model->id = 1; + $model = new ModuleModel(); + $model->id = 1; $model->type = 'filter'; \Config::set('debugMode', false); @@ -162,7 +161,7 @@ public function testGenerateInFrontEndModeWithoutFilterRegistryService() } /** - * Tests generate() in front end mode without filter + * Tests generate() in front end mode without filter. */ public function testGenerateInFrontEndModeWithoutFilter() { @@ -181,9 +180,9 @@ public function testGenerateInFrontEndModeWithoutFilter() $GLOBALS['TL_LANG']['FMD']['filter'][0] = 'Filter'; - $model = new ModuleModel(); - $model->id = 1; - $model->type = 'filter'; + $model = new ModuleModel(); + $model->id = 1; + $model->type = 'filter'; $model->filter = 1; \Config::set('debugMode', false); @@ -194,7 +193,7 @@ public function testGenerateInFrontEndModeWithoutFilter() } /** - * Tests generate() in front end mode with filter + * Tests generate() in front end mode with filter. */ public function testGenerateInFrontEndMode() { @@ -236,9 +235,9 @@ public function testGenerateInFrontEndMode() $this->container->set('router', $router); /** @var Connection $connection */ - $connection = $this->container->get('database_connection'); - $session = new Session(new MockArraySessionStorage()); - $filterSession = new FilterSession($framework, $session); + $connection = $this->container->get('database_connection'); + $session = new Session(new MockArraySessionStorage()); + $filterSession = new FilterSession($framework, $session); $filterQueryBuilder = new FilterQueryBuilder($framework, $connection); $this->container->set('huh.filter.config', new FilterConfig($framework, $filterSession, $filterQueryBuilder)); @@ -252,24 +251,23 @@ public function testGenerateInFrontEndMode() $GLOBALS['TL_LANG']['FMD']['filter'][0] = 'Filter'; global $objPage; - $objPage = new \stdClass(); - $objPage->outputFormat = ''; + $objPage = new \stdClass(); + $objPage->outputFormat = ''; $objPage->templateGroup = ''; - $model = new ModuleModel(); - $model->id = 1; - $model->type = 'filter'; + $model = new ModuleModel(); + $model->id = 1; + $model->type = 'filter'; $model->filter = 1; - $model->cssID = [0 => 'cssId', '1' => 'cssClass']; + $model->cssID = [0 => 'cssId', '1' => 'cssClass']; \Config::set('debugMode', false); $module = new ModuleFilter($model); $result = $module->generate(); - $this->assertNotEmpty($result); - $this->assertEquals('
test
', str_replace("\n", '', trim($result))); + $this->assertSame('
test
', str_replace("\n", '', trim($result))); } /** @@ -277,6 +275,6 @@ public function testGenerateInFrontEndMode() */ protected function getFixturesDir(): string { - return __DIR__ . DIRECTORY_SEPARATOR . '..' . DIRECTORY_SEPARATOR . 'Fixtures'; + return __DIR__.DIRECTORY_SEPARATOR.'..'.DIRECTORY_SEPARATOR.'Fixtures'; } -} \ No newline at end of file +} diff --git a/tests/Session/FilterSessionTest.php b/tests/Session/FilterSessionTest.php index 799c8a4..ebc299b 100644 --- a/tests/Session/FilterSessionTest.php +++ b/tests/Session/FilterSessionTest.php @@ -1,14 +1,13 @@ - * @license http://www.gnu.org/licences/lgpl-3.0.html LGPL + * @license LGPL-3.0-or-later */ namespace HeimrichHannot\FilterBundle\Tests\Session; - use Contao\ManagerPlugin\Config\ContainerBuilder; use Contao\TestCase\ContaoTestCase; use HeimrichHannot\FilterBundle\Form\FilterType; @@ -54,7 +53,7 @@ public function testCanBeInstantiated() } /** - * Test setData() + * Test setData(). */ public function testSetData() { @@ -63,11 +62,11 @@ public function testSetData() $instance = new \HeimrichHannot\FilterBundle\Session\FilterSession($this->mockContaoFramework(), $session); $instance->setData('test', ['foo' => 'bar']); - $this->assertEquals(['foo' => 'bar'], $instance->getData('test')); + $this->assertSame(['foo' => 'bar'], $instance->getData('test')); } /** - * Test hasData() with FilterType::FILTER_ID_NAME only + * Test hasData() with FilterType::FILTER_ID_NAME only. */ public function testHasDataWithFilterIdFieldOnly() { @@ -80,7 +79,7 @@ public function testHasDataWithFilterIdFieldOnly() } /** - * Test hasData() with FilterType::FILTER_ID_NAME set and data + * Test hasData() with FilterType::FILTER_ID_NAME set and data. */ public function testHasData() { @@ -93,7 +92,7 @@ public function testHasData() } /** - * Test reset() + * Test reset(). */ public function testReset() { @@ -102,10 +101,10 @@ public function testReset() $instance = new \HeimrichHannot\FilterBundle\Session\FilterSession($this->mockContaoFramework(), $session); $instance->setData('test', ['foo' => 'bar', FilterType::FILTER_ID_NAME => 'test_1']); - $this->assertEquals( ['foo' => 'bar', FilterType::FILTER_ID_NAME => 'test_1'], $instance->getData('test')); + $this->assertSame(['foo' => 'bar', FilterType::FILTER_ID_NAME => 'test_1'], $instance->getData('test')); $instance->reset('test'); $this->assertEmpty($instance->getData('test')); } -} \ No newline at end of file +} diff --git a/tests/Utils/FilterConfigElementHelperTest.php b/tests/Utils/FilterConfigElementHelperTest.php index 4ffa80d..f48f8fa 100644 --- a/tests/Utils/FilterConfigElementHelperTest.php +++ b/tests/Utils/FilterConfigElementHelperTest.php @@ -15,11 +15,11 @@ use Doctrine\DBAL\Connection; use Doctrine\DBAL\Driver\Mysqli\Driver; use HeimrichHannot\FilterBundle\Config\FilterConfig; -use HeimrichHannot\FilterBundle\Session\FilterSession; +use HeimrichHannot\FilterBundle\Manager\FilterManager; use HeimrichHannot\FilterBundle\Model\FilterConfigElementModel; use HeimrichHannot\FilterBundle\Model\FilterConfigModel; use HeimrichHannot\FilterBundle\QueryBuilder\FilterQueryBuilder; -use HeimrichHannot\FilterBundle\Manager\FilterManager; +use HeimrichHannot\FilterBundle\Session\FilterSession; use HeimrichHannot\FilterBundle\Util\FilterConfigElementHelper; use HeimrichHannot\UtilsBundle\Choice\FieldChoice; use HeimrichHannot\UtilsBundle\Container\ContainerUtil;