|
| 1 | +import json |
1 | 2 | from tests.integration.test_base import QuickbooksUnitTestCase |
2 | 3 |
|
3 | 4 | try: |
|
6 | 7 | from unittest.mock import patch, mock_open |
7 | 8 |
|
8 | 9 | from quickbooks.exceptions import QuickbooksException, SevereException, AuthorizationException |
9 | | -from quickbooks import client |
| 10 | +from quickbooks import client, mixins |
10 | 11 | from quickbooks.objects.salesreceipt import SalesReceipt |
11 | 12 |
|
12 | 13 |
|
@@ -141,7 +142,7 @@ def test_get_single_object(self, make_req): |
141 | 142 |
|
142 | 143 | @patch('quickbooks.client.QuickBooks.process_request') |
143 | 144 | def test_make_request(self, process_request): |
144 | | - process_request.return_value = MockResponse() |
| 145 | + process_request.return_value = MockResponseJson() |
145 | 146 |
|
146 | 147 | qb_client = client.QuickBooks() |
147 | 148 | qb_client.company_id = "1234" |
@@ -220,7 +221,7 @@ def test_download_pdf_not_authorized(self, process_request): |
220 | 221 | @patch('quickbooks.client.QuickBooks.process_request') |
221 | 222 | def test_make_request_file_closed(self, process_request): |
222 | 223 | file_path = '/path/to/file.txt' |
223 | | - process_request.return_value = MockResponse() |
| 224 | + process_request.return_value = MockResponseJson() |
224 | 225 | with patch('builtins.open', mock_open(read_data=b'file content')) as mock_file: |
225 | 226 | qb_client = client.QuickBooks(auth_client=self.auth_client) |
226 | 227 | qb_client.make_request('POST', |
@@ -253,6 +254,18 @@ def json(self): |
253 | 254 | def content(self): |
254 | 255 | return '' |
255 | 256 |
|
| 257 | +class MockResponseJson: |
| 258 | + def __init__(self, json_data=None, status_code=200): |
| 259 | + self.json_data = json_data or {} |
| 260 | + self.status_code = status_code |
| 261 | + |
| 262 | + @property |
| 263 | + def text(self): |
| 264 | + return json.dumps(self.json_data, cls=mixins.DecimalEncoder) |
| 265 | + |
| 266 | + def json(self): |
| 267 | + return self.json_data |
| 268 | + |
256 | 269 |
|
257 | 270 | class MockUnauthorizedResponse(object): |
258 | 271 | @property |
|
0 commit comments