Skip to content

Commit 84adaad

Browse files
committed
Test session TS declarations
1 parent 03225fe commit 84adaad

File tree

4 files changed

+264
-8
lines changed

4 files changed

+264
-8
lines changed

test/types/v1/session.test.ts

Lines changed: 153 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,153 @@
1+
/**
2+
* Copyright (c) 2002-2017 "Neo Technology,","
3+
* Network Engine for Objects in Lund AB [http://neotechnology.com]
4+
*
5+
* This file is part of Neo4j.
6+
*
7+
* Licensed under the Apache License, Version 2.0 (the "License");
8+
* you may not use this file except in compliance with the License.
9+
* You may obtain a copy of the License at
10+
*
11+
* http://www.apache.org/licenses/LICENSE-2.0
12+
*
13+
* Unless required by applicable law or agreed to in writing, software
14+
* distributed under the License is distributed on an "AS IS" BASIS,
15+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16+
* See the License for the specific language governing permissions and
17+
* limitations under the License.
18+
*/
19+
20+
import Session from "../../../types/v1/session";
21+
import Transaction from "../../../types/v1/transaction";
22+
import Record from "../../../types/v1/record";
23+
import Result, {StatementResult} from "../../../types/v1/result";
24+
import ResultSummary from "../../../types/v1/result-summary";
25+
26+
const dummy: any = null;
27+
28+
const session: Session = dummy;
29+
30+
const tx: Transaction = session.beginTransaction();
31+
const bookmarkNull: null = <null>session.lastBookmark();
32+
const bookmark: string = <string>session.lastBookmark();
33+
34+
const promise1: Promise<number> = session.readTransaction((tx: Transaction) => {
35+
return 10;
36+
});
37+
38+
const promise2: Promise<string> = session.readTransaction((tx: Transaction) => {
39+
return Promise.resolve("42")
40+
});
41+
42+
const promise3: Promise<number> = session.writeTransaction((tx: Transaction) => {
43+
return 10;
44+
});
45+
46+
const promise4: Promise<string> = session.writeTransaction((tx: Transaction) => {
47+
return Promise.resolve("42")
48+
});
49+
50+
const close1: void = session.close();
51+
const close2: void = session.close(() => {
52+
console.log("Session closed");
53+
});
54+
55+
const result1: Result = session.run("RETURN 1");
56+
result1.then((res: StatementResult) => {
57+
const records: Record[] = res.records;
58+
const summary: ResultSummary = res.summary;
59+
console.log(records);
60+
console.log(summary);
61+
}).catch((error: Error) => {
62+
console.log(error);
63+
});
64+
65+
const result2: Result = session.run("RETURN 2");
66+
result2.subscribe({});
67+
result2.subscribe({
68+
onNext: (record: Record) => console.log(record)
69+
});
70+
result2.subscribe({
71+
onNext: (record: Record) => console.log(record),
72+
onError: (error: Error) => console.log(error)
73+
});
74+
result2.subscribe({
75+
onNext: (record: Record) => console.log(record),
76+
onError: (error: Error) => console.log(error),
77+
onCompleted: (summary: ResultSummary) => console.log(summary)
78+
});
79+
80+
const result3: Result = session.run("RETURN $value", {value: "42"});
81+
result3.then((res: StatementResult) => {
82+
const records: Record[] = res.records;
83+
const summary: ResultSummary = res.summary;
84+
console.log(records);
85+
console.log(summary);
86+
}).catch((error: Error) => {
87+
console.log(error);
88+
});
89+
90+
const result4: Result = session.run("RETURN $value", {value: "42"});
91+
result4.subscribe({});
92+
result4.subscribe({
93+
onNext: (record: Record) => console.log(record)
94+
});
95+
result4.subscribe({
96+
onNext: (record: Record) => console.log(record),
97+
onError: (error: Error) => console.log(error)
98+
});
99+
result4.subscribe({
100+
onNext: (record: Record) => console.log(record),
101+
onError: (error: Error) => console.log(error),
102+
onCompleted: (summary: ResultSummary) => console.log(summary)
103+
});
104+
105+
const result5: Result = session.run({text: "RETURN 1"});
106+
result5.then((res: StatementResult) => {
107+
const records: Record[] = res.records;
108+
const summary: ResultSummary = res.summary;
109+
console.log(records);
110+
console.log(summary);
111+
}).catch((error: Error) => {
112+
console.log(error);
113+
});
114+
115+
const result6: Result = session.run({text: "RETURN 1"});
116+
result6.subscribe({});
117+
result6.subscribe({
118+
onNext: (record: Record) => console.log(record)
119+
});
120+
result6.subscribe({
121+
onNext: (record: Record) => console.log(record),
122+
onError: (error: Error) => console.log(error)
123+
});
124+
result6.subscribe({
125+
onNext: (record: Record) => console.log(record),
126+
onError: (error: Error) => console.log(error),
127+
onCompleted: (summary: ResultSummary) => console.log(summary)
128+
});
129+
130+
const result7: Result = session.run({text: "RETURN $value", parameters: {value: 42}});
131+
result7.then((res: StatementResult) => {
132+
const records: Record[] = res.records;
133+
const summary: ResultSummary = res.summary;
134+
console.log(records);
135+
console.log(summary);
136+
}).catch((error: Error) => {
137+
console.log(error);
138+
});
139+
140+
const result8: Result = session.run({text: "RETURN $value", parameters: {value: 42}});
141+
result8.subscribe({});
142+
result8.subscribe({
143+
onNext: (record: Record) => console.log(record)
144+
});
145+
result8.subscribe({
146+
onNext: (record: Record) => console.log(record),
147+
onError: (error: Error) => console.log(error)
148+
});
149+
result8.subscribe({
150+
onNext: (record: Record) => console.log(record),
151+
onError: (error: Error) => console.log(error),
152+
onCompleted: (summary: ResultSummary) => console.log(summary)
153+
});

