1
0
mirror of https://github.com/ihabunek/toot.git synced 2024-09-29 04:35:54 -04:00
toot/tests/integration/test_status.py

90 lines
2.3 KiB
Python
Raw Normal View History

2023-03-30 04:56:03 -04:00
import time
import pytest
from toot import api
from toot.exceptions import NotFoundError
def test_delete_status(app, user, run):
2023-11-21 06:19:07 -05:00
status = api.post_status(app, user, "foo").json()
2023-03-30 04:56:03 -04:00
out = run("delete", status["id"])
assert out == "✓ Status deleted"
with pytest.raises(NotFoundError):
api.fetch_status(app, user, status["id"])
def test_favourite(app, user, run):
2023-11-21 06:19:07 -05:00
status = api.post_status(app, user, "foo").json()
2023-03-30 04:56:03 -04:00
assert not status["favourited"]
out = run("favourite", status["id"])
assert out == "✓ Status favourited"
status = api.fetch_status(app, user, status["id"])
assert status["favourited"]
out = run("unfavourite", status["id"])
assert out == "✓ Status unfavourited"
# A short delay is required before the server returns new data
time.sleep(0.1)
status = api.fetch_status(app, user, status["id"])
assert not status["favourited"]
def test_reblog(app, user, run):
2023-11-21 06:19:07 -05:00
status = api.post_status(app, user, "foo").json()
2023-03-30 04:56:03 -04:00
assert not status["reblogged"]
out = run("reblog", status["id"])
assert out == "✓ Status reblogged"
status = api.fetch_status(app, user, status["id"])
assert status["reblogged"]
out = run("reblogged_by", status["id"])
2023-03-30 06:09:38 -04:00
assert user.username in out
2023-03-30 04:56:03 -04:00
out = run("unreblog", status["id"])
assert out == "✓ Status unreblogged"
status = api.fetch_status(app, user, status["id"])
assert not status["reblogged"]
def test_pin(app, user, run):
2023-11-21 06:19:07 -05:00
status = api.post_status(app, user, "foo").json()
2023-03-30 04:56:03 -04:00
assert not status["pinned"]
out = run("pin", status["id"])
assert out == "✓ Status pinned"
status = api.fetch_status(app, user, status["id"])
assert status["pinned"]
out = run("unpin", status["id"])
assert out == "✓ Status unpinned"
status = api.fetch_status(app, user, status["id"])
assert not status["pinned"]
def test_bookmark(app, user, run):
2023-11-21 06:19:07 -05:00
status = api.post_status(app, user, "foo").json()
2023-03-30 04:56:03 -04:00
assert not status["bookmarked"]
out = run("bookmark", status["id"])
assert out == "✓ Status bookmarked"
status = api.fetch_status(app, user, status["id"])
assert status["bookmarked"]
out = run("unbookmark", status["id"])
assert out == "✓ Status unbookmarked"
status = api.fetch_status(app, user, status["id"])
assert not status["bookmarked"]