diff options
Diffstat (limited to 'tests/test_pagination.py')
-rw-r--r-- | tests/test_pagination.py | 34 |
1 files changed, 34 insertions, 0 deletions
diff --git a/tests/test_pagination.py b/tests/test_pagination.py new file mode 100644 index 0000000..5b59143 --- /dev/null +++ b/tests/test_pagination.py | |||
@@ -0,0 +1,34 @@ | |||
1 | import pytest | ||
2 | from contextlib import contextmanager | ||
3 | |||
4 | |||
5 | @contextmanager | ||
6 | def many_statuses(api, n=10, suffix=''): | ||
7 | statuses = list() | ||
8 | for i in range(n): | ||
9 | status = api.status_post("Toot number {}!{}".format(i, suffix)) | ||
10 | statuses.append(status) | ||
11 | yield statuses | ||
12 | for status in statuses: | ||
13 | api.status_delete(status['id']) | ||
14 | |||
15 | |||
16 | @pytest.mark.vcr() | ||
17 | def test_fetch_next_previous(api): | ||
18 | account = api.account_verify_credentials() | ||
19 | with many_statuses(api): | ||
20 | statuses = api.account_statuses(account['id'], limit=5) | ||
21 | next_statuses = api.fetch_next(statuses) | ||
22 | assert next_statuses | ||
23 | previous_statuses = api.fetch_previous(next_statuses) | ||
24 | assert previous_statuses | ||
25 | |||
26 | |||
27 | @pytest.mark.vcr() | ||
28 | def test_fetch_remaining(api): | ||
29 | UNLIKELY_HASHTAG = "fgiztsshwiaqqiztpmmjbtvmescsculuvmgjgopwoeidbcrixp" | ||
30 | with many_statuses(api, n=30, suffix=' #'+UNLIKELY_HASHTAG): | ||
31 | hashtag = api.timeline_hashtag(UNLIKELY_HASHTAG, limit=10) | ||
32 | hashtag_remaining = api.fetch_remaining(hashtag) | ||
33 | assert hashtag_remaining | ||
34 | assert len(hashtag_remaining) >= 30 | ||