| Server IP : 213.186.33.4 / Your IP : 216.73.216.193 Web Server : Apache System : Linux webm006.cluster103.gra.hosting.ovh.net 5.15.206-ovh-vps-grsec-zfs-classid #1 SMP Fri May 15 02:41:25 UTC 2026 x86_64 User : awebpaca ( 35430) PHP Version : 8.5.0 Disable Function : _dyuweyrj4,_dyuweyrj4r,dl MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : ON | Sudo : OFF | Pkexec : OFF Directory : /home/awebpaca/Dolibarr/htdocs/includes/stripe/tests/Stripe/ |
Upload File : |
<?php
namespace Stripe;
class SubscriptionTest extends TestCase
{
const TEST_RESOURCE_ID = 'sub_123';
public function testIsListable()
{
$this->expectsRequest(
'get',
'/v1/subscriptions'
);
$resources = Subscription::all();
$this->assertTrue(is_array($resources->data));
$this->assertInstanceOf("Stripe\\Subscription", $resources->data[0]);
}
public function testIsRetrievable()
{
$this->expectsRequest(
'get',
'/v1/subscriptions/' . self::TEST_RESOURCE_ID
);
$resource = Subscription::retrieve(self::TEST_RESOURCE_ID);
$this->assertInstanceOf("Stripe\\Subscription", $resource);
}
public function testIsCreatable()
{
$this->expectsRequest(
'post',
'/v1/subscriptions'
);
$resource = Subscription::create([
"customer" => "cus_123",
"plan" => "plan"
]);
$this->assertInstanceOf("Stripe\\Subscription", $resource);
}
public function testIsSaveable()
{
$resource = Subscription::retrieve(self::TEST_RESOURCE_ID);
$resource->metadata["key"] = "value";
$this->expectsRequest(
'post',
'/v1/subscriptions/' . $resource->id
);
$resource->save();
$this->assertInstanceOf("Stripe\\Subscription", $resource);
}
public function testIsUpdatable()
{
$this->expectsRequest(
'post',
'/v1/subscriptions/' . self::TEST_RESOURCE_ID
);
$resource = Subscription::update(self::TEST_RESOURCE_ID, [
"metadata" => ["key" => "value"],
]);
$this->assertInstanceOf("Stripe\\Subscription", $resource);
}
public function testIsCancelable()
{
$resource = Subscription::retrieve(self::TEST_RESOURCE_ID);
$this->expectsRequest(
'delete',
'/v1/subscriptions/' . $resource->id,
[
'at_period_end' => 'true',
]
);
$resource->cancel([
'at_period_end' => true,
]);
$this->assertInstanceOf("Stripe\\Subscription", $resource);
}
public function testCanDeleteDiscount()
{
$resource = Subscription::retrieve(self::TEST_RESOURCE_ID);
$this->expectsRequest(
'delete',
'/v1/subscriptions/' . $resource->id . '/discount'
);
$resource->deleteDiscount();
$this->assertInstanceOf("Stripe\\Subscription", $resource);
}
public function testSerializeParametersItems()
{
$obj = Util\Util::convertToStripeObject([
'object' => 'subscription',
'items' => Util\Util::convertToStripeObject([
'object' => 'list',
'data' => [],
], null),
], null);
$obj->items = [
['id' => 'si_foo', 'deleted' => true],
['plan' => 'plan_bar'],
];
$expected = [
'items' => [
0 => ['id' => 'si_foo', 'deleted' => true],
1 => ['plan' => 'plan_bar'],
],
];
$this->assertSame($expected, $obj->serializeParameters());
}
}