Skip to content

Commit fb0f7c0

Browse files
API Updates (stripe#728)
1 parent 605dfad commit fb0f7c0

File tree

2 files changed

+50
-0
lines changed

2 files changed

+50
-0
lines changed

stripe/api_resources/quote.py

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,11 @@
1313
@custom_method("accept", http_verb="post")
1414
@custom_method("cancel", http_verb="post")
1515
@custom_method("finalize_quote", http_verb="post", http_path="finalize")
16+
@custom_method(
17+
"list_computed_upfront_line_items",
18+
http_verb="get",
19+
http_path="computed_upfront_line_items",
20+
)
1621
@custom_method("list_line_items", http_verb="get", http_path="line_items")
1722
class Quote(CreateableAPIResource, ListableAPIResource, UpdateableAPIResource):
1823
OBJECT_NAME = "quote"
@@ -35,6 +40,12 @@ def finalize_quote(self, idempotency_key=None, **params):
3540
self.refresh_from(self.request("post", url, params, headers))
3641
return self
3742

43+
def list_computed_upfront_line_items(self, idempotency_key=None, **params):
44+
url = self.instance_url() + "/computed_upfront_line_items"
45+
headers = util.populate_headers(idempotency_key)
46+
self.refresh_from(self.request("get", url, params, headers))
47+
return self
48+
3849
def list_line_items(self, idempotency_key=None, **params):
3950
url = self.instance_url() + "/line_items"
4051
headers = util.populate_headers(idempotency_key)

tests/api_resources/test_quote.py

Lines changed: 39 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -95,6 +95,45 @@ def test_can_accept_classmethod(self, request_mock):
9595
)
9696
assert isinstance(resource, stripe.Quote)
9797

98+
def test_can_list_line_items(self, request_mock):
99+
resources = stripe.Quote.list_line_items(TEST_RESOURCE_ID)
100+
request_mock.assert_requested(
101+
"get", "/v1/quotes/%s/line_items" % TEST_RESOURCE_ID
102+
)
103+
assert isinstance(resources.data, list)
104+
assert isinstance(resources.data[0], stripe.LineItem)
105+
106+
def test_can_list_line_items_classmethod(self, request_mock):
107+
resources = stripe.Quote.list_line_items(TEST_RESOURCE_ID)
108+
request_mock.assert_requested(
109+
"get", "/v1/quotes/%s/line_items" % TEST_RESOURCE_ID
110+
)
111+
assert isinstance(resources.data, list)
112+
assert isinstance(resources.data[0], stripe.LineItem)
113+
114+
def test_can_list_computed_upfront_line_items(self, request_mock):
115+
resources = stripe.Quote.list_computed_upfront_line_items(
116+
TEST_RESOURCE_ID
117+
)
118+
request_mock.assert_requested(
119+
"get",
120+
"/v1/quotes/%s/computed_upfront_line_items" % TEST_RESOURCE_ID,
121+
)
122+
assert isinstance(resources.data, list)
123+
assert isinstance(resources.data[0], stripe.LineItem)
124+
125+
def test_can_list_computed_upfront_line_items_classmethod(
126+
self, request_mock
127+
):
128+
resources = stripe.Quote.list_computed_upfront_line_items(
129+
TEST_RESOURCE_ID
130+
)
131+
request_mock.assert_requested(
132+
"get",
133+
"/v1/quotes/%s/computed_upfront_line_items" % TEST_RESOURCE_ID,
134+
)
135+
assert isinstance(resources.data[0], stripe.LineItem)
136+
98137
def test_can_pdf(self, setup_upload_api_base, request_mock):
99138
resource = stripe.Quote.retrieve(TEST_RESOURCE_ID)
100139
stream, _ = resource.pdf()

0 commit comments

Comments
 (0)