Code
Explorer
You are a developer and looking for Shopware projects?
Apply Now!
TestLayoutEntityHelperTrait example
public
function
testGetSectionStorageForEntity
(
$entity_type_id
,
$values
,
$expected_context_keys
)
{
$section_storage_manager
=
$this
->
prophesize
(
SectionStorageManagerInterface::
class
)
;
$section_storage_manager
->
load
(
''
)
->
willReturn
(
NULL
)
;
$section_storage_manager
->
findByContext
(
Argument::
cetera
(
)
)
->
will
(
function
D
$arguments
)
{
return
$arguments
[
0
]
;
}
)
;
$this
->container->
set
(
'plugin.manager.layout_builder.section_storage',
$section_storage_manager
->
reveal
(
)
)
;
$entity
=
$this
->container->
get
(
'entity_type.manager'
)
->
getStorage
(
$entity_type_id
)
->
create
(
$values
)
;
$entity
->
save
(
)
;
$class
=
new
TestLayoutEntityHelperTrait
(
)
;
$result
=
$class
->
getSectionStorageForEntity
(
$entity
)
;
$this
->
assertEquals
(
$expected_context_keys
,
array_keys
(
$result
)
)
;
if
(
$entity
instanceof EntityViewDisplayInterface
)
{
$this
->
assertEquals
(
EntityContext::
fromEntity
(
$entity
)
,
$result
[
'display'
]
)
;
}
elseif
(
$entity
instanceof FieldableEntityInterface
)
{
$this
->
assertEquals
(
EntityContext::
fromEntity
(
$entity
)
,
$result
[
'entity'
]
)
;
$this
->
assertInstanceOf
(
Context::
class
,
$result
[
'view_mode'
]
)
;
$this
->
assertEquals
(
'full',
$result
[
'view_mode'
]
->
getContextData
(
)
->
getValue
(
)
)
;
$expected_display
= EntityViewDisplay::
collectRenderDisplay
(
$entity
, 'full'
)
;