Add test for scheduled statuses

This commit is contained in:
Ivan Habunek 2022-12-01 08:35:55 +01:00
parent d76a2ee967
commit 6ae2ed623a
No known key found for this signature in database
GPG Key ID: F5F0623FF5EBCB3D
2 changed files with 20 additions and 0 deletions

View File

@ -20,6 +20,7 @@ import re
import time
import uuid
from datetime import datetime, timedelta, timezone
from os import path
from toot import CLIENT_NAME, CLIENT_WEBSITE, api, App, User
from toot.console import run_command
@ -145,6 +146,17 @@ def test_post_visibility(app, user, run):
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):
assets_dir = path.realpath(path.join(path.dirname(__file__), "assets"))

View File

@ -161,6 +161,14 @@ def fetch_status(app, user, id):
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):
"""
Deletes a status with given ID.