Skip to content

Commit 784ffbe

Browse files
committed
testing code
1 parent 283d369 commit 784ffbe

File tree

3 files changed

+44
-10
lines changed

3 files changed

+44
-10
lines changed

.phpunit.result.cache

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
{"version":1,"defects":{"Neo4j\\QueryAPI\\Tests\\Integration\\Neo4jQueryAPIIntegrationTest::testRunSuccessWithParameters#testWithPropertyExistenceCheck":7,"Neo4j\\QueryAPI\\Tests\\Integration\\Neo4jQueryAPIIntegrationTest::testRunSuccessWithParameters#testWithNumericFilters":8,"Neo4j\\QueryAPI\\Tests\\Integration\\Neo4jQueryAPIIntegrationTest::testRunSuccessWithParameters#testWithNestedRelationships":7,"Neo4j\\QueryAPI\\Tests\\Integration\\Neo4jQueryAPIIntegrationTest::testRunSuccessWithParameters#testWithMultipleConditions":7},"times":{"Neo4j\\QueryAPI\\Tests\\Integration\\Neo4jQueryAPIIntegrationTest::testRunSuccessWithParameters#0":0.393,"Neo4j\\QueryAPI\\Tests\\Integration\\Neo4jQueryAPIIntegrationTest::testRunSuccessWithParameters#testWithExactNames":0.356,"Neo4j\\QueryAPI\\Tests\\Integration\\Neo4jQueryAPIIntegrationTest::testRunSuccessWithParameters#testWithNoMatchingNames":0.327,"Neo4j\\QueryAPI\\Tests\\Integration\\Neo4jQueryAPIIntegrationTest::testRunSuccessWithParameters#testWithSingleName":0.4,"Neo4j\\QueryAPI\\Tests\\Integration\\Neo4jQueryAPIIntegrationTest::testRunSuccessWithParameters#testWithNonExistentLabel":0.355,"Neo4j\\QueryAPI\\Tests\\Integration\\Neo4jQueryAPIIntegrationTest::testRunSuccessWithParameters#testWithPropertyExistenceCheck":0.417,"Neo4j\\QueryAPI\\Tests\\Integration\\Neo4jQueryAPIIntegrationTest::testRunSuccessWithParameters#testWithNumericFilters":0.378,"Neo4j\\QueryAPI\\Tests\\Integration\\Neo4jQueryAPIIntegrationTest::testRunSuccessWithParameters#testWithSortingResults":0.371,"Neo4j\\QueryAPI\\Tests\\Integration\\Neo4jQueryAPIIntegrationTest::testRunSuccessWithParameters#testWithNestedRelationships":0.415,"Neo4j\\QueryAPI\\Tests\\Integration\\Neo4jQueryAPIIntegrationTest::testRunSuccessWithParameters#testWithMultipleConditions":0.396,"Neo4j\\QueryAPI\\Tests\\Integration\\Neo4jQueryAPIIntegrationTest::testRunSuccessWithParameters#testWithInvalidQuery":0.357,"Neo4j\\QueryAPI\\Tests\\Unit\\Neo4jQueryAPIUnitTest::testCorrectClientSetup":0.012,"Neo4j\\QueryAPI\\Tests\\Unit\\Neo4jQueryAPIUnitTest::testRunSuccess":0.007}}
1+
{"version":1,"defects":{"Neo4j\\QueryAPI\\Tests\\Integration\\Neo4jQueryAPIIntegrationTest::testRunSuccessWithParameters#testWithPropertyExistenceCheck":7,"Neo4j\\QueryAPI\\Tests\\Integration\\Neo4jQueryAPIIntegrationTest::testRunSuccessWithParameters#testWithNumericFilters":8,"Neo4j\\QueryAPI\\Tests\\Integration\\Neo4jQueryAPIIntegrationTest::testRunSuccessWithParameters#testWithNestedRelationships":7,"Neo4j\\QueryAPI\\Tests\\Integration\\Neo4jQueryAPIIntegrationTest::testRunSuccessWithParameters#testWithMultipleConditions":7,"Neo4j\\QueryAPI\\Tests\\Integration\\Neo4jQueryAPIIntegrationTest::testRunSuccessWithParameters#testWithPartialNameMatch":7},"times":{"Neo4j\\QueryAPI\\Tests\\Integration\\Neo4jQueryAPIIntegrationTest::testRunSuccessWithParameters#0":0.393,"Neo4j\\QueryAPI\\Tests\\Integration\\Neo4jQueryAPIIntegrationTest::testRunSuccessWithParameters#testWithExactNames":0.368,"Neo4j\\QueryAPI\\Tests\\Integration\\Neo4jQueryAPIIntegrationTest::testRunSuccessWithParameters#testWithNoMatchingNames":1.426,"Neo4j\\QueryAPI\\Tests\\Integration\\Neo4jQueryAPIIntegrationTest::testRunSuccessWithParameters#testWithSingleName":0.376,"Neo4j\\QueryAPI\\Tests\\Integration\\Neo4jQueryAPIIntegrationTest::testRunSuccessWithParameters#testWithNonExistentLabel":0.438,"Neo4j\\QueryAPI\\Tests\\Integration\\Neo4jQueryAPIIntegrationTest::testRunSuccessWithParameters#testWithPropertyExistenceCheck":0.417,"Neo4j\\QueryAPI\\Tests\\Integration\\Neo4jQueryAPIIntegrationTest::testRunSuccessWithParameters#testWithNumericFilters":0.378,"Neo4j\\QueryAPI\\Tests\\Integration\\Neo4jQueryAPIIntegrationTest::testRunSuccessWithParameters#testWithSortingResults":0.371,"Neo4j\\QueryAPI\\Tests\\Integration\\Neo4jQueryAPIIntegrationTest::testRunSuccessWithParameters#testWithNestedRelationships":0.415,"Neo4j\\QueryAPI\\Tests\\Integration\\Neo4jQueryAPIIntegrationTest::testRunSuccessWithParameters#testWithMultipleConditions":0.396,"Neo4j\\QueryAPI\\Tests\\Integration\\Neo4jQueryAPIIntegrationTest::testRunSuccessWithParameters#testWithInvalidQuery":0.378,"Neo4j\\QueryAPI\\Tests\\Unit\\Neo4jQueryAPIUnitTest::testCorrectClientSetup":0.012,"Neo4j\\QueryAPI\\Tests\\Unit\\Neo4jQueryAPIUnitTest::testRunSuccess":0.006,"Neo4j\\QueryAPI\\Tests\\Integration\\Neo4jQueryAPIIntegrationTest::testRunSuccessWithParameters#testWithEmptyNameList":0.363,"Neo4j\\QueryAPI\\Tests\\Integration\\Neo4jQueryAPIIntegrationTest::testRunSuccessWithParameters#testWithPartialNameMatch":0.359,"Neo4j\\QueryAPI\\Tests\\Integration\\Neo4jQueryAPIIntegrationTest::testRunSuccessWithParameters#testWithNoData":0.399}}

