mirror of
https://github.com/ihabunek/toot.git
synced 2024-09-22 04:25:55 -04:00
Add test for scheduled statuses
This commit is contained in:
parent
d76a2ee967
commit
6ae2ed623a
@ -20,6 +20,7 @@ import re
|
|||||||
import time
|
import time
|
||||||
import uuid
|
import uuid
|
||||||
|
|
||||||
|
from datetime import datetime, timedelta, timezone
|
||||||
from os import path
|
from os import path
|
||||||
from toot import CLIENT_NAME, CLIENT_WEBSITE, api, App, User
|
from toot import CLIENT_NAME, CLIENT_WEBSITE, api, App, User
|
||||||
from toot.console import run_command
|
from toot.console import run_command
|
||||||
@ -145,6 +146,17 @@ def test_post_visibility(app, user, run):
|
|||||||
assert status["visibility"] == visibility
|
assert status["visibility"] == visibility
|
||||||
|
|
||||||
|
|
||||||
|
def test_post_scheduled(app, user, run):
|
||||||
|
scheduled_at = datetime.now(timezone.utc).replace(microsecond=0) + timedelta(minutes=10)
|
||||||
|
|
||||||
|
out = run("post", "foo", "--scheduled-at", scheduled_at.isoformat())
|
||||||
|
assert "Toot scheduled for" in out
|
||||||
|
|
||||||
|
[status] = api.scheduled_statuses(app, user)
|
||||||
|
assert status["params"]["text"] == "foo"
|
||||||
|
assert datetime.strptime(status["scheduled_at"], "%Y-%m-%dT%H:%M:%S.%f%z") == scheduled_at
|
||||||
|
|
||||||
|
|
||||||
def test_media_attachments(app, user, run):
|
def test_media_attachments(app, user, run):
|
||||||
assets_dir = path.realpath(path.join(path.dirname(__file__), "assets"))
|
assets_dir = path.realpath(path.join(path.dirname(__file__), "assets"))
|
||||||
|
|
||||||
|
@ -161,6 +161,14 @@ def fetch_status(app, user, id):
|
|||||||
return http.get(app, user, f"/api/v1/statuses/{id}").json()
|
return http.get(app, user, f"/api/v1/statuses/{id}").json()
|
||||||
|
|
||||||
|
|
||||||
|
def scheduled_statuses(app, user):
|
||||||
|
"""
|
||||||
|
List scheduled statuses
|
||||||
|
https://docs.joinmastodon.org/methods/scheduled_statuses/#get
|
||||||
|
"""
|
||||||
|
return http.get(app, user, "/api/v1/scheduled_statuses").json()
|
||||||
|
|
||||||
|
|
||||||
def delete_status(app, user, status_id):
|
def delete_status(app, user, status_id):
|
||||||
"""
|
"""
|
||||||
Deletes a status with given ID.
|
Deletes a status with given ID.
|
||||||
|
Loading…
Reference in New Issue
Block a user