mirror of
https://gitlab.com/openlp/website.git
synced 2024-12-23 05:22:53 +00:00
121 lines
3.9 KiB
PHP
121 lines
3.9 KiB
PHP
<?php
|
|
|
|
namespace Stripe;
|
|
|
|
class BitcoinReceiverTest extends TestCase
|
|
{
|
|
public function testUrls()
|
|
{
|
|
$classUrl = BitcoinReceiver::classUrl('Stripe_BitcoinReceiver');
|
|
$this->assertSame($classUrl, '/v1/bitcoin/receivers');
|
|
$receiver = new BitcoinReceiver('abcd/efgh');
|
|
$instanceUrl = $receiver->instanceUrl();
|
|
$this->assertSame($instanceUrl, '/v1/bitcoin/receivers/abcd%2Fefgh');
|
|
}
|
|
|
|
public function testCreate()
|
|
{
|
|
self::authorizeFromEnv();
|
|
|
|
$receiver = $this->createTestBitcoinReceiver("do+fill_now@stripe.com");
|
|
|
|
$this->assertSame(100, $receiver->amount);
|
|
$this->assertNotNull($receiver->id);
|
|
}
|
|
|
|
public function testRetrieve()
|
|
{
|
|
self::authorizeFromEnv();
|
|
|
|
$receiver = $this->createTestBitcoinReceiver("do+fill_now@stripe.com");
|
|
|
|
$r = BitcoinReceiver::retrieve($receiver->id);
|
|
$this->assertSame($receiver->id, $r->id);
|
|
|
|
$this->assertInstanceOf('Stripe\\BitcoinTransaction', $r->transactions->data[0]);
|
|
}
|
|
|
|
public function testList()
|
|
{
|
|
self::authorizeFromEnv();
|
|
|
|
$receiver = $this->createTestBitcoinReceiver("do+fill_now@stripe.com");
|
|
|
|
$receivers = BitcoinReceiver::all();
|
|
$this->assertGreaterThan(0, count($receivers->data));
|
|
}
|
|
|
|
public function testListTransactions()
|
|
{
|
|
self::authorizeFromEnv();
|
|
|
|
$receiver = $this->createTestBitcoinReceiver("do+fill_now@stripe.com");
|
|
$this->assertSame(0, count($receiver->transactions->data));
|
|
|
|
$transactions = $receiver->transactions->all(array("limit" => 1));
|
|
$this->assertSame(1, count($transactions->data));
|
|
}
|
|
|
|
public function testDeleteWithCustomer()
|
|
{
|
|
self::authorizeFromEnv();
|
|
$receiver = $this->createTestBitcoinReceiver("do+fill_now@stripe.com");
|
|
$customer = Customer::create(array("source" => $receiver->id));
|
|
$charge = Charge::create(array(
|
|
"customer" => $customer->id,
|
|
"amount" => $receiver->amount,
|
|
"currency" => $receiver->currency
|
|
));
|
|
$receiver = BitcoinReceiver::retrieve($receiver->id);
|
|
$response = $receiver->delete();
|
|
$this->assertTrue($response->deleted);
|
|
}
|
|
|
|
public function testUpdateWithCustomer()
|
|
{
|
|
self::authorizeFromEnv();
|
|
$receiver = $this->createTestBitcoinReceiver("do+fill_now@stripe.com");
|
|
$customer = Customer::create(array("source" => $receiver->id));
|
|
$receiver = BitcoinReceiver::retrieve($receiver->id);
|
|
|
|
$receiver->description = "a new description";
|
|
$receiver->save();
|
|
|
|
$base = Customer::classUrl();
|
|
$parentExtn = $receiver['customer'];
|
|
$extn = $receiver['id'];
|
|
$this->assertEquals("$base/$parentExtn/sources/$extn", $receiver->instanceUrl());
|
|
|
|
$updatedReceiver = BitcoinReceiver::retrieve($receiver->id);
|
|
$this->assertEquals($receiver["description"], $updatedReceiver["description"]);
|
|
}
|
|
|
|
public function testUpdateWithoutCustomer()
|
|
{
|
|
self::authorizeFromEnv();
|
|
$receiver = $this->createTestBitcoinReceiver("do+fill_now@stripe.com");
|
|
|
|
$receiver->description = "a new description";
|
|
$receiver->save();
|
|
|
|
$this->assertEquals(BitcoinReceiver::classUrl() . "/" . $receiver['id'], $receiver->instanceUrl());
|
|
|
|
$updatedReceiver = BitcoinReceiver::retrieve($receiver->id);
|
|
$this->assertEquals($receiver["description"], $updatedReceiver["description"]);
|
|
}
|
|
|
|
public function testRefund()
|
|
{
|
|
self::authorizeFromEnv();
|
|
$receiver = $this->createTestBitcoinReceiver("do+fill_now@stripe.com");
|
|
|
|
$receiver = BitcoinReceiver::retrieve($receiver->id);
|
|
$this->assertNull($receiver->refund_address);
|
|
|
|
$refundAddress = "REFUNDHERE";
|
|
$receiver->refund(array("refund_address" => $refundAddress));
|
|
|
|
$this->assertSame($refundAddress, $receiver->refund_address);
|
|
}
|
|
}
|