-
Notifications
You must be signed in to change notification settings - Fork 69
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Signed-off-by: Bruno Gaspar <[email protected]>
- Loading branch information
1 parent
ee264af
commit 74644ce
Showing
3 changed files
with
181 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,63 @@ | ||
<?php | ||
|
||
/** | ||
* Part of the Stripe package. | ||
* | ||
* NOTICE OF LICENSE | ||
* | ||
* Licensed under the 3-clause BSD License. | ||
* | ||
* This source file is subject to the 3-clause BSD License that is | ||
* bundled with this package in the LICENSE file. | ||
* | ||
* @package Stripe | ||
* @version 2.3.0 | ||
* @author Cartalyst LLC | ||
* @license BSD License (3-clause) | ||
* @copyright (c) 2011-2019, Cartalyst LLC | ||
* @link http://cartalyst.com | ||
*/ | ||
|
||
namespace Cartalyst\Stripe\Api\Account; | ||
|
||
use Cartalyst\Stripe\Api\Api; | ||
|
||
class Capabilities extends Api | ||
{ | ||
/** | ||
* Retrieves an existing capability. | ||
* | ||
* @param string $accountId | ||
* @param string $capabilityId | ||
* @return array | ||
*/ | ||
public function find($accountId, $capabilityId) | ||
{ | ||
return $this->_get("accounts/{$accountId}/capabilities/{$capabilityId}"); | ||
} | ||
|
||
/** | ||
* Updates an existing capability. | ||
* | ||
* @param string $accountId | ||
* @param string $capabilityId | ||
* @param array $parameters | ||
* @return array | ||
*/ | ||
public function update($accountId, $capabilityId, array $parameters = []) | ||
{ | ||
return $this->_post("accounts/{$accountId}/capabilities/{$capabilityId}", $parameters); | ||
} | ||
|
||
/** | ||
* Lists all capabilities. | ||
* | ||
* @param string $accountId | ||
* @param array $parameters | ||
* @return array | ||
*/ | ||
public function all($accountId, array $parameters = []) | ||
{ | ||
return $this->_get("accounts/{$accountId}/capabilities", $parameters); | ||
} | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,108 @@ | ||
<?php | ||
|
||
/** | ||
* Part of the Stripe package. | ||
* | ||
* NOTICE OF LICENSE | ||
* | ||
* Licensed under the 3-clause BSD License. | ||
* | ||
* This source file is subject to the 3-clause BSD License that is | ||
* bundled with this package in the LICENSE file. | ||
* | ||
* @package Stripe | ||
* @version 2.3.0 | ||
* @author Cartalyst LLC | ||
* @license BSD License (3-clause) | ||
* @copyright (c) 2011-2019, Cartalyst LLC | ||
* @link http://cartalyst.com | ||
*/ | ||
|
||
namespace Cartalyst\Stripe\Tests\Api\Account; | ||
|
||
use Cartalyst\Stripe\Tests\FunctionalTestCase; | ||
|
||
class CapabilitiesTest extends FunctionalTestCase | ||
{ | ||
/** @test */ | ||
public function it_can_find_an_existing_capability() | ||
{ | ||
$email = $this->getRandomEmail(); | ||
|
||
$account = $this->stripe->account()->create([ | ||
'type' => 'custom', | ||
'email' => $email, | ||
'requested_capabilities' => [ | ||
'card_payments', | ||
], | ||
]); | ||
|
||
$capability = $this->stripe->account()->capabilities()->find($account['id'], 'card_payments'); | ||
|
||
$this->assertSame($account['id'], $capability['account']); | ||
$this->assertSame('card_payments', $capability['id']); | ||
$this->assertSame('inactive', $capability['status']); | ||
} | ||
|
||
/** | ||
* @test | ||
* @expectedException \Cartalyst\Stripe\Exception\NotFoundException | ||
*/ | ||
public function it_will_throw_an_exception_when_searching_for_a_non_existing_capability() | ||
{ | ||
$email = $this->getRandomEmail(); | ||
|
||
$account = $this->stripe->account()->create([ | ||
'type' => 'custom', | ||
'email' => $email, | ||
'requested_capabilities' => [ | ||
'card_payments', | ||
'transfers', | ||
], | ||
]); | ||
|
||
$this->stripe->account()->capabilities()->find($account['id'], time().rand()); | ||
} | ||
|
||
/** @test */ | ||
public function it_can_update_a_capability() | ||
{ | ||
$email = $this->getRandomEmail(); | ||
|
||
$account = $this->stripe->account()->create([ | ||
'type' => 'custom', | ||
'email' => $email, | ||
'requested_capabilities' => [ | ||
'card_payments', | ||
], | ||
]); | ||
|
||
$capability = $this->stripe->account()->capabilities()->update($account['id'], 'card_payments', [ | ||
'requested' => true, | ||
]); | ||
|
||
$this->assertSame($account['id'], $capability['account']); | ||
$this->assertSame('card_payments', $capability['id']); | ||
$this->assertSame('inactive', $capability['status']); | ||
} | ||
|
||
/** @test */ | ||
public function it_can_retrieve_all_capabilities() | ||
{ | ||
$email = $this->getRandomEmail(); | ||
|
||
$account = $this->stripe->account()->create([ | ||
'type' => 'custom', | ||
'email' => $email, | ||
'requested_capabilities' => [ | ||
'card_payments', | ||
'transfers', | ||
], | ||
]); | ||
|
||
$capabilities = $this->stripe->account()->capabilities()->all($account['id']); | ||
|
||
$this->assertNotEmpty($capabilities['data']); | ||
$this->assertInternalType('array', $capabilities['data']); | ||
} | ||
} |