Skip to content

Commit f9e7d99

Browse files
committed
Add tests for omit_response_on_success batch option
1 parent 27e959b commit f9e7d99

File tree

1 file changed

+52
-1
lines changed

1 file changed

+52
-1
lines changed

tests/FacebookBatchRequestTest.php

Lines changed: 52 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -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

Comments
 (0)