Skip to content

Commit 5d67fed

Browse files
committed
Update auto_churn_subscription_setting response format
1 parent 49afff3 commit 5d67fed

File tree

2 files changed

+27
-5
lines changed

2 files changed

+27
-5
lines changed

chartmogul/api/data_source.py

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -37,6 +37,16 @@ def make(self, data, **kwargs):
3737
return InvoiceHandlingSetting(**data)
3838

3939

40+
class AutoChurnSubscriptionSetting(DataObject):
41+
class _Schema(Schema):
42+
enabled = fields.Boolean()
43+
interval = fields.Integer(allow_none=True)
44+
45+
@post_load
46+
def make(self, data, **kwargs):
47+
return AutoChurnSubscriptionSetting(**data)
48+
49+
4050
class DataSource(Resource):
4151
"""
4252
https://dev.chartmogul.com/v1.0/reference#data-sources
@@ -62,7 +72,7 @@ class _Schema(Schema):
6272
status = fields.Str()
6373
system = fields.Str()
6474
processing_status = fields.Nested(ProcessingStatus._Schema, many=False, unknown=EXCLUDE, allow_none=True)
65-
auto_churn_subscription_setting = fields.Boolean(allow_none=True)
75+
auto_churn_subscription_setting = fields.Nested(AutoChurnSubscriptionSetting._Schema, many=False, unknown=EXCLUDE, allow_none=True)
6676
invoice_handling_setting = fields.Nested(InvoiceHandlingSetting._Schema, many=False, unknown=EXCLUDE, allow_none=True)
6777

6878
@post_load

test/api/test_data_source.py

Lines changed: 16 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -53,7 +53,10 @@ def test_retrieve(self, mock_requests):
5353
"failed": 3,
5454
"pending": 8
5555
},
56-
"auto_churn_subscription_setting": True,
56+
"auto_churn_subscription_setting": {
57+
"enabled": True,
58+
"interval": 30
59+
},
5760
"invoice_handling_setting": {
5861
"manual": {
5962
"create_subscription_when_invoice_is": "open",
@@ -92,7 +95,10 @@ def test_retrieve(self, mock_requests):
9295
"failed": 3,
9396
"pending": 8
9497
},
95-
"auto_churn_subscription_setting": True,
98+
"auto_churn_subscription_setting": {
99+
"enabled": True,
100+
"interval": 30
101+
},
96102
"invoice_handling_setting": {
97103
"manual": {
98104
"create_subscription_when_invoice_is": "open",
@@ -141,7 +147,10 @@ def test_all(self, mock_requests):
141147
"failed": 3,
142148
"pending": 8
143149
},
144-
"auto_churn_subscription_setting": True,
150+
"auto_churn_subscription_setting": {
151+
"enabled": True,
152+
"interval": 30
153+
},
145154
"invoice_handling_setting": {
146155
"manual": {
147156
"create_subscription_when_invoice_is": "open",
@@ -183,7 +192,10 @@ def test_all(self, mock_requests):
183192
"failed": 3,
184193
"pending": 8
185194
},
186-
"auto_churn_subscription_setting": True,
195+
"auto_churn_subscription_setting": {
196+
"enabled": True,
197+
"interval": 30
198+
},
187199
"invoice_handling_setting": {
188200
"manual": {
189201
"create_subscription_when_invoice_is": "open",

0 commit comments

Comments
 (0)