tests/Integration/Neo4jQueryAPIIntegrationTest.php

Lines changed: 31 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -38,15 +38,15 @@ public static function setUpBeforeClass(): void
3838
*/
3939
private static function clearDatabase(Neo4jQueryAPI $api): void
4040
{
41-
$api->run('MATCH (n) DETACH DELETE n',[]);
41+
$api->run('MATCH (n) DETACH DELETE n', []);
4242
}
4343

4444
/**
4545
* @throws GuzzleException
4646
*/
4747
private static function createConstraints(Neo4jQueryAPI $api): void
4848
{
49-
$api->run('CREATE CONSTRAINT IF NOT EXISTS FOR (p:Person1) REQUIRE p.name IS UNIQUE',[]);
49+
$api->run('CREATE CONSTRAINT IF NOT EXISTS FOR (p:Person1) REQUIRE p.name IS UNIQUE', []);
5050
}
5151

5252
/**
@@ -64,7 +64,7 @@ private static function populateFixtures(Neo4jQueryAPI $api, array $names): void
6464
*/
6565
private static function validateFixtures(Neo4jQueryAPI $api): void
6666
{
67-
$results = $api->run('MATCH (p:Person) RETURN p.name',[]);
67+
$results = $api->run('MATCH (p:Person) RETURN p.name', []);
6868
print_r($results);
6969
}
7070

