from django.test import TestCase from django.urls import reverse from django.contrib.auth import get_user_model from wepynaire.tips.models import Category, Tip User = get_user_model() class TestTipsHomeView(TestCase): def setUp(self): self.python_category = Category.objects.create(name="My first tip") self.author = User.objects.create_user(username="testuser", password="mySuperPassword.77") self.tips = [ Tip.objects.create( title="Mon premier tip de test", author=self.author, image="tips/images/astuce-decimal.png", ) ] def test_view_returns_ok(self): """ Vérifie que l'appel à home retourne du 200 """ # 1. Setup du test # 2. Appel de la fonction à tester response = self.client.get(reverse('home')) # 3. Vérification de la répponse self.assertEqual(response.status_code, 200) def test_view_renders_home_template(self): """ Vérifie que l'appel à home retourne le template home/template """ # 1. Setup du test # 2. Appel de la fonction à tester response = self.client.get(reverse('home')) # 3. Vérification de la répponse self.assertTemplateUsed("tips/home.html") def test_home_view_has_four_tips_in_context(self): # 1. Setup du test # 2. Appel de la fonction à tester response = self.client.get(reverse('home')) # 3. Vérification de la répponse self.assertIn("tips", response.context) self.assertEqual(len(response.context["tips"]), 1) class TestTipsDetailView(TestCase): ...