Skip to content

Commit ea22133

Browse files
committed
New structure for param received by promise
Used to be: `[record, record, record, ... summary: summary]` Now: `{records: [record, record, record, ...], summary: summary}`
1 parent 51af680 commit ea22133

9 files changed

+50
-51
lines changed

README.md

+2-2
Original file line numberDiff line numberDiff line change
@@ -61,8 +61,8 @@ session
6161
// the Promise way, where the complete result is collected before we act on it:
6262
session
6363
.run("MATCH (alice {name : {nameParam} }) RETURN alice.age", { nameParam:'Alice' })
64-
.then(function(records){
65-
records.forEach(function(record) {
64+
.then(function(result){
65+
result.records.forEach(function(record) {
6666
console.log(record);
6767
});
6868

src/v1/index.js

+9-9
Original file line numberDiff line numberDiff line change
@@ -26,18 +26,18 @@ let USER_AGENT = "neo4j-javascript/" + VERSION;
2626

2727
export default {
2828
driver: (url, token) => new Driver(url, USER_AGENT, token),
29-
int: int,
30-
isInt: isInt,
31-
auth : {
29+
int,
30+
isInt,
31+
auth: {
3232
basic: (username, password) => {
3333
return {scheme: "basic", principal: username, credentials: password};
3434
}
3535
},
36-
types : {
37-
Node : Node,
38-
Relationship : Relationship,
39-
UnboundRelationship: UnboundRelationship,
40-
PathSegment : PathSegment,
41-
Path : Path
36+
types: {
37+
Node,
38+
Relationship,
39+
UnboundRelationship,
40+
PathSegment,
41+
Path
4242
}
4343
}

src/v1/result.js

+1-2
Original file line numberDiff line numberDiff line change
@@ -54,8 +54,7 @@ class Result {
5454
let observer = {
5555
onNext: (record) => { records.push(record); },
5656
onCompleted: (summary) => {
57-
records.summary = summary;
58-
resolve(records);
57+
resolve({records: records, summary: summary});
5958
},
6059
onError: (error) => { reject(error); }
6160
};

test/v1/examples.test.js

+1-1
Original file line numberDiff line numberDiff line change
@@ -50,7 +50,7 @@ describe('transaction', function() {
5050
session
5151
.run( "MATCH (p:Person) WHERE p.name = 'Neo' RETURN p.age" )
5252
.then( function( result ) {
53-
console.log( "Neo is " + result[0]["p.age"].toInt() + " years old." );
53+
console.log( "Neo is " + result.records[0]["p.age"].toInt() + " years old." );
5454

5555
session.close();
5656
driver.close();

test/v1/session.test.js

+6-6
Original file line numberDiff line numberDiff line change
@@ -106,14 +106,14 @@ describe('session', function() {
106106
// When & Then
107107
session.run( "RETURN 1.0 AS a")
108108
.then(
109-
function( records ) {
110-
expect( records.length ).toBe( 1 );
111-
expect( records[0]['a'] ).toBe( 1 );
109+
function(result) {
110+
expect(result.records.length).toBe( 1 );
111+
expect(result.records[0]['a']).toBe( 1 );
112112
}
113113
).then(
114-
function(records) {
115-
expect( records.length ).toBe( 1 );
116-
expect( records[0]['a'] ).toBe( 1 );
114+
function(result) {
115+
expect(result.records.length).toBe( 1 );
116+
expect(result.records[0]['a']).toBe( 1 );
117117
}
118118
).then( function() { done(); })
119119
});

test/v1/tck/steps/matchacceptencesteps.js

+2-2
Original file line numberDiff line numberDiff line change
@@ -24,9 +24,9 @@ module.exports = function () {
2424
var successCallback = function(res) {
2525
var givenResults = [];
2626
var expectedPrint = printable(self.expectedResults);
27-
for (var i = 0 ; i < res.length; i++)
27+
for (var i = 0 ; i < res.records.length; i++)
2828
{
29-
givenResults.push(getTestObject(res[i]));
29+
givenResults.push(getTestObject(res.records[i]));
3030
}
3131
if ( givenResults.length != self.expectedResults.length)
3232
{

test/v1/tck/steps/tyepesystemsteps.js

+4-4
Original file line numberDiff line numberDiff line change
@@ -113,12 +113,12 @@ module.exports = function () {
113113
var self = this;
114114
var errorCallback = function(err) {callback(new Error("Rejected Promise: " + err))}
115115
var successCallback = function(res) {
116-
if(Object.keys(res[0]).length != 1 || Object.keys(res[0])[0].length != 1) {
117-
callback(new Error("Expected the statement to return a single row, single field record. Got: " + Object.keys(res[0]).length + " records and: " + Object.keys(res[0])[0].length + " values"));
116+
if(Object.keys(res.records[0]).length != 1 || Object.keys(res.records[0])[0].length != 1) {
117+
callback(new Error("Expected the statement to return a single row, single field record. Got: " + Object.keys(res.records[0]).length + " records and: " + Object.keys(res.records[0])[0].length + " values"));
118118
}
119119

120-
if (!util.compareValues(res[0]['x'], self.expectedValue)) {
121-
callback(new Error("Expected the statement to return same as what was sent. Got: " + res[0]['x'] + " Expected: " + self.expectedValue));
120+
if (!util.compareValues(res.records[0]['x'], self.expectedValue)) {
121+
callback(new Error("Expected the statement to return same as what was sent. Got: " + res.records[0]['x'] + " Expected: " + self.expectedValue));
122122
}
123123
callback();
124124
}

test/v1/transaction.test.js

+17-17
Original file line numberDiff line numberDiff line change
@@ -42,11 +42,11 @@ describe('transaction', function() {
4242
tx.commit()
4343
.then(function () {
4444
session.run("MATCH (t1:TXNode1), (t2:TXNode2) RETURN count(t1), count(t2)")
45-
.then(function (records) {
46-
expect(records.length).toBe(1);
47-
expect(records[0]['count(t1)'].toInt())
45+
.then(function (result) {
46+
expect(result.records.length).toBe(1);
47+
expect(result.records[0]['count(t1)'].toInt())
4848
.toBe(1);
49-
expect(records[0]['count(t2)'].toInt())
49+
expect(result.records[0]['count(t2)'].toInt())
5050
.toBe(1);
5151
done();
5252
});
@@ -56,14 +56,14 @@ describe('transaction', function() {
5656
it('should handle interactive session', function (done) {
5757
// When
5858
var tx = session.beginTransaction();
59-
tx.run("RETURN 'foo' AS res").then(function (records) {
60-
tx.run("CREATE ({name: {param}})", {param: records[0]['res']});
59+
tx.run("RETURN 'foo' AS res").then(function (result) {
60+
tx.run("CREATE ({name: {param}})", {param: result.records[0]['res']});
6161
tx.commit()
6262
.then(function () {
6363
session.run("MATCH (a {name:'foo'}) RETURN count(a)")
64-
.then(function (records) {
65-
expect(records.length).toBe(1);
66-
expect(records[0]['count(a)'].toInt()).toBe(1);
64+
.then(function (result) {
65+
expect(result.records.length).toBe(1);
66+
expect(result.records[0]['count(a)'].toInt()).toBe(1);
6767
done();
6868
});
6969
});
@@ -146,14 +146,14 @@ describe('transaction', function() {
146146
tx.run("CREATE (:TXNode2)");
147147
tx.rollback()
148148
.then(function () {
149-
session.run("MATCH (t1:TXNode1), (t2:TXNode2) RETURN count(t1), count(t2)").then(function (records) {
150-
151-
expect(records.length).toBe(1);
152-
expect(records[0]['count(t1)'].toInt())
153-
.toBe(0);
154-
expect(records[0]['count(t2)'].toInt())
155-
.toBe(0);
156-
done();
149+
session.run("MATCH (t1:TXNode1), (t2:TXNode2) RETURN count(t1), count(t2)")
150+
.then(function (result) {
151+
expect(result.records.length).toBe(1);
152+
expect(result.records[0]['count(t1)'].toInt())
153+
.toBe(0);
154+
expect(result.records[0]['count(t2)'].toInt())
155+
.toBe(0);
156+
done();
157157
});
158158
});
159159
});

test/v1/types.test.js

+8-8
Original file line numberDiff line numberDiff line change
@@ -68,8 +68,8 @@ describe('node values', function() {
6868
var session = driver.session();
6969

7070
// When
71-
session.run("CREATE (n:User {name:'Lisa'}) RETURN n, id(n)").then(function(rs) {
72-
var node = rs[0]['n'];
71+
session.run("CREATE (n:User {name:'Lisa'}) RETURN n, id(n)").then(function(result) {
72+
var node = result.records[0]['n'];
7373

7474
expect( node.properties ).toEqual( { name:"Lisa" } );
7575
expect( node.labels ).toEqual( ["User"] );
@@ -88,8 +88,8 @@ describe('relationship values', function() {
8888
var session = driver.session();
8989

9090
// When
91-
session.run("CREATE ()-[r:User {name:'Lisa'}]->() RETURN r, id(r)").then(function(rs) {
92-
var rel = rs[0]['r'];
91+
session.run("CREATE ()-[r:User {name:'Lisa'}]->() RETURN r, id(r)").then(function(result) {
92+
var rel = result.records[0]['r'];
9393

9494
expect( rel.properties ).toEqual( { name:"Lisa" } );
9595
expect( rel.type ).toEqual( "User" );
@@ -109,8 +109,8 @@ describe('path values', function() {
109109

110110
// When
111111
session.run("CREATE p=(:User { name:'Lisa' })<-[r:KNOWS {since:1234.0}]-() RETURN p")
112-
.then(function(rs) {
113-
var path = rs[0]['p'];
112+
.then(function(result) {
113+
var path = result.records[0]['p'];
114114

115115
expect( path.start.properties ).toEqual( { name:"Lisa" } );
116116
expect( path.end.properties ).toEqual( { } );
@@ -137,8 +137,8 @@ function testVal( val ) {
137137
var session = driver.session();
138138

139139
session.run("RETURN {val} as v", {val: val})
140-
.then( function( records ) {
141-
expect( records[0]['v'] ).toEqual( val );
140+
.then( function( result ) {
141+
expect( result.records[0]['v'] ).toEqual( val );
142142
driver.close();
143143
done();
144144
});

0 commit comments

Comments
 (0)