diff --git a/setra_client/client.py b/setra_client/client.py index 9e9f0303bda2da50fbfb92bd21d46face83167f9..5f2c42707adc86247db058d9d946a693377e70ad 100644 --- a/setra_client/client.py +++ b/setra_client/client.py @@ -181,16 +181,27 @@ class SetraClient(object): return data return cls.from_dict(data) - def get_batch(self, batch_id: int = None): + def get_batch(self, + batch_id: int = None, + min_created_date: str = None, + max_created_date: str = None, + batch_progress: str = None, + interface: str = None): """ GETs one or all batches from SETRA """ + params = None if batch_id is not None: batch_id = str(batch_id) + else: + params = {'min_created_date': min_created_date, + 'max_created_date': max_created_date, + 'batch_progress': batch_progress, + 'interface': interface} url = self.urls.batch(batch_id) - response = self.get(url) + response = self.get(url, params=params) return response.json() def get_voucher(self, vouch_id: int = None): diff --git a/tests/test_client.py b/tests/test_client.py index 74a66d643a73d97a2109ecc7e1fd68e51af3ea83..498835118a1cc19ccda13cbbd4af0e4c12d4b2f3 100644 --- a/tests/test_client.py +++ b/tests/test_client.py @@ -190,6 +190,15 @@ def test_successful_get_all_batches(client, requests_mock, baseurl): assert response == {'foo': 'bar'} +def test_successful_get_batches_foltered_by_status(client, requests_mock, baseurl): + """A working GET call should return HTTP 200, with json content""" + url = SetraEndpoints(baseurl).batch() + requests_mock.get(url, json={'foo': 'bar'}, status_code=200) + + response = client.get_batch(batch_progress="ubw_import_ok") + assert response == {'foo': 'bar'} + + def test_successfully_getting_single_batch(client, requests_mock, baseurl): """A working GET call should return HTTP 200, with json content""" url = SetraEndpoints(baseurl).batch(batch_id='3')