Skip to content

Commit cb584a1

Browse files
Merge pull request #336 from mollie/335-bank-reference-format
Allow a longer bank reference
2 parents 29e5e30 + 1b1d892 commit cb584a1

File tree

4 files changed

+19
-9
lines changed

4 files changed

+19
-9
lines changed

.github/workflows/tests.yaml

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,17 +2,18 @@ name: Run tests
22

33
on:
44
push:
5-
workflow_call:
5+
branches: [ "master" ]
66
pull_request:
77
branches: [ "master" ]
8+
workflow_call:
89

910
jobs:
1011
tests:
1112
name: Run all tests
1213
runs-on: ubuntu-latest
1314
strategy:
1415
matrix:
15-
python_version: ["3.8", "3.9", "3.10", "3.11", "3.12-dev", "pypy-3.9", "pypy-3.10"]
16+
python_version: ["3.8", "3.9", "3.10", "3.11", "3.12", "pypy-3.9", "pypy-3.10"]
1617
steps:
1718
- name: Checkout code
1819
uses: actions/checkout@v3

mollie/api/resources/balances.py

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,6 @@ def get(self, resource_id: str, **params: Any) -> Balance:
4242

4343

4444
class BalanceReports(ResourceBase):
45-
4645
_balance: "Balance"
4746

4847
def __init__(self, client: "Client", balance: "Balance") -> None:

mollie/api/resources/settlements.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,11 +11,11 @@ class Settlements(ResourceGetMixin, ResourceListMixin):
1111
RESOURCE_ID_PREFIX: str = "stl_"
1212

1313
# According to Mollie, the bank reference is formatted as:
14-
# - The Mollie customer ID, 4 to 7 digits.
14+
# - The Mollie merchant ID, 4 to 8 digits, might grow when the number of merchants increases
1515
# - The year and month, 4 digits
1616
# - The sequence number of the settlement in that month, 2 digits
1717
# The components are separated by a dot.
18-
BANK_REFERENCE_REGEX: Pattern[str] = re.compile(r"^\d{4,7}\.\d{4}\.\d{2}$", re.ASCII)
18+
BANK_REFERENCE_REGEX: Pattern[str] = re.compile(r"^\d{4,}\.\d{4}\.\d{2}$", re.ASCII)
1919

2020
def get_resource_object(self, result: dict) -> Settlement:
2121
return Settlement(result, self.client)

tests/test_settlements.py

Lines changed: 14 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,9 @@
1010

1111
SETTLEMENT_ID = "stl_jDk30akdN"
1212
INVOICE_ID = "inv_xBEbP9rvAq"
13-
BANK_REFERENCE = "1234567.1804.03"
13+
BANK_REFERENCE = BANK_REFERENCE_SHORT = "1234.1804.03"
14+
BANK_REFERENCE_LONG = "01234567.1804.03"
15+
BANK_REFERENCE_FUTURE = "1234567890.1804.03"
1416

1517

1618
def test_list_settlements(oauth_client, response):
@@ -62,10 +64,18 @@ def test_settlement_get_open(oauth_client, response):
6264
assert isinstance(settlement, Settlement)
6365

6466

65-
def test_get_settlement_by_bank_reference(oauth_client, response):
66-
response.get(f"https://api.mollie.com/v2/settlements/{BANK_REFERENCE}", "settlement_single")
67+
@pytest.mark.parametrize(
68+
"bank_reference",
69+
[
70+
BANK_REFERENCE_SHORT,
71+
BANK_REFERENCE_LONG,
72+
BANK_REFERENCE_FUTURE,
73+
],
74+
)
75+
def test_get_settlement_by_bank_reference(oauth_client, response, bank_reference):
76+
response.get(f"https://api.mollie.com/v2/settlements/{bank_reference}", "settlement_single")
6777

68-
settlement = oauth_client.settlements.get(BANK_REFERENCE)
78+
settlement = oauth_client.settlements.get(bank_reference)
6979
assert isinstance(settlement, Settlement)
7080

7181

0 commit comments

Comments
 (0)