Code
Explorer
You are a developer and looking for Shopware projects?
Apply Now!
handleThemeUninstall example
if
(
$this
->
skipCompile
(
$event
->
getContext
(
)
->
getContext
(
)
)
)
{
return
;
}
$pluginName
=
$event
->
getPlugin
(
)
->
getName
(
)
;
$config
=
$this
->storefrontPluginRegistry->
getConfigurations
(
)
->
getByTechnicalName
(
$pluginName
)
;
if
(
!
$config
)
{
return
;
}
$this
->themeLifecycleHandler->
handleThemeUninstall
(
$config
,
$event
->
getContext
(
)
->
getContext
(
)
)
;
}
public
function
pluginPostUninstall
(
PluginPostUninstallEvent
$event
)
: void
{
if
(
$event
->
getContext
(
)
->
keepUserData
(
)
)
{
return
;
}
$this
->themeLifecycleService->
removeTheme
(
$event
->
getPlugin
(
)
->
getName
(
)
,
$event
->
getContext
(
)
->
getContext
(
)
)
;
}
$collection
=
new
StorefrontPluginConfigurationCollection
(
[
$themeConfig
,
]
)
;
$this
->configurationRegistryMock->
expects
(
static
::
once
(
)
)
->
method
(
'getConfigurations'
)
->
willReturn
(
$collection
)
;
$this
->themeRepositoryMock->
expects
(
static
::
never
(
)
)
->
method
(
'upsert'
)
;
$this
->themeLifecycleHandler->
handleThemeUninstall
(
$themeConfig
,
$this
->context
)
;
}
public
function
testThemeUninstallWithDependendThemes
(
)
: void
{
$themeConfig
=
new
StorefrontPluginConfiguration
(
'SimpleTheme'
)
;
$themeConfig
->
setStyleFiles
(
new
FileCollection
(
)
)
;
$themeConfig
->
setScriptFiles
(
new
FileCollection
(
)
)
;
$themeConfig
->
setName
(
'Simple Theme'
)
;
}
public
function
handleUninstall
(
AppDeactivatedEvent
$event
)
: void
{
$config
=
$this
->themeRegistry->
getConfigurations
(
)
->
getByTechnicalName
(
$event
->
getApp
(
)
->
getName
(
)
)
;
if
(
!
$config
)
{
return
;
}
$this
->themeLifecycleHandler->
handleThemeUninstall
(
$config
,
$event
->
getContext
(
)
)
;
}
}
$configs
=
new
StorefrontPluginConfigurationCollection
(
[
$this
->configFactory->
createFromBundle
(
new
Storefront
(
)
)
,
$uninstalledConfig
,
]
)
;
$this
->configurationRegistryMock->
expects
(
static
::
once
(
)
)
->
method
(
'getConfigurations'
)
->
willReturn
(
$configs
)
;
$this
->themeLifecycleHandler->
handleThemeUninstall
(
$uninstalledConfig
, Context::
createDefaultContext
(
)
)
;
}
public
function
testHandleThemeUninstallWillNotRecompileThemeIfNotNecessary
(
)
: void
{
$uninstalledConfig
=
$this
->configFactory->
createFromBundle
(
new
SimplePluginWithoutCompilation
(
)
)
;
$this
->themeServiceMock->
expects
(
static
::
never
(
)
)
->
method
(
'compileTheme'
)
;
$configs
=
new
StorefrontPluginConfigurationCollection
(
[
$this
->configFactory->
createFromBundle
(
new
Storefront
(
)
)
,