Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

API Updates #809

Merged
merged 4 commits into from
May 9, 2022
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 0 additions & 1 deletion stripe/api_resources/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -57,7 +57,6 @@
from stripe.api_resources.login_link import LoginLink
from stripe.api_resources.mandate import Mandate
from stripe.api_resources.order import Order
from stripe.api_resources.order_return import OrderReturn
from stripe.api_resources.payment_intent import PaymentIntent
from stripe.api_resources.payment_link import PaymentLink
from stripe.api_resources.payment_method import PaymentMethod
Expand Down
4 changes: 2 additions & 2 deletions stripe/api_resources/financial_connections/account.py
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@


@custom_method("disconnect", http_verb="post")
@custom_method("refresh", http_verb="post")
@custom_method("refresh_account", http_verb="post", http_path="refresh")
class Account(APIResource):
OBJECT_NAME = "financial_connections.account"

Expand All @@ -17,7 +17,7 @@ def disconnect(self, idempotency_key=None, **params):
self.refresh_from(self.request("post", url, params, headers))
return self

def refresh(self, idempotency_key=None, **params):
def refresh_account(self, idempotency_key=None, **params):
url = self.instance_url() + "/refresh"
headers = util.populate_headers(idempotency_key)
self.refresh_from(self.request("post", url, params, headers))
Expand Down
32 changes: 24 additions & 8 deletions stripe/api_resources/order.py
Original file line number Diff line number Diff line change
Expand Up @@ -8,19 +8,35 @@
from stripe.api_resources.abstract import custom_method


@custom_method("return_order", http_verb="post", http_path="returns")
@custom_method("pay", http_verb="post")
@custom_method("cancel", http_verb="post")
@custom_method("list_line_items", http_verb="get", http_path="line_items")
@custom_method("reopen", http_verb="post")
@custom_method("submit", http_verb="post")
class Order(CreateableAPIResource, ListableAPIResource, UpdateableAPIResource):
OBJECT_NAME = "order"

def pay(self, idempotency_key=None, **params):
url = self.instance_url() + "/pay"
def cancel(self, idempotency_key=None, **params):
url = self.instance_url() + "/cancel"
headers = util.populate_headers(idempotency_key)
self.refresh_from(self.request("post", url, params, headers))
return self

def return_order(self, idempotency_key=None, **params):
def list_line_items(self, idempotency_key=None, **params):
url = self.instance_url() + "/line_items"
headers = util.populate_headers(idempotency_key)
return self.request(
"post", self.instance_url() + "/returns", params, headers
)
resp = self.request("get", url, params, headers)
stripe_object = util.convert_to_stripe_object(resp)
stripe_object._retrieve_params = params
return stripe_object

def reopen(self, idempotency_key=None, **params):
url = self.instance_url() + "/reopen"
headers = util.populate_headers(idempotency_key)
self.refresh_from(self.request("post", url, params, headers))
return self

def submit(self, idempotency_key=None, **params):
url = self.instance_url() + "/submit"
headers = util.populate_headers(idempotency_key)
self.refresh_from(self.request("post", url, params, headers))
return self
8 changes: 0 additions & 8 deletions stripe/api_resources/order_return.py

This file was deleted.

1 change: 0 additions & 1 deletion stripe/object_classes.py
Original file line number Diff line number Diff line change
Expand Up @@ -61,7 +61,6 @@
api_resources.LoginLink.OBJECT_NAME: api_resources.LoginLink,
api_resources.Mandate.OBJECT_NAME: api_resources.Mandate,
api_resources.Order.OBJECT_NAME: api_resources.Order,
api_resources.OrderReturn.OBJECT_NAME: api_resources.OrderReturn,
api_resources.PaymentIntent.OBJECT_NAME: api_resources.PaymentIntent,
api_resources.PaymentLink.OBJECT_NAME: api_resources.PaymentLink,
api_resources.PaymentMethod.OBJECT_NAME: api_resources.PaymentMethod,
Expand Down
78 changes: 0 additions & 78 deletions tests/api_resources/test_order.py

This file was deleted.

21 changes: 0 additions & 21 deletions tests/api_resources/test_order_return.py

This file was deleted.

119 changes: 72 additions & 47 deletions tests/test_generated_examples.py
Original file line number Diff line number Diff line change
Expand Up @@ -1402,53 +1402,6 @@ def test_terminal_reader_list(self, request_mock):
stripe.terminal.Reader.list(limit=3)
request_mock.assert_requested("get", "/v1/terminal/readers")

