From e98b033646b0d9d7851d2a0e736ff6f1b60b0ef8 Mon Sep 17 00:00:00 2001 From: Aljoscha Rittner Date: Fri, 24 Jun 2022 17:23:00 +0200 Subject: Preserves storage of pagination in items for compatibility reason fixes #232 --- tests/test_pagination.py | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) (limited to 'tests/test_pagination.py') diff --git a/tests/test_pagination.py b/tests/test_pagination.py index 8a85ccb..9f26140 100644 --- a/tests/test_pagination.py +++ b/tests/test_pagination.py @@ -44,6 +44,17 @@ def test_fetch_next_previous_from_pagination_info(api): previous_statuses = api.fetch_previous(next_statuses._pagination_prev) assert previous_statuses +@pytest.mark.vcr() +def test_fetch_next_previous_from_pagination_info_oldstyle(api): + # Old style compatibility mode. The storage in the list items is not anymore internally used. + account = api.account_verify_credentials() + with many_statuses(api): + statuses = api.account_statuses(account['id'], limit=5) + next_statuses = api.fetch_next(statuses[-1]._pagination_next) + assert next_statuses + previous_statuses = api.fetch_previous(next_statuses[0]._pagination_prev) + assert previous_statuses + def test_fetch_next_previous_old_pagination(api): with vcr.use_cassette('test_fetch_next_previous.yaml', cassette_library_dir='tests/cassettes_old_pagination', record_mode='none'): account = api.account_verify_credentials() @@ -66,6 +77,17 @@ def test_fetch_next_previous_from_pagination_info_old_pagination(api): previous_statuses = api.fetch_previous(next_statuses._pagination_prev) assert previous_statuses + # Old style compatibility mode. The storage in the list items is not anymore internally used. + with vcr.use_cassette('test_fetch_next_previous_from_pagination_info.yaml', cassette_library_dir='tests/cassettes_old_pagination', record_mode='none'): + account = api.account_verify_credentials() + + with many_statuses(api): + statuses = api.account_statuses(account['id'], limit=5) + next_statuses = api.fetch_next(statuses[-1]._pagination_next) + assert next_statuses + previous_statuses = api.fetch_previous(next_statuses[0]._pagination_prev) + assert previous_statuses + @pytest.mark.vcr() def test_fetch_remaining(api): with many_statuses(api, n=30, suffix=' #'+UNLIKELY_HASHTAG): @@ -88,3 +110,7 @@ def test_link_headers(api): resp = api.timeline_hashtag(UNLIKELY_HASHTAG) assert resp._pagination_next['max_id'] == _id assert resp._pagination_prev['since_id'] == _id + + # Old style compatibility mode. The storage in the list items is not anymore internally used. + assert resp[0]._pagination_next['max_id'] == _id + assert resp[0]._pagination_prev['since_id'] == _id \ No newline at end of file -- cgit v1.2.3