Skip to content

Commit 1aa3dcf

Browse files
authored
Merge pull request #14 from payjp/sdk-update-2025-12-15-b528390
feat: Update SDK from generator (2025-12-15)
2 parents 4bd8496 + ae52622 commit 1aa3dcf

6 files changed

Lines changed: 31 additions & 19 deletions

File tree

tests/test_api_mocks.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -124,7 +124,7 @@ def test_create_payment_flow_success(self, mock_call_api, mock_deserialize, api_
124124
mock_api_response.data = sample_payment_flow_data
125125
mock_deserialize.return_value = mock_api_response
126126

127-
request = PaymentFlowCreateRequest(amount=1000)
127+
request = PaymentFlowCreateRequest(amount=1000, currency="jpy")
128128
response = payment_flows_api.create_payment_flow(request)
129129

130130
# Verify API call
@@ -288,6 +288,7 @@ def test_payment_flow_model_creation(self):
288288
"""Test payment flow model creation."""
289289
request = PaymentFlowCreateRequest(
290290
amount=1000,
291+
currency="jpy",
291292
customer_id="cus_test123",
292293
description="Test payment flow"
293294
)

tests/test_error_handling.py

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -210,10 +210,11 @@ def test_minimum_amount_validation(self):
210210

211211
def test_invalid_currency_validation(self):
212212
"""Test validation of currency codes (if implemented)."""
213-
# PaymentFlowCreateRequest doesn't have currency field in this implementation
214-
# Test with a different field that exists
213+
# PaymentFlowCreateRequest now has currency as a required field
214+
# Test with description field
215215
request = PaymentFlowCreateRequest(
216216
amount=1000,
217+
currency="jpy",
217218
description="INVALID_DESCRIPTION_TEST"
218219
)
219220
assert request.description == "INVALID_DESCRIPTION_TEST"

tests/test_models.py

Lines changed: 11 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -39,13 +39,14 @@ class TestPaymentFlowModels:
3939

4040
def test_payment_flow_create_request_basic(self):
4141
"""Test basic payment flow creation request."""
42-
request = PaymentFlowCreateRequest(amount=1000)
42+
request = PaymentFlowCreateRequest(amount=1000, currency="jpy")
4343
assert request.amount == 1000
4444

4545
def test_payment_flow_create_request_with_customer(self):
4646
"""Test payment flow creation with customer."""
4747
request = PaymentFlowCreateRequest(
4848
amount=1000,
49+
currency="jpy",
4950
customer_id="cus_test123"
5051
)
5152
assert request.amount == 1000
@@ -55,6 +56,7 @@ def test_payment_flow_create_request_with_description(self):
5556
"""Test payment flow creation with description."""
5657
request = PaymentFlowCreateRequest(
5758
amount=1500,
59+
currency="jpy",
5860
description="Test payment for SDK"
5961
)
6062
assert request.amount == 1500
@@ -63,21 +65,21 @@ def test_payment_flow_create_request_with_description(self):
6365
def test_payment_flow_amount_types(self):
6466
"""Test different amount values."""
6567
# Minimum valid amount (50)
66-
request1 = PaymentFlowCreateRequest(amount=50)
68+
request1 = PaymentFlowCreateRequest(amount=50, currency="jpy")
6769
assert request1.amount == 50
6870

6971
# Normal amount
70-
request2 = PaymentFlowCreateRequest(amount=1000)
72+
request2 = PaymentFlowCreateRequest(amount=1000, currency="jpy")
7173
assert request2.amount == 1000
7274

7375
# Maximum valid amount (9999999)
74-
request3 = PaymentFlowCreateRequest(amount=9999999)
76+
request3 = PaymentFlowCreateRequest(amount=9999999, currency="jpy")
7577
assert request3.amount == 9999999
7678

7779
def test_payment_flow_capture_method(self):
7880
"""Test capture method settings if available."""
7981
# Test that capture_method field exists and can be set
80-
request = PaymentFlowCreateRequest(amount=1000)
82+
request = PaymentFlowCreateRequest(amount=1000, currency="jpy")
8183
if hasattr(request, 'capture_method'):
8284
# Only test if the field exists in this implementation
8385
assert request.capture_method is None # Default value
@@ -106,6 +108,7 @@ def test_payment_flow_request_serialization(self):
106108
"""Test payment flow request serialization."""
107109
request = PaymentFlowCreateRequest(
108110
amount=1000,
111+
currency="jpy",
109112
description="Test payment"
110113
)
111114

@@ -150,7 +153,7 @@ def test_amount_flexibility(self):
150153
amounts = [50, 100, 1000, 9999999]
151154

152155
for amount in amounts:
153-
request = PaymentFlowCreateRequest(amount=amount)
156+
request = PaymentFlowCreateRequest(amount=amount, currency="jpy")
154157
assert request.amount == amount
155158

156159
def test_model_optional_fields(self):
@@ -160,7 +163,7 @@ def test_model_optional_fields(self):
160163
assert customer_request.email == "test@example.com"
161164
assert customer_request.description is None
162165

163-
# Test payment flow with just amount
164-
payment_request = PaymentFlowCreateRequest(amount=1000)
166+
# Test payment flow with just amount and currency (required fields)
167+
payment_request = PaymentFlowCreateRequest(amount=1000, currency="jpy")
165168
assert payment_request.amount == 1000
166169
assert payment_request.customer_id is None

tests/test_sdk_functionality.py

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -90,13 +90,14 @@ class TestPaymentFlowOperations:
9090

9191
def test_payment_flow_create_request_basic(self):
9292
"""Test basic payment flow creation request."""
93-
request = PaymentFlowCreateRequest(amount=1000)
93+
request = PaymentFlowCreateRequest(amount=1000, currency="jpy")
9494
assert request.amount == 1000
9595

9696
def test_payment_flow_create_request_with_customer(self):
9797
"""Test payment flow creation with customer."""
9898
request = PaymentFlowCreateRequest(
9999
amount=1000,
100+
currency="jpy",
100101
customer_id="cus_test123"
101102
)
102103
assert request.amount == 1000
@@ -106,6 +107,7 @@ def test_payment_flow_create_request_with_description(self):
106107
"""Test payment flow creation with description."""
107108
request = PaymentFlowCreateRequest(
108109
amount=1500,
110+
currency="jpy",
109111
description="Test payment for SDK"
110112
)
111113
assert request.amount == 1500
@@ -145,6 +147,7 @@ def test_payment_flow_request_serialization(self):
145147
"""Test payment flow request serialization."""
146148
request = PaymentFlowCreateRequest(
147149
amount=1000,
150+
currency="jpy",
148151
description="Test payment"
149152
)
150153

@@ -188,11 +191,11 @@ def test_model_validation_flexibility(self):
188191
request1 = CustomerCreateRequest(email="")
189192
assert request1.email == ""
190193

191-
request2 = PaymentFlowCreateRequest(amount=50)
194+
request2 = PaymentFlowCreateRequest(amount=50, currency="jpy")
192195
assert request2.amount == 50
193196

194197
# Test with max valid value (PaymentFlowCreateRequest requires <= 9999999)
195-
request3 = PaymentFlowCreateRequest(amount=9999999)
198+
request3 = PaymentFlowCreateRequest(amount=9999999, currency="jpy")
196199
assert request3.amount == 9999999
197200

198201

@@ -250,6 +253,7 @@ def test_payment_flow_workflow_simulation(self, api_client):
250253
# Test creating request objects for workflow
251254
create_request = PaymentFlowCreateRequest(
252255
amount=2500,
256+
currency="jpy",
253257
customer_id="cus_workflow_test",
254258
description="Workflow test payment"
255259
)
@@ -274,6 +278,7 @@ def test_multi_api_coordination(self, api_client):
274278
customer_request = CustomerCreateRequest(email="coordination@example.com")
275279
payment_request = PaymentFlowCreateRequest(
276280
amount=1500,
281+
currency="jpy",
277282
customer_id="cus_coordination_test"
278283
)
279284

tests/test_simple_functionality.py

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -117,13 +117,14 @@ def test_customer_create_request_with_description(self):
117117

118118
def test_payment_flow_create_request_basic(self):
119119
"""Test basic payment flow creation request."""
120-
request = PaymentFlowCreateRequest(amount=1000)
120+
request = PaymentFlowCreateRequest(amount=1000, currency="jpy")
121121
assert request.amount == 1000
122122

123123
def test_payment_flow_create_request_with_customer(self):
124124
"""Test payment flow creation request with customer."""
125125
request = PaymentFlowCreateRequest(
126126
amount=1000,
127+
currency="jpy",
127128
customer_id="cus_test123"
128129
)
129130
assert request.amount == 1000
@@ -133,6 +134,7 @@ def test_payment_flow_create_request_with_options(self):
133134
"""Test payment flow creation request with various options."""
134135
request = PaymentFlowCreateRequest(
135136
amount=1500,
137+
currency="jpy",
136138
customer_id="cus_test123",
137139
description="Test payment for SDK",
138140
confirm=True
@@ -162,14 +164,14 @@ def test_customer_request_to_json(self):
162164

163165
def test_payment_flow_request_to_string(self):
164166
"""Test payment flow request string representation."""
165-
request = PaymentFlowCreateRequest(amount=1000)
167+
request = PaymentFlowCreateRequest(amount=1000, currency="jpy")
166168
str_repr = request.to_str()
167169
assert isinstance(str_repr, str)
168170
assert "1000" in str_repr
169171

170172
def test_payment_flow_request_to_json(self):
171173
"""Test payment flow request JSON serialization."""
172-
request = PaymentFlowCreateRequest(amount=1000)
174+
request = PaymentFlowCreateRequest(amount=1000, currency="jpy")
173175
json_str = request.to_json()
174176
assert isinstance(json_str, str)
175177
assert "1000" in json_str

uv.lock

Lines changed: 2 additions & 2 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)