File: test_quote.py

package info (click to toggle)
python-stripe 14.4.1-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 15,576 kB
  • sloc: python: 201,956; makefile: 13; sh: 9
file content (118 lines) | stat: -rw-r--r-- 4,446 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
from __future__ import absolute_import, division, print_function

import stripe


TEST_RESOURCE_ID = "qt_123"


class TestQuote(object):
    def test_is_listable(self, http_client_mock, stripe_mock_stripe_client):
        resources = stripe_mock_stripe_client.quotes.list()
        http_client_mock.assert_requested("get", path="/v1/quotes")
        assert isinstance(resources.data, list)
        assert isinstance(resources.data[0], stripe.Quote)

    def test_is_retrievable(self, http_client_mock, stripe_mock_stripe_client):
        resource = stripe_mock_stripe_client.quotes.retrieve(TEST_RESOURCE_ID)
        http_client_mock.assert_requested(
            "get", path="/v1/quotes/%s" % TEST_RESOURCE_ID
        )
        assert isinstance(resource, stripe.Quote)

    def test_is_creatable(self, http_client_mock, stripe_mock_stripe_client):
        resource = stripe_mock_stripe_client.quotes.create(
            params={"customer": "cus_123"}
        )
        http_client_mock.assert_requested(
            "post", path="/v1/quotes", post_data="customer=cus_123"
        )
        assert isinstance(resource, stripe.Quote)

    def test_is_updateable(self, http_client_mock, stripe_mock_stripe_client):
        resource = stripe_mock_stripe_client.quotes.update(
            TEST_RESOURCE_ID, params={"metadata": {"key": "value"}}
        )
        http_client_mock.assert_requested(
            "post",
            path="/v1/quotes/%s" % TEST_RESOURCE_ID,
            post_data="metadata[key]=value",
        )
        assert isinstance(resource, stripe.Quote)

    def test_can_finalize_quote(
        self, http_client_mock, stripe_mock_stripe_client
    ):
        resource = stripe_mock_stripe_client.quotes.retrieve(TEST_RESOURCE_ID)
        resource = resource.finalize_quote()
        http_client_mock.assert_requested(
            "post", path="/v1/quotes/%s/finalize" % TEST_RESOURCE_ID
        )
        assert isinstance(resource, stripe.Quote)

    def test_can_finalize_quote_classmethod(
        self, http_client_mock, stripe_mock_stripe_client
    ):
        resource = stripe_mock_stripe_client.quotes.finalize_quote(
            TEST_RESOURCE_ID
        )
        http_client_mock.assert_requested(
            "post", path="/v1/quotes/%s/finalize" % TEST_RESOURCE_ID
        )
        assert isinstance(resource, stripe.Quote)

    def test_can_cancel(self, http_client_mock, stripe_mock_stripe_client):
        resource = stripe_mock_stripe_client.quotes.cancel(TEST_RESOURCE_ID)
        http_client_mock.assert_requested(
            "post", path="/v1/quotes/%s/cancel" % TEST_RESOURCE_ID
        )
        assert isinstance(resource, stripe.Quote)

    def test_can_accept(self, http_client_mock, stripe_mock_stripe_client):
        resource = stripe_mock_stripe_client.quotes.accept(TEST_RESOURCE_ID)
        http_client_mock.assert_requested(
            "post", path="/v1/quotes/%s/accept" % TEST_RESOURCE_ID
        )
        assert isinstance(resource, stripe.Quote)

    def test_can_list_line_items(
        self, http_client_mock, stripe_mock_stripe_client
    ):
        resources = stripe_mock_stripe_client.quotes.line_items.list(
            TEST_RESOURCE_ID
        )
        http_client_mock.assert_requested(
            "get", path="/v1/quotes/%s/line_items" % TEST_RESOURCE_ID
        )
        assert isinstance(resources.data, list)
        assert isinstance(resources.data[0], stripe.LineItem)

    def test_can_list_computed_upfront_line_items(
        self, http_client_mock, stripe_mock_stripe_client
    ):
        resources = (
            stripe_mock_stripe_client.quotes.computed_upfront_line_items.list(
                TEST_RESOURCE_ID
            )
        )
        http_client_mock.assert_requested(
            "get",
            path="/v1/quotes/%s/computed_upfront_line_items"
            % TEST_RESOURCE_ID,
        )
        assert isinstance(resources.data, list)
        assert isinstance(resources.data[0], stripe.LineItem)

    def test_can_pdf(
        self,
        file_stripe_mock_stripe_client,
        http_client_mock,
    ):
        stream = file_stripe_mock_stripe_client.quotes.pdf(TEST_RESOURCE_ID)
        http_client_mock.assert_requested(
            "get",
            api_base=stripe.upload_api_base,
            path="/v1/quotes/%s/pdf" % TEST_RESOURCE_ID,
        )
        content = stream.io.read()
        assert content == b"Stripe binary response"