@@ -56,7 +56,9 @@ describe('Server Assertions', function() {
56
56
57
57
beforeEach ( function ( ) {
58
58
sandBox = sinon . sandbox . create ( ) ;
59
- bsClient = sandBox . stub ( ) ;
59
+ bsClient = {
60
+ takeScreenshot : sandBox . stub ( )
61
+ } ,
60
62
infoLoggerStub = sandBox . stub ( browserStackRunnerServer . logger , 'info' ) ;
61
63
62
64
server = browserStackRunnerServer . Server ( bsClient , workers , getBaseConfig ( ) , function ( error , reports ) {
@@ -70,7 +72,7 @@ describe('Server Assertions', function() {
70
72
server . close ( ) ;
71
73
} ) ;
72
74
73
- it ( 'logs' , function ( done ) {
75
+ it ( 'logs console.log correctly ' , function ( done ) {
74
76
var browserString = 'OS X Chrome 54'
75
77
requestServer ( '/_log' , '{"arguments":["Random String"]}' , {
76
78
'x-browser-string' : browserString
@@ -91,8 +93,7 @@ describe('Server Assertions', function() {
91
93
} ) ;
92
94
} ) ;
93
95
94
- it ( 'test errors' , function ( done ) {
95
- this . timeout ( 0 ) ;
96
+ it ( 'logs test errors correctly' , function ( done ) {
96
97
var browserUUIDString = 'abcd-efgh-1234-5678' ,
97
98
browserInfoString = 'browserInfo' ;
98
99
@@ -144,5 +145,54 @@ describe('Server Assertions', function() {
144
145
} ) ;
145
146
} ) ;
146
147
} ) ;
148
+
149
+ it ( 'logs for test reports correctly' , function ( done ) {
150
+ var browserUUIDString = 'abcd-efgh-1234-5678' ,
151
+ browserString = 'OS X Chrome 41' ,
152
+ browserInfoString = 'browserInfo' ;
153
+
154
+ workers [ browserUUIDString ] = {
155
+ getTestBrowserInfo : sandBox . stub ( ) . returns ( browserInfoString ) ,
156
+ string : 'workerString'
157
+ } ;
158
+ var requestBodyObject = {
159
+ testCounts : {
160
+ total : 1 ,
161
+ passed : 1 ,
162
+ failed : 0 ,
163
+ skipped : 0
164
+ } ,
165
+ runtime : '00:01:00' ,
166
+ status : 'passed'
167
+ } ;
168
+
169
+ requestServer ( '/_report' , JSON . stringify ( requestBodyObject ) , {
170
+ 'x-worker-uuid' : browserUUIDString
171
+ } , function ( error ) {
172
+ if ( error ) done ( error ) ;
173
+ assert . equal ( infoLoggerStub . called , true ) ;
174
+ assert . equal ( infoLoggerStub . callCount , 1 ) ;
175
+ assert . equal ( infoLoggerStub . getCalls ( ) [ 0 ] . args . length , 7 ) ;
176
+ assert . equal ( infoLoggerStub . getCalls ( ) [ 0 ] . args [ 0 ] , '[%s] ' + chalk [ 'green' ] ( 'Passed:' ) + ' %d tests, %d passed, %d failed, %d skipped; ran for %dms' ) ;
177
+ assert . equal ( infoLoggerStub . getCalls ( ) [ 0 ] . args [ 1 ] , browserInfoString ) ;
178
+ assert . equal ( infoLoggerStub . getCalls ( ) [ 0 ] . args [ 2 ] , 1 ) ;
179
+ assert . equal ( infoLoggerStub . getCalls ( ) [ 0 ] . args [ 3 ] , 1 ) ;
180
+ assert . equal ( infoLoggerStub . getCalls ( ) [ 0 ] . args [ 4 ] , 0 ) ;
181
+ assert . equal ( infoLoggerStub . getCalls ( ) [ 0 ] . args [ 5 ] , 0 ) ;
182
+ assert . equal ( infoLoggerStub . getCalls ( ) [ 0 ] . args [ 6 ] , '00:01:00' ) ;
183
+
184
+ requestServer ( '/_report' , '{"arguments":["Invalid Random String' , {
185
+ 'x-worker-uuid' : browserUUIDString ,
186
+ 'x-browser-string' : browserString
187
+ } , function ( error ) {
188
+ if ( error ) done ( error ) ;
189
+ assert . equal ( infoLoggerStub . callCount , 2 ) ;
190
+ assert . equal ( infoLoggerStub . getCalls ( ) [ 1 ] . args . length , 2 ) ;
191
+ assert . equal ( infoLoggerStub . getCalls ( ) [ 1 ] . args [ 0 ] , '[%s] Null response from remote Browser' ) ;
192
+ assert . equal ( infoLoggerStub . getCalls ( ) [ 1 ] . args [ 1 ] , browserString ) ;
193
+ done ( ) ;
194
+ } ) ;
195
+ } ) ;
196
+ } ) ;
147
197
} ) ;
148
198
} ) ;
0 commit comments