@@ -2,32 +2,38 @@ var neo4j = require("../../../../lib/v1");
22
33module . exports = function ( ) {
44
5- this . Before ( function ( scenario , callback ) {
5+ var failedScenarios = [ ]
6+
7+ this . Before ( "@reset_database" , function ( scenario , callback ) {
8+ this . driver = neo4j . driver ( "bolt://localhost" ) ;
9+ this . session = this . driver . session ( ) ;
10+ this . session . run ( "MATCH (n) DETACH DELETE n" ) . then ( function ( ) {
11+ callback ( ) ;
12+ } ) ;
13+ callback ( ) ;
14+ } ) ;
15+
16+ this . Before ( "~@reset_database" , function ( scenario , callback ) {
617 this . driver = neo4j . driver ( "bolt://localhost" ) ;
718 this . session = this . driver . session ( ) ;
8- if ( findTag ( scenario , '@reset_database' ) ) {
9- this . session . run ( "MATCH (n) DETACH DELETE n" ) . then ( function ( ) {
10- callback ( ) ;
11- } ) ;
12- }
1319 callback ( ) ;
1420 } ) ;
1521
1622 this . After ( function ( scenario , callback ) {
1723 if ( ! scenario . isSuccessful ( ) ) {
18- console . log ( "FAILED! Scenario: " + scenario . getName ( ) ) ;
19- console . log ( "With Exception: " + scenario . getException ( ) ) ;
20- return process . exit ( 2 ) ;
24+ failedScenarios . push ( scenario )
2125 }
2226 callback ( ) ;
2327 } ) ;
2428
25- function findTag ( scenario , tag ) {
26- for ( var i in scenario . getTags ( ) ) {
27- if ( scenario . getTags ( ) [ i ] . getName ( ) == tag ) {
28- return true
29+ this . registerHandler ( 'AfterFeatures' , function ( event , callback ) {
30+ if ( failedScenarios . length ) {
31+ for ( var i = 0 ; i < failedScenarios . length ; i ++ ) {
32+ console . log ( "FAILED! Scenario: " + failedScenarios [ i ] . getName ( ) ) ;
33+ console . log ( "With Exception: " + failedScenarios [ i ] . getException ( ) + "\n" ) ;
2934 }
35+ return process . exit ( 2 ) ;
3036 }
31- return false ;
32- }
37+ callback ( ) ;
38+ } ) ;
3339}
0 commit comments