Skip to content

Commit

Permalink
test: Test DateRangePaginator (#3)
Browse files Browse the repository at this point in the history
  • Loading branch information
edgarrmondragon authored Jul 11, 2024
1 parent a9b4b11 commit 4171a3c
Showing 1 changed file with 31 additions and 0 deletions.
31 changes: 31 additions & 0 deletions tests/test_core.py
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@

from singer_sdk.testing import SuiteConfig, get_tap_test_class

from tap_nasa.client import DateRange, DateRangePaginator
from tap_nasa.tap import TapNASA


Expand All @@ -26,3 +27,33 @@ def today() -> datetime.date: # noqa: D103
max_records_limit=10,
),
)


def test_date_range_pagination() -> None:
"""Test date range pagination."""
start_date = datetime.date(2021, 1, 1)
interval = datetime.timedelta(days=10)
max_date = datetime.date(2021, 1, 25)

response = object()

paginator = DateRangePaginator(
start_value=DateRange(
start=start_date,
interval=interval,
max_date=max_date,
)
)
assert paginator.current_value.start == datetime.date(2021, 1, 1)
assert paginator.current_value.end_date == datetime.date(2021, 1, 11)

paginator.advance(response)
assert paginator.current_value.start == datetime.date(2021, 1, 12)
assert paginator.current_value.end_date == datetime.date(2021, 1, 22)

paginator.advance(response)
assert paginator.current_value.start == datetime.date(2021, 1, 23)
assert paginator.current_value.end_date == datetime.date(2021, 1, 25)

paginator.advance(response)
assert paginator.finished

0 comments on commit 4171a3c

Please sign in to comment.