5 use MockChain\Sequence;
6 use Drupal\Core\Config\ConfigFactory;
7 use Drupal\Core\Config\ImmutableConfig;
8 use Drupal\Core\Entity\EntityStorageInterface;
9 use Drupal\Core\Entity\EntityTypeManager;
10 use Drupal\Core\Queue\QueueFactory;
14 use PHPUnit\Framework\TestCase;
26 "field_json_metadata" => (
object) [
27 "value" => json_encode((
object) [
"data" => (
object) [
'name' =>
'Gerardo',
'company' =>
'CivicActions']]),
31 $entityTypeManager = (
new Chain($this))
32 ->add(EntityTypeManager::class,
'getStorage', EntityStorageInterface::class)
33 ->add(EntityStorageInterface::class,
'loadByProperties', [$node])
36 $uuidService =
new Uuid5();
37 $uuid = $uuidService->generate(
'dataset',
"some value");
39 $configService = (
new Chain($this))
40 ->add(ConfigFactory::class,
'get', ImmutableConfig::class)
41 ->add(ImmutableConfig::class,
'get', [
'publisher'])
44 $queueService = (
new Chain($this))
45 ->add(QueueFactory::class,
'blah', NULL)
48 $valueReferencer =
new Dereferencer($configService, $entityTypeManager);
49 $referenced = $valueReferencer->dereference((
object) [
'publisher' => $uuid]);
51 $this->assertTrue(is_object($referenced));
52 $this->assertEquals((
object) [
'name' =>
'Gerardo',
'company' =>
'CivicActions'], $referenced->publisher);
60 "field_json_metadata" => (
object) [
61 "value" => json_encode((
object) [
"data" =>
"Gerardo"]),
66 "field_json_metadata" => (
object) [
67 "value" => json_encode((
object) [
"data" =>
"CivicActions"]),
71 $nodes = (
new Sequence())
75 $entityTypeManager = (
new Chain($this))
76 ->add(EntityTypeManager::class,
'getStorage', EntityStorageInterface::class)
77 ->add(EntityStorageInterface::class,
'loadByProperties', $nodes)
80 $uuidService =
new Uuid5();
82 $configService = (
new Chain($this))
83 ->add(ConfigFactory::class,
'get', ImmutableConfig::class)
84 ->add(ImmutableConfig::class,
'get', [
'keyword'])
87 $queueService = (
new Chain($this))
88 ->add(QueueFactory::class,
'blah', NULL)
91 $valueReferencer =
new Dereferencer($configService, $entityTypeManager);
92 $referenced = $valueReferencer->dereference((
object) [
'keyword' => [
'123456789',
'987654321']]);
94 $this->assertTrue(is_object($referenced));
95 $this->assertEquals(
"Gerardo", $referenced->keyword[0]);
96 $this->assertEquals(
"CivicActions", $referenced->keyword[1]);