Merge pull request #165 from Codappix/release/0.0.7

Release/0.0.7
This commit is contained in:
Justus Moroni 2018-09-27 17:36:05 +02:00 committed by GitHub
commit 18325559ae
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
7 changed files with 43 additions and 35 deletions

View file

@ -126,9 +126,7 @@ class SearchService
ArrayUtility::mergeRecursiveWithOverrule( ArrayUtility::mergeRecursiveWithOverrule(
$filter, $filter,
$this->configuration->get('searching.filter'), $this->configuration->get('searching.filter')
true,
false
); );
$searchRequest->setFilter($filter); $searchRequest->setFilter($filter);

View file

@ -13,3 +13,4 @@ Changelog
changelog/20180308-131-respect-page-cache-clear changelog/20180308-131-respect-page-cache-clear
changelog/20180308-introduce-php70-type-hints changelog/20180308-introduce-php70-type-hints
changelog/20180306-120-facet-configuration changelog/20180306-120-facet-configuration
changelog/20180926-163-allow-zero-as-typoscript-filter-value

View file

@ -0,0 +1,10 @@
Bugfix 163 "It's not possible to configure a filter via TS with value 0 - zero"
===============================================================================
Prior to the change it was not possible to define a filter while searching, via
TypoScript, with the value `0`. `0` was filtered as empty value.
Now the configured filter is no longer filtered, it's up to the integrator to provide
proper configuration. Therefore `0` is now a valid and respected filter value.
See :issue:`163`.

View file

@ -59,9 +59,9 @@ author = u'Daniel Siepmann'
# built documents. # built documents.
# #
# The short X.Y version. # The short X.Y version.
version = u'0.0.6' version = u'0.0.7'
# The full version, including alpha/beta/rc tags. # The full version, including alpha/beta/rc tags.
release = u'0.0.6' release = u'0.0.7'
# The language for content autogenerated by Sphinx. Refer to documentation # The language for content autogenerated by Sphinx. Refer to documentation
# for a list of supported languages. # for a list of supported languages.
# #

View file

@ -9,7 +9,7 @@ Composer
The extension can be installed through composer:: The extension can be installed through composer::
composer require "codappix/search_core" "~0.0.6" composer require "codappix/search_core" "~0.0.7"
Note that you have to allow unstable packages: Note that you have to allow unstable packages:

View file

@ -164,6 +164,33 @@ class SearchServiceTest extends AbstractUnitTestCase
$this->subject->search($searchRequest); $this->subject->search($searchRequest);
} }
/**
* @test
*/
public function configuredFilterWithValueZeroAreAddedToRequestWithoutAnyFilter()
{
$this->configuration->expects($this->any())
->method('getIfExists')
->withConsecutive(['searching.size'], ['searching.facets'])
->will($this->onConsecutiveCalls(null, null));
$this->configuration->expects($this->any())
->method('get')
->will($this->onConsecutiveCalls(
['property' => '0'],
$this->throwException(new InvalidArgumentException)
));
$this->connection->expects($this->once())
->method('search')
->with($this->callback(function ($searchRequest) {
return $searchRequest->getFilter() === ['property' => '0'];
}))
->willReturn($this->getMockBuilder(SearchResultInterface::class)->getMock());
$searchRequest = new SearchRequest('SearchWord');
$this->subject->search($searchRequest);
}
/** /**
* @test * @test
*/ */
@ -220,34 +247,6 @@ class SearchServiceTest extends AbstractUnitTestCase
$this->subject->search($searchRequest); $this->subject->search($searchRequest);
} }
/**
* @test
*/
public function emptyConfiguredFilterIsNotChangingRequestWithExistingFilter()
{
$this->configuration->expects($this->any())
->method('getIfExists')
->withConsecutive(['searching.size'], ['searching.facets'])
->will($this->onConsecutiveCalls(null, null));
$this->configuration->expects($this->any())
->method('get')
->will($this->onConsecutiveCalls(
['anotherProperty' => ''],
$this->throwException(new InvalidArgumentException)
));
$this->connection->expects($this->once())
->method('search')
->with($this->callback(function ($searchRequest) {
return $searchRequest->getFilter() === ['anotherProperty' => 'anything'];
}))
->willReturn($this->getMockBuilder(SearchResultInterface::class)->getMock());
$searchRequest = new SearchRequest('SearchWord');
$searchRequest->setFilter(['anotherProperty' => 'anything']);
$this->subject->search($searchRequest);
}
/** /**
* @test * @test
*/ */

View file

@ -18,7 +18,7 @@ $EM_CONF[$_EXTKEY] = [
], ],
], ],
'state' => 'beta', 'state' => 'beta',
'version' => '0.0.6', 'version' => '0.0.7',
'author' => 'Daniel Siepmann', 'author' => 'Daniel Siepmann',
'author_email' => 'coding@daniel-siepmann.de', 'author_email' => 'coding@daniel-siepmann.de',
]; ];