Code
Explorer
You are a developer and looking for Shopware projects?
Apply Now!
getSnippetFilesByIso example
public
function
testLoadSnippetFilesIntoCollection
(
)
: void
{
$this
->
loadAppsFromDir
(
__DIR__ . '/_fixtures/Apps/AppWithSnippets'
)
;
$collection
=
new
SnippetFileCollection
(
)
;
$this
->snippetFileLoader->
loadSnippetFilesIntoCollection
(
$collection
)
;
static
::
assertCount
(
2,
$collection
)
;
$snippetFile
=
$collection
->
getSnippetFilesByIso
(
'de-DE'
)
[
0
]
;
static
::
assertEquals
(
'storefront.de-DE',
$snippetFile
->
getName
(
)
)
;
static
::
assertEquals
(
__DIR__ . '/_fixtures/Apps/AppWithSnippets/Resources/snippet/storefront.de-DE.json',
$snippetFile
->
getPath
(
)
)
;
static
::
assertEquals
(
'de-DE',
$snippetFile
->
getIso
(
)
)
;
static
::
assertEquals
(
'shopware AG',
$snippetFile
->
getAuthor
(
)
)
;
static
::
assertFalse
(
$snippetFile
->
isBase
(
)
)
;
$snippetFile
=
$collection
->
getSnippetFilesByIso
(
'en-GB'
)
[
0
]
;
static
::
assertEquals
(
'storefront.en-GB',
$snippetFile
->
getName
(
)
)
;
$isoList
=
$collection
->
getIsoList
(
)
;
static
::
assertCount
(
2,
$isoList
)
;
static
::
assertContains
(
'de-DE',
$isoList
)
;
static
::
assertContains
(
'en-GB',
$isoList
)
;
}
public
function
testGetLanguageFilesByIso
(
)
: void
{
$collection
=
$this
->
getCollection
(
)
;
$result_en_GB
=
$collection
->
getSnippetFilesByIso
(
'en-GB'
)
;
$result_de_DE
=
$collection
->
getSnippetFilesByIso
(
'de-DE'
)
;
$result_empty
=
$collection
->
getSnippetFilesByIso
(
'na-NA'
)
;
$result_empty_two
=
$collection
->
getSnippetFilesByIso
(
''
)
;
static
::
assertNotNull
(
$result_en_GB
)
;
static
::
assertNotNull
(
$result_de_DE
)
;
static
::
assertNotNull
(
$result_empty
)
;
static
::
assertNotNull
(
$result_empty_two
)
;
static
::
assertCount
(
1,
$result_en_GB
)
;
static
::
assertCount
(
2,
$result_de_DE
)
;
public
function
getList
(
int
$page
, int
$limit
, Context
$context
, array
$requestFilters
, array
$sort
)
: array
{
--
$page
;
/** @var array<string, array{iso: string, id: string}> $metaData */
$metaData
=
$this
->
getSetMetaData
(
$context
)
;
$isoList
=
$this
->
createIsoList
(
$metaData
)
;
$languageFiles
=
$this
->
getSnippetFilesByIso
(
$isoList
)
;
$fileSnippets
=
$this
->
getFileSnippets
(
$languageFiles
,
$isoList
)
;
$dbSnippets
=
$this
->
databaseSnippetsToArray
(
$this
->
findSnippetInDatabase
(
new
Criteria
(
)
,
$context
)
,
$fileSnippets
)
;
$snippets
=
array_replace_recursive
(
$fileSnippets
,
$dbSnippets
)
;
$snippets
=
$this
->
fillBlankSnippets
(
$snippets
,
$isoList
)
;
foreach
(
$requestFilters
as
$requestFilterName
=>
$requestFilterValue
)
{
$snippets
=
$this
->snippetFilterFactory->
getFilter
(
$requestFilterName
)
->
filter
(
$snippets
,
$requestFilterValue
)
;
}
new
ActiveAppsLoader
(
$this
->
createMock
(
Connection::
class
)
,
$this
->
createMock
(
AppLoader::
class
)
,
'/'
)
)
;
$snippetFileLoader
->
loadSnippetFilesIntoCollection
(
$collection
)
;
static
::
assertCount
(
2,
$collection
)
;
$snippetFile
=
$collection
->
getSnippetFilesByIso
(
'de-DE'
)
[
0
]
;
static
::
assertEquals
(
'storefront.de-DE',
$snippetFile
->
getName
(
)
)
;
static
::
assertEquals
(
__DIR__ . '/_fixtures/ShopwareBundleWithSnippets/Resources/snippet/storefront.de-DE.json',
$snippetFile
->
getPath
(
)
)
;
static
::
assertEquals
(
'de-DE',
$snippetFile
->
getIso
(
)
)
;
static
::
assertEquals
(
'Shopware',
$snippetFile
->
getAuthor
(
)
)
;
static
::
assertFalse
(
$snippetFile
->
isBase
(
)
)
;
$snippetFile
=
$collection
->
getSnippetFilesByIso
(
'en-GB'
)
[
0
]
;
static
::
assertEquals
(
'storefront.en-GB',
$snippetFile
->
getName
(
)
)
;
$list
=
$this
->
getListSortedByIso
(
)
;
return
$list
[
$iso
]
??
[
]
;
}
/** * @throws InvalidSnippetFileException */
public
function
getBaseFileByIso
(
string
$iso
)
: AbstractSnippetFile
{
foreach
(
$this
->
getSnippetFilesByIso
(
$iso
)
as
$file
)
{
if
(
!
$file
->
isBase
(
)
)
{
continue
;
}
return
$file
;
}
throw
new
InvalidSnippetFileException
(
$iso
)
;
}
public
function
getApiAlias
(
)
: string
{