test/types/v1/transaction.test.ts

Lines changed: 107 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,9 @@
1818
*/
1919

2020
import Transaction from "../../../types/v1/transaction";
21+
import Record from "../../../types/v1/record";
22+
import Result, {StatementResult} from "../../../types/v1/result";
23+
import ResultSummary from "../../../types/v1/result-summary";
2124

2225
const dummy: any = null;
2326

@@ -26,17 +29,114 @@ const tx: Transaction = dummy;
2629
const isOpen: boolean = tx.isOpen();
2730
console.log(isOpen);
2831

29-
const runResult1 = tx.run("RETURN 1");
30-
runResult1.then(result => {
31-
result.records.forEach(record => {
32-
console.log(record);
33-
});
32+
const result1: Result = tx.run("RETURN 1");
33+
result1.then((res: StatementResult) => {
34+
const records: Record[] = res.records;
35+
const summary: ResultSummary = res.summary;
36+
console.log(records);
37+
console.log(summary);
38+
}).catch((error: Error) => {
39+
console.log(error);
40+
});
41+
42+
const result2: Result = tx.run("RETURN 2");
43+
result2.subscribe({});
44+
result2.subscribe({
45+
onNext: (record: Record) => console.log(record)
46+
});
47+
result2.subscribe({
48+
onNext: (record: Record) => console.log(record),
49+
onError: (error: Error) => console.log(error)
50+
});
51+
result2.subscribe({
52+
onNext: (record: Record) => console.log(record),
53+
onError: (error: Error) => console.log(error),
54+
onCompleted: (summary: ResultSummary) => console.log(summary)
55+
});
56+
57+
const result3: Result = tx.run("RETURN $value", {value: "42"});
58+
result3.then((res: StatementResult) => {
59+
const records: Record[] = res.records;
60+
const summary: ResultSummary = res.summary;
61+
console.log(records);
62+
console.log(summary);
63+
}).catch((error: Error) => {
64+
console.log(error);
65+
});
66+
67+
const result4: Result = tx.run("RETURN $value", {value: "42"});
68+
result4.subscribe({});
69+
result4.subscribe({
70+
onNext: (record: Record) => console.log(record)
71+
});
72+
result4.subscribe({
73+
onNext: (record: Record) => console.log(record),
74+
onError: (error: Error) => console.log(error)
75+
});
76+
result4.subscribe({
77+
onNext: (record: Record) => console.log(record),
78+
onError: (error: Error) => console.log(error),
79+
onCompleted: (summary: ResultSummary) => console.log(summary)
80+
});
81+
82+
const result5: Result = tx.run({text: "RETURN 1"});
83+
result5.then((res: StatementResult) => {
84+
const records: Record[] = res.records;
85+
const summary: ResultSummary = res.summary;
86+
console.log(records);
87+
console.log(summary);
88+
}).catch((error: Error) => {
89+
console.log(error);
90+
});
91+
92+
const result6: Result = tx.run({text: "RETURN 1"});
93+
result6.subscribe({});
94+
result6.subscribe({
95+
onNext: (record: Record) => console.log(record)
96+
});
97+
result6.subscribe({
98+
onNext: (record: Record) => console.log(record),
99+
onError: (error: Error) => console.log(error)
100+
});
101+
result6.subscribe({
102+
onNext: (record: Record) => console.log(record),
103+
onError: (error: Error) => console.log(error),
104+
onCompleted: (summary: ResultSummary) => console.log(summary)
105+
});
106+
107+
const result7: Result = tx.run({text: "RETURN $value", parameters: {value: 42}});
108+
result7.then((res: StatementResult) => {
109+
const records: Record[] = res.records;
110+
const summary: ResultSummary = res.summary;
111+
console.log(records);
112+
console.log(summary);
113+
}).catch((error: Error) => {
114+
console.log(error);
115+
});
116+
117+
const result8: Result = tx.run({text: "RETURN $value", parameters: {value: 42}});
118+
result8.subscribe({});
119+
result8.subscribe({
120+
onNext: (record: Record) => console.log(record)
121+
});
122+
result8.subscribe({
123+
onNext: (record: Record) => console.log(record),
124+
onError: (error: Error) => console.log(error)
125+
});
126+
result8.subscribe({
127+
onNext: (record: Record) => console.log(record),
128+
onError: (error: Error) => console.log(error),
129+
onCompleted: (summary: ResultSummary) => console.log(summary)
34130
});
35131

36-
tx.commit().catch(error => {
132+
tx.commit().then((res: StatementResult) => {
133+
console.log(res);
134+
}).catch((error: Error) => {
37135
console.log(error);
38136
});
39137

40-
tx.rollback().catch(error => {
138+
tx.rollback().then((res: StatementResult) => {
139+
console.log(res);
140+
}).catch((error: Error) => {
41141
console.log(error);
42142
});

types/v1/result.d.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -35,4 +35,5 @@ declare interface Result extends Promise<StatementResult> {
3535
subscribe(observer: Observer): void;
3636
}
3737

38+
export {StatementResult, Observer};
3839
export default Result;

types/v1/statement-runner.d.ts

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,9 @@ import Result from "./result";
2222
type Parameters = { [key: string]: any };
2323

2424
declare interface StatementRunner {
25-
run(statement: string | { text: string, parameters?: Parameters }, parameters?: Parameters): Result;
25+
run(statement: string, parameters?: Parameters): Result;
26+
27+
run(statement: { text: string, parameters?: Parameters }): Result;
2628
}
2729

2830
export {Parameters}

0 commit comments

Comments
 (0)