@@ -77,9 +77,10 @@ public function testRunSuccessWithParameters(
7777
string $username,
7878
string $password,
7979
string $query,
80-
array $parameters,
81-
array $expectedResults
82-
): void {
80+
array $parameters,
81+
array $expectedResults
82+
): void
83+
{
8384
$api = Neo4jQueryAPI::login($address, $username, $password);
8485
$results = $api->run($query, $parameters);
8586

@@ -146,6 +147,30 @@ public static function queryProvider(): array
146147
],
147148
],
148149

150+
// Test with an empty name list
151+
'testWithEmptyNameList' => [
152+
'https://bb79fe35.databases.neo4j.io',
153+
'neo4j',
154+
'OXDRMgdWFKMcBRCBrIwXnKkwLgDlmFxipnywT6t_AK0',
155+
'MATCH (n:Person) WHERE n.name IN $names RETURN n.name',
156+
['names' => []],
157+
[
158+
'data' => [],
159+
],
160+
],
161+
162+
// Test for no data
163+
'testWithNoData' => [
164+
'https://bb79fe35.databases.neo4j.io',
165+
'neo4j',
166+
'OXDRMgdWFKMcBRCBrIwXnKkwLgDlmFxipnywT6t_AK0',
167+
'MATCH (n:Person) WHERE n.age > 100 RETURN n.name',
168+
[],
169+
[
170+
'data' => [],
171+
],
172+
],
173+
149174

150175
// Test with an invalid query that should return an error
151176
'testWithInvalidQuery' => [

tests/Unit/Neo4jQueryAPIUnitTest.php

Lines changed: 12 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,10 @@
1212

1313
class Neo4jQueryAPIUnitTest extends TestCase
1414
{
15+
protected string $address;
16+
protected string $username;
17+
protected string $password;
18+
1519
protected function setUp(): void
1620
{
1721
parent::setUp();
@@ -28,8 +32,10 @@ public function testCorrectClientSetup(): void
2832

2933
$this->assertInstanceOf(Neo4jQueryAPI::class, $neo4jQueryAPI);
3034

35+
// Use Reflection to get the client property
3136
$clientReflection = new \ReflectionClass(Neo4jQueryAPI::class);
3237
$clientProperty = $clientReflection->getProperty('client');
38+
$clientProperty->setAccessible(true); // Make private property accessible
3339
$client = $clientProperty->getValue($neo4jQueryAPI);
3440

3541
$this->assertInstanceOf(Client::class, $client);
@@ -45,23 +51,26 @@ public function testCorrectClientSetup(): void
4551
*/
4652
public function testRunSuccess(): void
4753
{
48-
54+
// Mock a successful response from Neo4j server
4955
$mock = new MockHandler([
5056
new Response(200, ['X-Foo' => 'Bar'], '{"hello":"world"}'),
5157
]);
5258

5359
$handlerStack = HandlerStack::create($mock);
54-
5560
$client = new Client(['handler' => $handlerStack]);
5661

5762
$neo4jQueryAPI = new Neo4jQueryAPI($client);
5863

64+
// Use a sample Cypher query to run on the Neo4j server
5965
$cypherQuery = 'MATCH (n:Person) RETURN n LIMIT 5';
6066

67+
// Execute the query and capture the result
6168
$result = $neo4jQueryAPI->run($cypherQuery, []);
6269

63-
print_r($result);
70+
// Output for debugging
71+
print_r($result);
6472

73+
// Verify the response matches the expected output
6574
$this->assertEquals(['hello' => 'world'], $result);
6675
}
6776
}

0 commit comments

Comments
 (0)