Code
Explorer
You are a developer and looking for Shopware projects?
Apply Now!
getEmptyDestinationProperties example
protected
function
updateEntity
(
EntityInterface
$entity
, Row
$row
)
{
$empty_destinations
=
$row
->
getEmptyDestinationProperties
(
)
;
// By default, an update will be preserved.
$rollback_action
= MigrateIdMapInterface::ROLLBACK_PRESERVE;
// Make sure we have the right translation.
if
(
$this
->
isTranslationDestination
(
)
)
{
$property
=
$this
->storage->
getEntityType
(
)
->
getKey
(
'langcode'
)
;
if
(
$row
->
hasDestinationProperty
(
$property
)
)
{
$language
=
$row
->
getDestinationProperty
(
$property
)
;
if
(
!
$entity
->
hasTranslation
(
$language
)
)
{
$entity
->
addTranslation
(
$language
)
;
$plugin
->
getPluginDefinition
(
)
->
willReturn
(
[
]
)
;
$plugin
->
transform
(
NULL,
$this
->executable,
$row
,
$key
)
->
willReturn
(
$value
)
;
$plugin
->
multiple
(
)
->
willReturn
(
TRUE
)
;
$plugins
[
$key
]
[
0
]
=
$plugin
->
reveal
(
)
;
}
$this
->migration->
method
(
'getProcessPlugins'
)
->
willReturn
(
$plugins
)
;
$this
->executable->
processRow
(
$row
)
;
foreach
(
$expected
as
$key
=>
$value
)
{
$this
->
assertSame
(
$value
,
$row
->
getDestinationProperty
(
$key
)
)
;
}
$this
->
assertCount
(
2,
$row
->
getDestination
(
)
)
;
$this
->
assertSame
(
[
'test2'
]
,
$row
->
getEmptyDestinationProperties
(
)
)
;
}
/** * Returns a mock migration source instance. * * @return \Drupal\migrate\Plugin\MigrateSourceInterface|\PHPUnit\Framework\MockObject\MockObject * The mocked migration source. */
protected
function
getMockSource
(
)
{
$this
->
createMock
(
'\Iterator'
)
;