mirror of
https://gitlab.com/openlp/website.git
synced 2024-12-23 05:22:53 +00:00
91 lines
2.0 KiB
PHP
91 lines
2.0 KiB
PHP
<?php
|
|
|
|
namespace Stripe;
|
|
|
|
class DisputeTest extends TestCase
|
|
{
|
|
public function testUrls()
|
|
{
|
|
$this->assertSame(Dispute::classUrl(), '/v1/disputes');
|
|
$dispute = new Dispute('dp_123');
|
|
$this->assertSame($dispute->instanceUrl(), '/v1/disputes/dp_123');
|
|
}
|
|
|
|
private function createDisputedCharge()
|
|
{
|
|
$c = Charge::create(
|
|
array(
|
|
'amount' => 100,
|
|
'currency' => 'usd',
|
|
'source' => 'tok_createDispute'
|
|
)
|
|
);
|
|
$c = Charge::retrieve($c->id);
|
|
|
|
$attempts = 0;
|
|
|
|
while ($c->dispute === null) {
|
|
if ($attempts > 5) {
|
|
throw new \Exception("Charge is taking too long to be disputed");
|
|
}
|
|
sleep(1);
|
|
$c = Charge::retrieve($c->id);
|
|
$attempts += 1;
|
|
}
|
|
|
|
return $c;
|
|
}
|
|
|
|
public function testAll()
|
|
{
|
|
self::authorizeFromEnv();
|
|
|
|
$sublist = Dispute::all(
|
|
array(
|
|
'limit' => 3,
|
|
)
|
|
);
|
|
$this->assertSame(3, count($sublist->data));
|
|
}
|
|
|
|
|
|
public function testUpdate()
|
|
{
|
|
self::authorizeFromEnv();
|
|
|
|
$c = $this->createDisputedCharge();
|
|
|
|
$d = Dispute::retrieve($c->dispute);
|
|
$d->evidence["customer_name"] = "Bob";
|
|
$s = $d->save();
|
|
|
|
$this->assertSame($c->dispute, $s->id);
|
|
$this->assertSame("Bob", $s->evidence["customer_name"]);
|
|
}
|
|
|
|
public function testClose()
|
|
{
|
|
self::authorizeFromEnv();
|
|
|
|
$c = $this->createDisputedCharge();
|
|
$d = Dispute::retrieve($c->dispute);
|
|
|
|
$this->assertNotSame("lost", $d->status);
|
|
|
|
$d->close();
|
|
|
|
$this->assertSame("lost", $d->status);
|
|
}
|
|
|
|
public function testRetrieve()
|
|
{
|
|
self::authorizeFromEnv();
|
|
|
|
$c = $this->createDisputedCharge();
|
|
|
|
$d = Dispute::retrieve($c->dispute);
|
|
|
|
$this->assertSame($c->dispute, $d->id);
|
|
}
|
|
}
|