Skip to content

Commit d94fec9

Browse files
authored
Merge pull request KnpLabs#466 from sstok/polaris-changes
Update PullRequest::merge for polaris
2 parents 5bffc98 + 4b00198 commit d94fec9

File tree

2 files changed

+39
-3
lines changed

2 files changed

+39
-3
lines changed

lib/Github/Api/PullRequest.php

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -115,12 +115,16 @@ public function merged($username, $repository, $id)
115115
return $this->get('/repos/'.rawurlencode($username).'/'.rawurlencode($repository).'/pulls/'.rawurlencode($id).'/merge');
116116
}
117117

118-
public function merge($username, $repository, $id, $message, $sha, $squash = false, $title = null)
118+
public function merge($username, $repository, $id, $message, $sha, $mergeMethod = 'merge', $title = null)
119119
{
120+
if (is_bool($mergeMethod)) {
121+
$mergeMethod = $mergeMethod ? 'squash' : 'merge';
122+
}
123+
120124
$params = array(
121125
'commit_message' => $message,
122126
'sha' => $sha,
123-
'squash' => $squash,
127+
'merge_method' => $mergeMethod,
124128
);
125129

126130
if (is_string($title)) {

test/Github/Tests/Api/PullRequestTest.php

Lines changed: 33 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -143,12 +143,44 @@ public function shouldMergePullRequest()
143143
$api = $this->getApiMock();
144144
$api->expects($this->once())
145145
->method('put')
146-
->with('/repos/ezsystems/ezpublish/pulls/15/merge', array('commit_message' => 'Merged something', 'sha' => str_repeat('A', 40), 'squash' => false))
146+
->with('/repos/ezsystems/ezpublish/pulls/15/merge', array('commit_message' => 'Merged something', 'sha' => str_repeat('A', 40), 'merge_method' => 'merge'))
147147
->will($this->returnValue($expectedArray));
148148

149149
$this->assertEquals($expectedArray, $api->merge('ezsystems', 'ezpublish', 15, 'Merged something', str_repeat('A', 40)));
150150
}
151151

152+
/**
153+
* @test
154+
*/
155+
public function shouldMergePullRequestWithSquashAsBool()
156+
{
157+
$expectedArray = array('some' => 'response');
158+
159+
$api = $this->getApiMock();
160+
$api->expects($this->once())
161+
->method('put')
162+
->with('/repos/ezsystems/ezpublish/pulls/15/merge', array('commit_message' => 'Merged something', 'sha' => str_repeat('A', 40), 'merge_method' => 'squash'))
163+
->will($this->returnValue($expectedArray));
164+
165+
$this->assertEquals($expectedArray, $api->merge('ezsystems', 'ezpublish', 15, 'Merged something', str_repeat('A', 40), true));
166+
}
167+
168+
/**
169+
* @test
170+
*/
171+
public function shouldMergePullRequestWithMergeMethod()
172+
{
173+
$expectedArray = array('some' => 'response');
174+
175+
$api = $this->getApiMock();
176+
$api->expects($this->once())
177+
->method('put')
178+
->with('/repos/ezsystems/ezpublish/pulls/15/merge', array('commit_message' => 'Merged something', 'sha' => str_repeat('A', 40), 'merge_method' => 'rebase'))
179+
->will($this->returnValue($expectedArray));
180+
181+
$this->assertEquals($expectedArray, $api->merge('ezsystems', 'ezpublish', 15, 'Merged something', str_repeat('A', 40), 'rebase'));
182+
}
183+
152184
/**
153185
* @test
154186
*/

0 commit comments

Comments
 (0)