Skip to content

Commit d783596

Browse files
committed
Customer: allow passing the urlName parameter on create
1 parent 1899d97 commit d783596

File tree

3 files changed

+33
-2
lines changed

3 files changed

+33
-2
lines changed

Diff for: README.md

+2
Original file line numberDiff line numberDiff line change
@@ -71,6 +71,8 @@ Returns a single customer.
7171
##### Create a customer
7272
```php
7373
$customer = $client->customers()->create('New customer name');
74+
// or
75+
$customer = $client->customers()->create('New customer name', false, 'customer-url-name');
7476
```
7577
Returns the customer.
7678

Diff for: src/Api/Customers.php

+10-2
Original file line numberDiff line numberDiff line change
@@ -17,9 +17,17 @@ public function show($customerIdOrUrlName)
1717
return $this->get(sprintf('/customers/%s/', $customerIdOrUrlName));
1818
}
1919

20-
public function create($name, $accessToVersionControlSource = false)
20+
public function create($name, $accessToVersionControlSource = false, $urlName = null)
2121
{
22-
return $this->post('/customers/', ['name' => $name, 'accessToVersionControlSource' => $accessToVersionControlSource]);
22+
$parameters = [
23+
'name' => $name,
24+
'accessToVersionControlSource' => $accessToVersionControlSource,
25+
];
26+
if ($urlName) {
27+
$parameters['urlName'] = $urlName;
28+
}
29+
30+
return $this->post('/customers/', $parameters);
2331
}
2432

2533
/**

Diff for: tests/Api/CustomersTest.php

+21
Original file line numberDiff line numberDiff line change
@@ -63,6 +63,27 @@ public function testCreate()
6363
$this->assertSame($expected, $api->create($name));
6464
}
6565

66+
public function testCreateAllParameters()
67+
{
68+
$expected = [
69+
[
70+
'id' => 1,
71+
'type' => 'composer-repo',
72+
'name' => $name = 'Customer',
73+
'accessToVersionControlSource' => false,
74+
],
75+
];
76+
77+
/** @var Customers&\PHPUnit_Framework_MockObject_MockObject $api */
78+
$api = $this->getApiMock();
79+
$api->expects($this->once())
80+
->method('post')
81+
->with($this->equalTo('/customers/'), $this->equalTo(['name' => $name, 'accessToVersionControlSource' => true, 'urlName' => 'url-name']))
82+
->will($this->returnValue($expected));
83+
84+
$this->assertSame($expected, $api->create($name, true, 'url-name'));
85+
}
86+
6687
public function tesEdit()
6788
{
6889
$expected = [

0 commit comments

Comments
 (0)