Skip to content

Commit

Permalink
Merge pull request #655 from stripe/remi/codegen-72527e3
Browse files Browse the repository at this point in the history
Add support for the `LineItem` resource and APIs
  • Loading branch information
remi-stripe authored May 12, 2020
2 parents 2760009 + 37dc9df commit a80fb17
Show file tree
Hide file tree
Showing 7 changed files with 23 additions and 2 deletions.
2 changes: 1 addition & 1 deletion .travis.yml
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@ cache:
env:
global:
# If changing this number, please also change it in `tests/conftest.py`.
- STRIPE_MOCK_VERSION=0.89.0
- STRIPE_MOCK_VERSION=0.90.0

before_install:
# Unpack and start stripe-mock so that the test suite can talk to it
Expand Down
1 change: 1 addition & 0 deletions stripe/api_resources/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -46,6 +46,7 @@
from stripe.api_resources.invoice_item import InvoiceItem
from stripe.api_resources.invoice_line_item import InvoiceLineItem
from stripe.api_resources.issuer_fraud_record import IssuerFraudRecord
from stripe.api_resources.line_item import LineItem
from stripe.api_resources.login_link import LoginLink
from stripe.api_resources.mandate import Mandate
from stripe.api_resources.order import Order
Expand Down
2 changes: 2 additions & 0 deletions stripe/api_resources/checkout/session.py
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,9 @@

from stripe.api_resources.abstract import CreateableAPIResource
from stripe.api_resources.abstract import ListableAPIResource
from stripe.api_resources.abstract import nested_resource_class_methods


@nested_resource_class_methods("line_item", operations=["list"])
class Session(CreateableAPIResource, ListableAPIResource):
OBJECT_NAME = "checkout.session"
7 changes: 7 additions & 0 deletions stripe/api_resources/line_item.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
from __future__ import absolute_import, division, print_function

from stripe.api_resources.abstract import APIResource


class LineItem(APIResource):
OBJECT_NAME = "item"
1 change: 1 addition & 0 deletions stripe/object_classes.py
Original file line number Diff line number Diff line change
Expand Up @@ -46,6 +46,7 @@
api_resources.issuing.Cardholder.OBJECT_NAME: api_resources.issuing.Cardholder,
api_resources.issuing.Dispute.OBJECT_NAME: api_resources.issuing.Dispute,
api_resources.issuing.Transaction.OBJECT_NAME: api_resources.issuing.Transaction,
api_resources.LineItem.OBJECT_NAME: api_resources.LineItem,
api_resources.LoginLink.OBJECT_NAME: api_resources.LoginLink,
api_resources.Mandate.OBJECT_NAME: api_resources.Mandate,
api_resources.Order.OBJECT_NAME: api_resources.Order,
Expand Down
10 changes: 10 additions & 0 deletions tests/api_resources/checkout/test_session.py
Original file line number Diff line number Diff line change
Expand Up @@ -34,3 +34,13 @@ def test_is_retrievable(self, request_mock):
"get", "/v1/checkout/sessions/%s" % TEST_RESOURCE_ID
)
assert isinstance(resource, stripe.checkout.Session)


class TestSessionLineItems(object):
def test_is_listable(self, request_mock):
resources = stripe.checkout.Session.list_line_items(TEST_RESOURCE_ID)
request_mock.assert_requested(
"get", "/v1/checkout/sessions/%s/line_items" % TEST_RESOURCE_ID
)
assert isinstance(resources.data, list)
assert isinstance(resources.data[0], stripe.LineItem)
2 changes: 1 addition & 1 deletion tests/conftest.py
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@


# When changing this number, don't forget to change it in `.travis.yml` too.
MOCK_MINIMUM_VERSION = "0.89.0"
MOCK_MINIMUM_VERSION = "0.90.0"

# Starts stripe-mock if an OpenAPI spec override is found in `openapi/`, and
# otherwise fall back to `STRIPE_MOCK_PORT` or 12111.
Expand Down

0 comments on commit a80fb17

Please sign in to comment.