Skip to content

Commit 350a08f

Browse files
committed
implemented PullRequests::diff (API 2.0)
1 parent 62aaedd commit 350a08f

File tree

3 files changed

+39
-0
lines changed

3 files changed

+39
-0
lines changed

docs/repositories/pullrequests.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -72,6 +72,11 @@ $pull->approve($account_name, $repo_slug, 1);
7272
$pull->delete($account_name, $repo_slug, 1);
7373
```
7474

75+
### Get the diff for a pull request:
76+
```php
77+
$pull->diff($account_name, $repo_slug, 1);
78+
```
79+
7580
----
7681

7782
#### Related:

lib/Bitbucket/API/Repositories/PullRequests.php

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -195,4 +195,20 @@ public function deleteApproval($account, $repo, $id)
195195
sprintf('repositories/%s/%s/pullrequests/%d/approve', $account, $repo, $id)
196196
);
197197
}
198+
199+
/**
200+
* Get the diff for a pull request
201+
*
202+
* @access public
203+
* @param string $account The team or individual account owning the repository.
204+
* @param string $repo The repository identifier.
205+
* @param int $id ID of the pull request
206+
* @return MessageInterface
207+
*/
208+
public function diff($account, $repo, $id)
209+
{
210+
return $this->getClient()->setApiVersion('2.0')->get(
211+
sprintf('repositories/%s/%s/pullrequests/%d/diff', $account, $repo, $id)
212+
);
213+
}
198214
}

test/Bitbucket/Tests/API/Repositories/PullRequestsTest.php

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -200,4 +200,22 @@ public function testDeletePullRequestApproval()
200200

201201
$pull->deleteApproval('gentle', 'eof', 1);
202202
}
203+
204+
public function testGetPullRequestDiff()
205+
{
206+
$endpoint = 'repositories/gentle/eof/pullrequests/1/diff';
207+
$expectedResult = $this->fakeResponse(array('dummy'));
208+
209+
$client = $this->getHttpClientMock();
210+
$client->expects($this->once())
211+
->method('get')
212+
->with($endpoint)
213+
->will($this->returnValue($expectedResult));
214+
215+
/** @var \Bitbucket\API\Repositories\PullRequests $pull */
216+
$pull = $this->getClassMock('Bitbucket\API\Repositories\PullRequests', $client);
217+
$actual = $pull->diff('gentle', 'eof', 1);
218+
219+
$this->assertEquals($expectedResult, $actual);
220+
}
203221
}

0 commit comments

Comments
 (0)