/** @var EntityDefinition $definition */
$definition =
$this->
getContainer()->
get($definitionClass);
$encoder =
$this->
getContainer()->
get(JsonApiEncoder::
class);
$actual =
$encoder->
encode(new Criteria(),
$definition,
$fixture->
getInput(), SerializationFixture::API_BASE_URL
);
$actual =
json_decode((string) $actual, true, 512, \JSON_THROW_ON_ERROR
);
// remove extensions from test
$actual =
$this->
arrayRemove($actual, 'extensions'
);
$actual['included'
] =
$this->
removeIncludedExtensions($actual['included'
]);
$this->
assertValues($fixture->
getAdminJsonApiFixtures(),
$actual);
} /**
* Not possible with dataprovider
* as we have to manipulate the container, but the dataprovider run before all tests
*/
public function testEncodeStructWithExtension(): void
{ $this->
registerDefinition(ExtendableDefinition::
class, ExtendedDefinition::
class);
$extendableDefinition =
new ExtendableDefinition();
$extendableDefinition->
addExtension(new AssociationExtension());