Code
Explorer
You are a developer and looking for Shopware projects?
Apply Now!
AssetInstallCommand example
public
function
testHtaccessCopy
(
)
: void
{
$fs
=
new
Filesystem
(
)
;
$tmpDir
=
sys_get_temp_dir
(
)
. '/' .
uniqid
(
'shopware', true
)
;
$fs
->
mkdir
(
$tmpDir
. '/public'
)
;
$fs
->
dumpFile
(
$tmpDir
. '/public/.htaccess.dist', 'FOO'
)
;
$kernel
=
$this
->
createMock
(
KernelInterface::
class
)
;
$kernel
->
method
(
'getProjectDir'
)
->
willReturn
(
$tmpDir
)
;
$command
=
new
AssetInstallCommand
(
$kernel
,
$this
->
createMock
(
AssetService::
class
)
,
$this
->
createMock
(
ActiveAppsLoader::
class
)
)
;
$runner
=
new
CommandTester
(
$command
)
;
$status
=
$runner
->
execute
(
[
]
)
;
static
::
assertSame
(
Command::SUCCESS,
$status
)
;
static
::
assertFileExists
(
$tmpDir
. '/public/.htaccess'
)
;
static
::
assertFileEquals
(
$tmpDir
. '/public/.htaccess.dist',
$tmpDir
. '/public/.htaccess'
)
;
$activeAppsLoaderMock
=
$this
->
createMock
(
ActiveAppsLoader::
class
)
;
$activeAppsLoaderMock
->
expects
(
static
::
once
(
)
)
->
method
(
'getActiveApps'
)
->
willReturn
(
[
[
'name' => 'test',
'path' =>
$relativeFixturePath
,
'author' => 'shopware AG',
]
,
]
)
;
$command
=
new
AssetInstallCommand
(
$this
->
getKernel
(
)
,
$this
->
getContainer
(
)
->
get
(
AssetService::
class
)
,
$activeAppsLoaderMock
)
;
$runner
=
new
CommandTester
(
$command
)
;
static
::
assertSame
(
0,
$runner
->
execute
(
[
]
)
)
;
static
::
assertTrue
(
$filesystem
->
has
(
'bundles/test/asset.txt'
)
)
;
$filesystem
->
deleteDirectory
(
'bundles/test'
)
;