graphQlQuery($query); $this->assertArrayHasKey('country', $result); $this->assertArrayHasKey('id', $result['country']); $this->assertArrayHasKey('two_letter_abbreviation', $result['country']); $this->assertArrayHasKey('three_letter_abbreviation', $result['country']); $this->assertArrayHasKey('full_name_locale', $result['country']); $this->assertArrayHasKey('full_name_english', $result['country']); $this->assertArrayHasKey('available_regions', $result['country']); $this->assertArrayHasKey('id', $result['country']['available_regions'][0]); $this->assertArrayHasKey('code', $result['country']['available_regions'][0]); $this->assertArrayHasKey('name', $result['country']['available_regions'][0]); } /** */ public function testGetCountryNotFoundException() { $this->expectException(\Exception::class); $this->expectExceptionMessage('GraphQL response contains errors: The country isn\'t available.'); $query = <<graphQlQuery($query); } /** */ public function testMissedInputParameterException() { $this->expectException(\Exception::class); $this->expectExceptionMessage('Country "id" value should be specified'); $query = <<graphQlQuery($query); } }