public function seeJsonStructure(array $structure = null, $responseData = null)
{
if (is_null($structure)) {
return $this->seeJson();
}
if (!$responseData) {
$responseData = json_decode($this->response->content(), true);
}
foreach ($structure as $key => $value) {
if (is_array($value) && $key === '*') {
$this->phpunit->assertInternalType('array', $responseData);
foreach ($responseData as $responseDataItem) {
$this->seeJsonStructure($structure['*'], $responseDataItem);
}
} elseif (is_array($value)) {
$this->phpunit->assertArrayHasKey($key, $responseData);
$this->seeJsonStructure($structure[$key], $responseData[$key]);
} else {
$this->phpunit->assertArrayHasKey($value, $responseData);
}
}
return $this;
}