@@ -148,8 +148,14 @@ describe('Runner', function(){
148
148
it ( 'should handle exceptions in a step' , function ( ) {
149
149
$scenario . specs [ 'spec' ] = {
150
150
steps : [
151
+ { name : 'first step' , fn : function ( done ) {
152
+ done ( ) ;
153
+ } } ,
151
154
{ name :'error' , fn :function ( done ) {
152
155
throw "MyError" ;
156
+ } } ,
157
+ { name : 'should not execute' , fn : function ( done ) {
158
+ done ( ) ;
153
159
} }
154
160
]
155
161
} ;
@@ -160,12 +166,17 @@ describe('Runner', function(){
160
166
expect ( spec . result . failed ) . toEqual ( true ) ;
161
167
expect ( spec . result . finished ) . toEqual ( true ) ;
162
168
expect ( spec . result . error ) . toEqual ( "MyError" ) ;
169
+ expect ( scenario . $testrun . results ) . toEqual ( [ {
170
+ name : 'spec' ,
171
+ passed : false ,
172
+ error : 'MyError' ,
173
+ steps : [ 'first step' , 'error' ] } ] ) ;
163
174
} ) ;
164
175
} ) ;
165
176
166
177
describe ( 'run' , function ( ) {
167
178
var next ;
168
- it ( 'should execute all specs' , function ( ) {
179
+ beforeEach ( function ( ) {
169
180
Describe ( 'd1' , function ( ) {
170
181
It ( 'it1' , function ( ) { $scenario . addStep ( 's1' , logger ( 's1,' ) ) ; } ) ;
171
182
It ( 'it2' , function ( ) {
@@ -177,13 +188,30 @@ describe('Runner', function(){
177
188
It ( 'it3' , function ( ) { $scenario . addStep ( 's3' , logger ( 's3,' ) ) ; } ) ;
178
189
It ( 'it4' , function ( ) { $scenario . addStep ( 's4' , logger ( 's4,' ) ) ; } ) ;
179
190
} ) ;
180
-
191
+ } ) ;
192
+ it ( 'should execute all specs' , function ( ) {
181
193
$scenario . run ( body ) ;
182
194
183
195
expect ( log ) . toEqual ( 's1,s2,' ) ;
184
196
next ( ) ;
185
197
expect ( log ) . toEqual ( 's1,s2,s3,s4,' ) ;
186
-
198
+ } ) ;
199
+ it ( 'should publish done state and results as tests are run' , function ( ) {
200
+ expect ( scenario . $testrun . done ) . toBeFalsy ( ) ;
201
+ expect ( scenario . $testrun . results ) . toEqual ( [ ] ) ;
202
+ $scenario . run ( body ) ;
203
+ expect ( scenario . $testrun . done ) . toBeFalsy ( ) ;
204
+ expect ( scenario . $testrun . results ) . toEqual ( [
205
+ { name : 'd1: it it1' , passed : true , steps : [ 's1' ] }
206
+ ] ) ;
207
+ next ( ) ;
208
+ expect ( scenario . $testrun . done ) . toBeTruthy ( ) ;
209
+ expect ( scenario . $testrun . results ) . toEqual ( [
210
+ { name : 'd1: it it1' , passed : true , steps : [ 's1' ] } ,
211
+ { name : 'd1: it it2' , passed : true , steps : [ 's2' , 's2.2' ] } ,
212
+ { name : 'd2: it it3' , passed : true , steps : [ 's3' ] } ,
213
+ { name : 'd2: it it4' , passed : true , steps : [ 's4' ] }
214
+ ] ) ;
187
215
} ) ;
188
216
} ) ;
189
217
0 commit comments