public function testEntityLoadedEvent(SystemConfigService
$systemConfigService, CategoryEntity
$categoryEntity, ?string
$cmsPageIdBeforeEvent, ?string
$cmsPageIdAfterEvent, ?string
$salesChannelId): void
{ $categorySubscriber =
new CategorySubscriber($systemConfigService);
if ($salesChannelId) { $event =
new SalesChannelEntityLoadedEvent(new CategoryDefinition(),
[$categoryEntity],
$this->
getSalesChannelContext($salesChannelId));
} else { $event =
new EntityLoadedEvent(new CategoryDefinition(),
[$categoryEntity], Context::
createDefaultContext());
} static::
assertEquals($cmsPageIdBeforeEvent,
$categoryEntity->
getCmsPageId());
$categorySubscriber->
entityLoaded($event);
static::
assertEquals($cmsPageIdAfterEvent,
$categoryEntity->
getCmsPageId());
} /**
* @return array<string, array{SystemConfigService, CategoryEntity, string|null, string|null, string|null}>
*/
public static function entityLoadedEventDataProvider(): iterable
{ yield 'It does not set cms page id if already set by the user' =>
[ self::
getSystemConfigServiceMock(),
self::
getCategory('foobar', false
),