import pytest from django.test import Client from django.urls import reverse from model_bakery import baker from articles.models import Article, Page, User from articles.views.feeds import CompleteFeed @pytest.mark.django_db def test_can_access_feed(client: Client, published_article): res = client.get(reverse("complete-feed")) assert res.status_code == 200 assert "application/rss+xml" in res["content-type"] content = res.content.decode("utf-8") assert published_article.title in content @pytest.mark.django_db def test_feed_limits_number_of_articles(client: Client, author: User): baker.make(Article, 100, status=Article.PUBLISHED, author=author) res = client.get(reverse("complete-feed")) content = res.content.decode("utf-8") assert content.count("") == CompleteFeed.FEED_LIMIT @pytest.mark.django_db def test_page_not_rendered_in_feed(client: Client, published_page: Page): res = client.get(reverse("complete-feed")) assert res.status_code == 200 content = res.content.decode("utf-8") assert published_page.title not in content