diff --git a/articles/models.py b/articles/models.py index 10f8c36..1986c88 100644 --- a/articles/models.py +++ b/articles/models.py @@ -124,4 +124,7 @@ class Article(AdminUrlMixin, models.Model): self.save() def get_read_time(self): - return readtime.of_html(self.get_formatted_content).minutes + content = self.get_formatted_content + if content: + return readtime.of_html(content).minutes + return 0 diff --git a/articles/tests/conftest.py b/articles/tests/conftest.py index dae3822..2d4e033 100644 --- a/articles/tests/conftest.py +++ b/articles/tests/conftest.py @@ -10,7 +10,7 @@ from articles.models import Article, User @pytest.fixture() @pytest.mark.django_db def author() -> User: - return User.objects.create_user("gaugendre") + return User.objects.create_user("gaugendre", is_staff=True, is_superuser=True) @pytest.fixture() diff --git a/articles/tests/test_admin.py b/articles/tests/test_admin.py new file mode 100644 index 0000000..6838b9f --- /dev/null +++ b/articles/tests/test_admin.py @@ -0,0 +1,12 @@ +import pytest +from django.test import Client +from django.urls import reverse + +from articles.models import User + + +@pytest.mark.django_db +def test_can_access_add_article(client: Client, author: User): + client.force_login(author) + res = client.get(reverse("admin:articles_article_add")) + assert res.status_code == 200