Skip to content

Commit 62aaedd

Browse files
committed
implemented PullRequests::deleteApproval (API 2.0)
1 parent a596577 commit 62aaedd

File tree

3 files changed

+39
-1
lines changed

3 files changed

+39
-1
lines changed

docs/repositories/pullrequests.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -67,6 +67,11 @@ $pull->commits($account_name, $repo_slug, 1);
6767
$pull->approve($account_name, $repo_slug, 1);
6868
```
6969

70+
### Delete a a pull request approval:
71+
```php
72+
$pull->delete($account_name, $repo_slug, 1);
73+
```
74+
7075
----
7176

7277
#### Related:

lib/Bitbucket/API/Repositories/PullRequests.php

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -177,4 +177,22 @@ public function approve($account, $repo, $id)
177177
sprintf('repositories/%s/%s/pullrequests/%d/approve', $account, $repo, $id)
178178
);
179179
}
180+
181+
/**
182+
* Delete a pull request approval
183+
*
184+
* NOTE: On success returns `HTTP/1.1 204 NO CONTENT`
185+
*
186+
* @access public
187+
* @param string $account The team or individual account owning the repository.
188+
* @param string $repo The repository identifier.
189+
* @param int $id ID of the pull request
190+
* @return MessageInterface
191+
*/
192+
public function deleteApproval($account, $repo, $id)
193+
{
194+
return $this->getClient()->setApiVersion('2.0')->delete(
195+
sprintf('repositories/%s/%s/pullrequests/%d/approve', $account, $repo, $id)
196+
);
197+
}
180198
}

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

Lines changed: 16 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -171,7 +171,7 @@ public function testGetCommitsForSpecificPullRequest()
171171
$this->assertEquals($expectedResult, $actual);
172172
}
173173

174-
public function testApproveRequest()
174+
public function testApproveAPullRequest()
175175
{
176176
$endpoint = 'repositories/gentle/eof/pullrequests/1/approve';
177177

@@ -185,4 +185,19 @@ public function testApproveRequest()
185185

186186
$pull->approve('gentle', 'eof', 1);
187187
}
188+
189+
public function testDeletePullRequestApproval()
190+
{
191+
$endpoint = 'repositories/gentle/eof/pullrequests/1/approve';
192+
193+
$client = $this->getHttpClientMock();
194+
$client->expects($this->once())
195+
->method('delete')
196+
->with($endpoint);
197+
198+
/** @var \Bitbucket\API\Repositories\PullRequests $pull */
199+
$pull = $this->getClassMock('Bitbucket\API\Repositories\PullRequests', $client);
200+
201+
$pull->deleteApproval('gentle', 'eof', 1);
202+
}
188203
}

0 commit comments

Comments
 (0)