Code
Explorer
You are a developer and looking for Shopware projects?
Apply Now!
resetFilters example
$mapping
=
$this
->
fetchPaginatedOneToManyMapping
(
$definition
,
$association
,
$context
,
$collection
,
$fieldCriteria
)
;
$ids
=
[
]
;
foreach
(
$mapping
as
$associationIds
)
{
foreach
(
$associationIds
as
$associationId
)
{
$ids
[
]
=
$associationId
;
}
}
$fieldCriteria
->
setIds
(
\
array_filter
(
$ids
)
)
;
$fieldCriteria
->
resetSorting
(
)
;
$fieldCriteria
->
resetFilters
(
)
;
$fieldCriteria
->
resetPostFilters
(
)
;
$referenceClass
=
$association
->
getReferenceDefinition
(
)
;
/** @var EntityCollection<Entity> $collectionClass */
$collectionClass
=
$referenceClass
->
getCollectionClass
(
)
;
$data
=
$this
->
_read
(
$fieldCriteria
,
$referenceClass
,
$context
,
new
$collectionClass
(
)
,
$criteria
=
new
Criteria
(
)
;
$criteria
->
addAssociation
(
'options.group'
)
;
$criteria
->
addAssociation
(
'configuratorSettings'
)
;
$criteria
->
addFilter
(
new
EqualsFilter
(
'parentId', 'e5c8b8f701034e8dbea72ac0fc32521e'
)
)
;
/** @var ProductEntity $result */
$result
=
$this
->productRepository->
search
(
$criteria
, Context::
createDefaultContext
(
)
)
->
first
(
)
;
static
::
assertCount
(
2,
$result
->
getVariation
(
)
)
;
$criteria
->
resetFilters
(
)
;
$criteria
->
addFilter
(
new
EqualsFilter
(
'id', 'e5c8b8f701034e8dbea72ac0fc32521e'
)
)
;
/** @var ProductEntity $result */
$result
=
$this
->productRepository->
search
(
$criteria
, Context::
createDefaultContext
(
)
)
->
first
(
)
;
static
::
assertInstanceOf
(
ProductConfiguratorSettingCollection::
class
,
$result
->
getConfiguratorSettings
(
)
)
;
static
::
assertCount
(
2,
$result
->
getConfiguratorSettings
(
)
)
;
}
public
function
testProductsCoverIsUpdated
(
)
: void
{
$connection
=
$this
->
createMock
(
Connection::
class
)
;
$connection
->
expects
(
static
::
once
(
)
)
->
method
(
'fetchOne'
)
->
willReturn
(
current
(
array_column
(
$filters
, 'api_filter'
)
)
)
;
$criteria
->
setLimit
(
150
)
;
$criteria
->
addSorting
(
new
FieldSorting
(
'autoIncrement'
)
)
;
$filters
=
$criteria
->
getFilters
(
)
;
array_pop
(
$filters
)
;
$criteria
->
resetFilters
(
)
;
$criteria
->
addFilter
(
...
$filters
)
;
$criteria
->
setFilter
(
'increment',
new
RangeFilter
(
'autoIncrement',
[
RangeFilter::GTE => 0
]
)
)
;
$definition
=
new
ProductDefinition
(
)
;
$repository
=
new
StaticEntityRepository
(
[
function
DCriteria
$actualCriteria
, Context
$actualContext
)
use
(
$criteria
,
$context
,
$ids
)
: array
{
static
::
assertEquals
(
$criteria
,
$actualCriteria
)
;
static
::
assertEquals
(
$context
,
$actualContext
)
;
return
$ids
;
}
,