@@ -280,6 +280,31 @@ public function testBatchRequestsWithFilesGetConvertedToAnArray()
280280 ], $ batchRequestArray );
281281 }
282282
283+ public function testBatchRequestsWithOptionsGetConvertedToAnArray ()
284+ {
285+ $ request = new FacebookRequest (null , null , 'GET ' , '/bar ' );
286+ $ batchRequest = $ this ->createBatchRequest ();
287+ $ batchRequest ->add ($ request , [
288+ 'name ' => 'foo_name ' ,
289+ 'omit_response_on_success ' => false ,
290+ ]);
291+
292+ $ requests = $ batchRequest ->getRequests ();
293+
294+ $ options = $ requests [0 ]['options ' ];
295+ $ options ['name ' ] = $ requests [0 ]['name ' ];
296+
297+ $ batchRequestArray = $ batchRequest ->requestEntityToBatchArray ($ requests [0 ]['request ' ], $ options );
298+
299+ $ this ->assertEquals ([
300+ 'headers ' => $ this ->defaultHeaders (),
301+ 'method ' => 'GET ' ,
302+ 'relative_url ' => '/ ' . Facebook::DEFAULT_GRAPH_VERSION . '/bar?access_token=foo_token&appsecret_proof=df4256903ba4e23636cc142117aa632133d75c642bd2a68955be1443bd14deb9 ' ,
303+ 'name ' => 'foo_name ' ,
304+ 'omit_response_on_success ' => false ,
305+ ], $ batchRequestArray );
306+ }
307+
283308 public function testPreppingABatchRequestProperlySetsThePostParams ()
284309 {
285310 $ batchRequest = $ this ->createBatchRequest ();
@@ -328,6 +353,30 @@ public function testPreppingABatchRequestProperlyMovesTheFiles()
328353 $ this ->assertEquals ($ expectedBatchParams , $ params );
329354 }
330355
356+ public function testPreppingABatchRequestWithOptionsProperlySetsThePostParams ()
357+ {
358+ $ batchRequest = $ this ->createBatchRequest ();
359+ $ batchRequest ->add (new FacebookRequest (null , null , 'GET ' , '/foo ' ), [
360+ 'name ' => 'foo_name ' ,
361+ 'omit_response_on_success ' => false ,
362+ ]);
363+
364+ $ batchRequest ->prepareRequestsForBatch ();
365+ $ params = $ batchRequest ->getParams ();
366+
367+ $ expectedHeaders = json_encode ($ this ->defaultHeaders ());
368+ $ version = Facebook::DEFAULT_GRAPH_VERSION ;
369+
370+ $ expectedBatchParams = [
371+ 'batch ' => '[{"headers": ' . $ expectedHeaders . ',"method":"GET","relative_url":" \\/ ' . $ version . '\\/foo?access_token=foo_token&appsecret_proof=df4256903ba4e23636cc142117aa632133d75c642bd2a68955be1443bd14deb9", '
372+ . '"name":"foo_name","omit_response_on_success":false}] ' ,
373+ 'include_headers ' => true ,
374+ 'access_token ' => 'foo_token ' ,
375+ 'appsecret_proof ' => 'df4256903ba4e23636cc142117aa632133d75c642bd2a68955be1443bd14deb9 ' ,
376+ ];
377+ $ this ->assertEquals ($ expectedBatchParams , $ params );
378+ }
379+
331380 private function assertRequestContainsAppAndToken (FacebookRequest $ request , FacebookApp $ expectedApp , $ expectedToken )
332381 {
333382 $ app = $ request ->getApp ();
@@ -373,7 +422,9 @@ private function assertRequestsMatch($requests, $formattedRequests)
373422 foreach ($ requests as $ name => $ request ) {
374423 $ expectedRequests [] = [
375424 'name ' => $ name ,
376- 'request ' => $ request
425+ 'request ' => $ request ,
426+ 'attached_files ' => null ,
427+ 'options ' => [],
377428 ];
378429 }
379430 $ this ->assertEquals ($ expectedRequests , $ formattedRequests );
0 commit comments