takahe/tests/activities/views/test_compose.py

26 lines
842 B
Python
Raw Normal View History

2022-12-02 15:46:43 -08:00
import pytest
from django.test.client import Client
from pytest_django.asserts import assertContains
2022-12-02 15:46:43 -08:00
from users.models import Identity
2022-12-02 15:46:43 -08:00
@pytest.mark.django_db
def test_rate_limit(identity: Identity, client_with_user: Client):
"""
Tests that the posting rate limit comes into force
"""
# First post should go through
assert identity.posts.count() == 0
response = client_with_user.post(
f"/@{identity.handle}/compose/", data={"text": "post 1", "visibility": "0"}
)
assert response.status_code == 302
assert identity.posts.count() == 1
# Second should not
response = client_with_user.post(
f"/@{identity.handle}/compose/", data={"text": "post 2", "visibility": "0"}
)
assertContains(response, "You must wait at least", status_code=200)
assert identity.posts.count() == 1