from django.test import TestCase from django.urls import reverse from .models import Article, Topic class NewsroomFlowTests(TestCase): def setUp(self): self.topic = Topic.objects.create(name='Artificial Intelligence', slug='artificial-intelligence', accent_color='#00c2a8') def test_home_page_renders(self): response = self.client.get(reverse('home')) self.assertEqual(response.status_code, 200) self.assertContains(response, 'Signal') def test_submit_flow_creates_original_article(self): response = self.client.post( reverse('article_submit'), { 'title': 'Why startup teams need faster AI evaluation loops', 'topic': self.topic.pk, 'author_name': 'Editorial Desk', 'excerpt': 'A crisp summary explaining why the speed of model testing is now a product advantage.', 'content': 'This is a long enough editorial body to satisfy validation. ' * 4, 'is_featured': 'on', }, follow=True, ) self.assertEqual(response.status_code, 200) article = Article.objects.get(title='Why startup teams need faster AI evaluation loops') self.assertContains(response, 'Your story is now live.') self.assertEqual(article.article_kind, Article.ArticleKind.ORIGINAL)