Skip to content

Commit 3af4e6e

Browse files
authored
Improve Aura examples (#801)
Add examples for reading relationships and logging.
1 parent cf646a1 commit 3af4e6e

File tree

1 file changed

+19
-8
lines changed

1 file changed

+19
-8
lines changed

packages/neo4j-driver/test/examples.test.js

+19-8
Original file line numberDiff line numberDiff line change
@@ -41,6 +41,7 @@ describe('#integration examples', () => {
4141
let consoleOverride
4242
let consoleOverridePromise
4343
let consoleOverridePromiseResolve
44+
let consoleOverridePromiseReject
4445

4546
const user = sharedNeo4j.username
4647
const password = sharedNeo4j.password
@@ -53,8 +54,12 @@ describe('#integration examples', () => {
5354
beforeEach(async () => {
5455
consoleOverridePromise = new Promise((resolve, reject) => {
5556
consoleOverridePromiseResolve = resolve
57+
consoleOverridePromiseReject = reject
5658
})
57-
consoleOverride = { log: msg => consoleOverridePromiseResolve(msg) }
59+
consoleOverride = {
60+
log: msg => consoleOverridePromiseResolve(msg),
61+
error: msg => consoleOverridePromiseReject(msg)
62+
}
5863

5964
protocolVersion = await sharedNeo4j.cleanupAndGetProtocolVersion(
6065
driverGlobal
@@ -416,29 +421,35 @@ describe('#integration examples', () => {
416421
// end::driver-introduction-example-variables[]
417422

418423
// tag::driver-introduction-example[]
419-
const driver = neo4j.driver(uri, neo4j.auth.basic(user, password))
424+
const driver = neo4j.driver(uri, neo4j.auth.basic(user, password), {
425+
// Enabling driver logging info into the console.
426+
// Supported levels: 'error', 'warn', 'info' and 'debug'
427+
logging: neo4j.logging.console('info')
428+
})
420429
const session = driver.session()
421430

422431
const person1Name = 'Alice'
423432
const person2Name = 'David'
433+
const knowsFrom = 'School'
424434

425435
try {
426436
// To learn more about the Cypher syntax, see https://neo4j.com/docs/cypher-manual/current/
427437
// The Reference Card is also a good resource for keywords https://neo4j.com/docs/cypher-refcard/current/
428438
const writeQuery = `MERGE (p1:Person { name: $person1Name })
429439
MERGE (p2:Person { name: $person2Name })
430-
MERGE (p1)-[:KNOWS]->(p2)
431-
RETURN p1, p2`
440+
MERGE (p1)-[k:KNOWS { from: $knowsFrom }]->(p2)
441+
RETURN p1, p2, k`
432442

433443
// Write transactions allow the driver to handle retries and transient errors
434444
const writeResult = await session.writeTransaction(tx =>
435-
tx.run(writeQuery, { person1Name, person2Name })
445+
tx.run(writeQuery, { person1Name, person2Name, knowsFrom })
436446
)
437447
writeResult.records.forEach(record => {
438448
const person1Node = record.get('p1')
439449
const person2Node = record.get('p2')
450+
const knowsRel = record.get('k')
440451
console.log(
441-
`Created friendship between: ${person1Node.properties.name}, ${person2Node.properties.name}`
452+
`Created friendship between: ${person1Node.properties.name}, ${person2Node.properties.name} from ${knowsRel.properties.from}`
442453
)
443454
})
444455

@@ -452,7 +463,7 @@ describe('#integration examples', () => {
452463
console.log(`Found person: ${record.get('name')}`)
453464
})
454465
} catch (error) {
455-
console.error('Something went wrong: ', error)
466+
console.error(error)
456467
} finally {
457468
await session.close()
458469
}
@@ -462,7 +473,7 @@ describe('#integration examples', () => {
462473
// end::driver-introduction-example[]
463474

464475
expect(await consoleLoggedMsg).toEqual(
465-
`Created friendship between: ${person1Name}, ${person2Name}`
476+
`Created friendship between: ${person1Name}, ${person2Name} from ${knowsFrom}`
466477
)
467478
}, 60000)
468479

0 commit comments

Comments
 (0)