From dd051c4d13aaf58209410eebe84938d3f520785f Mon Sep 17 00:00:00 2001 From: Remi Jannel Date: Tue, 21 Aug 2018 08:41:13 -0400 Subject: [PATCH] Add support for usage record summary --- .travis.yml | 2 +- init.php | 1 + lib/SubscriptionItem.php | 15 +++++++++++++++ lib/UsageRecordSummary.php | 22 ++++++++++++++++++++++ lib/Util/Util.php | 1 + tests/Stripe/SubscriptionItemTest.php | 12 ++++++++++++ tests/bootstrap.php | 2 +- 7 files changed, 53 insertions(+), 2 deletions(-) create mode 100644 lib/UsageRecordSummary.php diff --git a/.travis.yml b/.travis.yml index 64df4c112..5ab6c001e 100644 --- a/.travis.yml +++ b/.travis.yml @@ -13,7 +13,7 @@ php: env: global: - - STRIPE_MOCK_VERSION=0.25.0 + - STRIPE_MOCK_VERSION=0.26.0 matrix: - AUTOLOAD=1 - AUTOLOAD=0 diff --git a/init.php b/init.php index 822cb6399..d9a968335 100644 --- a/init.php +++ b/init.php @@ -110,6 +110,7 @@ require(dirname(__FILE__) . '/lib/Transfer.php'); require(dirname(__FILE__) . '/lib/TransferReversal.php'); require(dirname(__FILE__) . '/lib/UsageRecord.php'); +require(dirname(__FILE__) . '/lib/UsageRecordSummary.php'); // OAuth require(dirname(__FILE__) . '/lib/OAuth.php'); diff --git a/lib/SubscriptionItem.php b/lib/SubscriptionItem.php index e19effbe3..199952fc7 100644 --- a/lib/SubscriptionItem.php +++ b/lib/SubscriptionItem.php @@ -25,4 +25,19 @@ class SubscriptionItem extends ApiResource use ApiOperations\Delete; use ApiOperations\Retrieve; use ApiOperations\Update; + + /** + * @param array|null $params + * @param array|string|null $options + * + * @return Collection The list of source transactions. + */ + public function usageRecordSummaries($params = null, $options = null) + { + $url = $this->instanceUrl() . '/usage_record_summaries'; + list($response, $opts) = $this->_request('get', $url, $params, $options); + $obj = Util\Util::convertToStripeObject($response, $opts); + $obj->setLastResponse($response); + return $obj; + } } diff --git a/lib/UsageRecordSummary.php b/lib/UsageRecordSummary.php new file mode 100644 index 000000000..b8f4aebe9 --- /dev/null +++ b/lib/UsageRecordSummary.php @@ -0,0 +1,22 @@ + 'Stripe\\Transfer', \Stripe\TransferReversal::OBJECT_NAME => 'Stripe\\TransferReversal', \Stripe\UsageRecord::OBJECT_NAME => 'Stripe\\UsageRecord', + \Stripe\UsageRecordSummary::OBJECT_NAME => 'Stripe\\UsageRecordSummary', ]; if (self::isList($resp)) { $mapped = []; diff --git a/tests/Stripe/SubscriptionItemTest.php b/tests/Stripe/SubscriptionItemTest.php index 09e766c1b..714b4e95a 100644 --- a/tests/Stripe/SubscriptionItemTest.php +++ b/tests/Stripe/SubscriptionItemTest.php @@ -74,4 +74,16 @@ public function testIsDeletable() $resource->delete(); $this->assertInstanceOf("Stripe\\SubscriptionItem", $resource); } + + public function testCanListUsageRecordSummaries() + { + $resource = SubscriptionItem::retrieve(self::TEST_RESOURCE_ID); + $this->expectsRequest( + 'get', + '/v1/subscription_items/' . $resource->id . "/usage_record_summaries" + ); + $resources = $resource->usageRecordSummaries(); + $this->assertTrue(is_array($resources->data)); + $this->assertInstanceOf("Stripe\\UsageRecordSummary", $resources->data[0]); + } } diff --git a/tests/bootstrap.php b/tests/bootstrap.php index 8a0754428..4d149864b 100644 --- a/tests/bootstrap.php +++ b/tests/bootstrap.php @@ -1,6 +1,6 @@