public function testEncodeComplexStructs(string
$definitionClass, SerializationFixture
$fixture): void
{ /** @var EntityDefinition $definition */
$definition =
$this->
getContainer()->
get($definitionClass);
$encoder =
$this->
getContainer()->
get(JsonApiEncoder::
class);
$actual =
$encoder->
encode(new Criteria(),
$definition,
$fixture->
getInput(), SerializationFixture::SALES_CHANNEL_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->
getSalesChannelJsonApiFixtures(),
$actual);
} /**
* Not possible with dataprovider
* as we have to manipulate the container, but the dataprovider run before all tests
*/
public function testEncodeStructWithExtension(): void
{