Viewing file: SubscriptionTest.php (3.68 KB) -rw-r--r-- Select action/file-type: (+) | (+) | (+) | Code (+) | Session (+) | (+) | SDB (+) | (+) | (+) | (+) | (+) | (+) |
<?php
namespace Razorpay\Tests;
use Razorpay\Api\Request;
class SubscriptionTest extends TestCase { /** * Specify unique subscription id & plan id * for example : sub_IEKtBfPIqTHLWd & plan_IEeswu4zFBRGwi */
private $subscriptionId = "sub_IEllLOZcf0PODu";
private $plan = "plan_IEeswu4zFBRGwi";
public function setUp(): void { parent::setUp(); } /** * Create a Subscription Link */ public function testCreateSubscription() { $data = $this->api->subscription->create(array('plan_id' => $this->plan, 'customer_notify' => 1,'quantity'=>1, 'total_count' => 6, 'addons' => array(array('item' => array('name' => 'Delivery charges', 'amount' => 3000, 'currency' => 'INR'))),'notes'=> array('key1'=> 'value3','key2'=> 'value2')));
$this->assertTrue(is_array($data->toArray()));
$this->assertTrue(in_array('id',$data->toArray())); } /** * Fetch Subscription Link by ID */ public function testSubscriptionFetchId() { $data = $this->api->subscription->fetch($this->subscriptionId); $this->assertTrue(is_array($data->toArray()));
$this->assertTrue(in_array('plan_id',$data->toArray())); }
/** * Pause a Subscription */ public function testPauseSubscription() {
$data = $this->api->subscription->fetch($this->subscriptionId)->pause(['pause_at'=>'now']);
$this->assertTrue(is_array($data->toArray()));
$this->assertTrue(in_array('id',$data->toArray()));
$this->assertTrue($data['status'] == 'paused');
} /** * Resume a Subscription */ public function testResumeSubscription() { $data = $this->api->subscription->fetch($this->subscriptionId)->resume(['resume_at'=>'now']);
$this->assertTrue(is_array($data->toArray()));
$this->assertTrue(in_array('id',$data->toArray()));
} /** * Update a Subscription */ public function testUpdateSubscription() { $data = $this->api->subscription->fetch($this->subscriptionId)->update(array('schedule_change_at'=>'cycle_end','quantity'=>2)); $this->assertTrue(is_array($data->toArray()));
$this->assertTrue(in_array('customer_id',$data->toArray())); }
/** * Fetch Details of a Pending Update */ public function testPendingUpdate() { $data = $this->api->subscription->fetch($this->subscriptionId)->pendingUpdate();
$this->assertTrue(is_array($data->toArray()));
$this->assertTrue(in_array('id',$data->toArray())); }
/** * Cancel an Update */ public function testCancelUpdate() { $data = $this->api->subscription->fetch($this->subscriptionId)->cancelScheduledChanges();
$this->assertTrue(is_array($data->toArray()));
$this->assertTrue(in_array('id',$data->toArray())); }
/** * Fetch All Invoices for a Subscription */ public function testSubscriptionInvoices() { $data = $this->api->invoice->all(['subscription_id'=>$this->subscriptionId]);
$this->assertTrue(is_array($data->toArray()));
$this->assertTrue(is_array($data['items'])); }
/** * Fetch all Add-ons */ public function testFetchAddons() { $data = $this->api->addon->fetchAll();
$this->assertTrue(is_array($data->toArray()));
$this->assertTrue(is_array($data['items'])); } /** * Fetch all subscriptions */ public function testFetchAllSubscriptions() { $data = $this->api->subscription->all();
$this->assertTrue(is_array($data->toArray()));
$this->assertTrue(is_array($data['items'])); } }
|