@@ -56,7 +56,9 @@ describe('Server Assertions', function() {
5656
5757 beforeEach ( function ( ) {
5858 sandBox = sinon . sandbox . create ( ) ;
59- bsClient = sandBox . stub ( ) ;
59+ bsClient = {
60+ takeScreenshot : sandBox . stub ( )
61+ } ,
6062 infoLoggerStub = sandBox . stub ( browserStackRunnerServer . logger , 'info' ) ;
6163
6264 server = browserStackRunnerServer . Server ( bsClient , workers , getBaseConfig ( ) , function ( error , reports ) {
@@ -70,7 +72,7 @@ describe('Server Assertions', function() {
7072 server . close ( ) ;
7173 } ) ;
7274
73- it ( 'logs' , function ( done ) {
75+ it ( 'logs console.log correctly ' , function ( done ) {
7476 var browserString = 'OS X Chrome 54'
7577 requestServer ( '/_log' , '{"arguments":["Random String"]}' , {
7678 'x-browser-string' : browserString
@@ -91,8 +93,7 @@ describe('Server Assertions', function() {
9193 } ) ;
9294 } ) ;
9395
94- it ( 'test errors' , function ( done ) {
95- this . timeout ( 0 ) ;
96+ it ( 'logs test errors correctly' , function ( done ) {
9697 var browserUUIDString = 'abcd-efgh-1234-5678' ,
9798 browserInfoString = 'browserInfo' ;
9899
@@ -144,5 +145,54 @@ describe('Server Assertions', function() {
144145 } ) ;
145146 } ) ;
146147 } ) ;
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+ } ) ;
147197 } ) ;
148198} ) ;
0 commit comments