def test_order_create(self, request_mock):
stripe.Order.create(
currency="usd",
email="[email protected]",
items=[{"type": "sku", "parent": "sku_xxxxxxxxxxxxx"}],
shipping={
"name": "Jenny Rosen",
"address": {
"line1": "1234 Main Street",
"city": "San Francisco",
"state": "CA",
"country": "US",
"postal_code": "94111",
},
},
)
request_mock.assert_requested("post", "/v1/orders")

def test_order_retrieve(self, request_mock):
stripe.Order.retrieve("or_xxxxxxxxxxxxx")
request_mock.assert_requested("get", "/v1/orders/or_xxxxxxxxxxxxx")

def test_order_update(self, request_mock):
stripe.Order.modify("or_xxxxxxxxxxxxx", metadata={"order_id": "6735"})
request_mock.assert_requested("post", "/v1/orders/or_xxxxxxxxxxxxx")

def test_order_pay(self, request_mock):
stripe.Order.pay("or_xxxxxxxxxxxxx", source="tok_xxxx")
request_mock.assert_requested(
"post", "/v1/orders/or_xxxxxxxxxxxxx/pay"
)

def test_order_list(self, request_mock):
stripe.Order.list(limit=3)
request_mock.assert_requested("get", "/v1/orders")

def test_orderreturn_retrieve(self, request_mock):
stripe.OrderReturn.retrieve("orret_xxxxxxxxxxxxx")
request_mock.assert_requested(
"get",
"/v1/order_returns/orret_xxxxxxxxxxxxx",
)

def test_orderreturn_list(self, request_mock):
stripe.OrderReturn.list(limit=3)
request_mock.assert_requested("get", "/v1/order_returns")

def test_sku_create(self, request_mock):
stripe.SKU.create(
attributes={"size": "Medium", "gender": "Unisex"},
Expand Down Expand Up @@ -1717,3 +1670,75 @@ def test_refund_expire(self, request_mock):
"post",
"/v1/test_helpers/refunds/re_123/expire",
)

def test_order_create(self, request_mock):
stripe.Order.create(
description="description",
currency="usd",
line_items=[{"description": "my line item"}],
)
request_mock.assert_requested("post", "/v1/orders")

def test_order_update(self, request_mock):
stripe.Order.modify("order_xyz")
request_mock.assert_requested("post", "/v1/orders/order_xyz")

def test_order_list_line_items(self, request_mock):
stripe.Order.list_line_items("order_xyz")
request_mock.assert_requested("get", "/v1/orders/order_xyz/line_items")

def test_order_cancel(self, request_mock):
stripe.Order.cancel("order_xyz")
request_mock.assert_requested("post", "/v1/orders/order_xyz/cancel")

def test_order_reopen(self, request_mock):
stripe.Order.reopen("order_xyz")
request_mock.assert_requested("post", "/v1/orders/order_xyz/reopen")

def test_order_submit(self, request_mock):
stripe.Order.submit("order_xyz", expected_total=100)
request_mock.assert_requested("post", "/v1/orders/order_xyz/submit")

def test_order_update2(self, request_mock):
stripe.Order.modify("order_xyz")
request_mock.assert_requested("post", "/v1/orders/order_xyz")

def test_financial_connections_account_retrieve(self, request_mock):
stripe.financial_connections.Account.retrieve("fca_xyz")
request_mock.assert_requested(
"get",
"/v1/financial_connections/accounts/fca_xyz",
)

def test_financial_connections_account_refresh_account(self, request_mock):
stripe.financial_connections.Account.refresh_account(
"fca_xyz",
features=["balance"],
)
request_mock.assert_requested(
"post",
"/v1/financial_connections/accounts/fca_xyz/refresh",
)

def test_financial_connections_account_disconnect(self, request_mock):
stripe.financial_connections.Account.disconnect("fca_xyz")
request_mock.assert_requested(
"post",
"/v1/financial_connections/accounts/fca_xyz/disconnect",
)

def test_financial_connections_session_create(self, request_mock):
stripe.financial_connections.Session.create(
account_holder={"type": "customer", "customer": "cus_123"},
permissions=["balances"],
)
request_mock.assert_requested(
"post", "/v1/financial_connections/sessions"
)

def test_financial_connections_session_retrieve(self, request_mock):
stripe.financial_connections.Session.retrieve("fcsess_xyz")
request_mock.assert_requested(
"get",
"/v1/financial_connections/sessions/fcsess_xyz",
)