blink\testing\RequestActor::seeJsonStructure PHP Method

seeJsonStructure() public method

Assert that the JSON response has a given structure.
public seeJsonStructure ( array $structure = null, array | null $responseData = null )
$structure array
$responseData array | null
    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;
    }