Skip to content

Commit 51b1e2e

Browse files
authored
Merge pull request #3 from paddle-python/create-plan-bug
Fix create_plan initial_price check for EUR
2 parents e7e34a6 + e630b59 commit 51b1e2e

2 files changed

Lines changed: 39 additions & 6 deletions

File tree

paddle/_plans.py

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -62,15 +62,15 @@ def create_plan(
6262
if main_currency_code == 'USD' and initial_price_usd is None:
6363
raise ValueError('main_currency_code is USD so initial_price_usd must be set') # NOQA: E501
6464
if main_currency_code == 'GBP' and initial_price_gbp is None:
65-
raise ValueError('main_currency_code is USD so initial_price_gbp must be set') # NOQA: E501
66-
if main_currency_code == 'USD' and initial_price_eur is None:
67-
raise ValueError('main_currency_code is USD so initial_price_eur must be set') # NOQA: E501
65+
raise ValueError('main_currency_code is GBP so initial_price_gbp must be set') # NOQA: E501
66+
if main_currency_code == 'EUR' and initial_price_eur is None:
67+
raise ValueError('main_currency_code is EUR so initial_price_eur must be set') # NOQA: E501
6868
if main_currency_code == 'USD' and recurring_price_usd is None:
6969
raise ValueError('main_currency_code is USD so recurring_price_usd must be set') # NOQA: E501
7070
if main_currency_code == 'GBP' and recurring_price_gbp is None:
71-
raise ValueError('main_currency_code is USD so recurring_price_gbp must be set') # NOQA: E501
72-
if main_currency_code == 'USD' and recurring_price_eur is None:
73-
raise ValueError('main_currency_code is USD so recurring_price_eur must be set') # NOQA: E501
71+
raise ValueError('main_currency_code is GBP so recurring_price_gbp must be set') # NOQA: E501
72+
if main_currency_code == 'EUR' and recurring_price_eur is None:
73+
raise ValueError('main_currency_code is EUR so recurring_price_eur must be set') # NOQA: E501
7474

7575
json = {
7676
'plan_name': plan_name,

tests/test_plans.py

Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -148,3 +148,36 @@ def test_create_plan_mock(mocker, paddle_client): # NOQA: F811
148148
json=json,
149149
method=method,
150150
)
151+
152+
153+
@pytest.mark.parametrize(
154+
'currency,missing_field',
155+
[
156+
('USD', 'initial_price_usd'),
157+
('USD', 'recurring_price_usd'),
158+
('GBP', 'initial_price_gbp'),
159+
('GBP', 'recurring_price_gbp'),
160+
('EUR', 'initial_price_eur'),
161+
('EUR', 'recurring_price_eur'),
162+
]
163+
)
164+
def test_create_plan_missing_price(paddle_client, currency, missing_field): # NOQA: F811, E501
165+
plan = {
166+
'plan_name': 'test_create_plan_mmissing_usd_initial',
167+
'plan_trial_days': 999,
168+
'plan_length': 999,
169+
'plan_type': 'year',
170+
'main_currency_code': currency,
171+
'initial_price_usd': 0.0,
172+
'initial_price_gbp': 0.0,
173+
'initial_price_eur': 0.0,
174+
'recurring_price_usd': 0.0,
175+
'recurring_price_gbp': 0.0,
176+
'recurring_price_eur': 0.0,
177+
}
178+
del plan[missing_field]
179+
with pytest.raises(ValueError) as error:
180+
paddle_client.create_plan(**plan)
181+
182+
message = r'main_currency_code is {0} so {1} must be set'
183+
error.match(message.format(currency, missing_field))

0 commit comments

Comments
 (0)