Coverage for books/tests/test_views.py: 100.00%

21 statements  

« prev     ^ index     » next       coverage.py v7.9.1, created at 2025-06-14 19:27 -0700

1from django.test import TestCase 

2from django.urls import reverse 

3 

4from ..models import Book 

5 

6 

7class BookTests(TestCase): 

8 @classmethod 

9 def setUpTestData(cls): 

10 cls.book = Book.objects.create( 

11 title="Code Complete", 

12 subtitle="A handbook of software construction", 

13 author="Steve McConnell", 

14 pages="952", 

15 publisher="Microsoft Press", 

16 pubdate="2004-03-29", 

17 price="65.72", 

18 isbn="0735619670", 

19 ) 

20 

21 def test_book_content(self): 

22 self.assertEqual(self.book.title, "Code Complete") 1b

23 self.assertEqual(self.book.subtitle, "A handbook of software construction") 1b

24 self.assertEqual(self.book.author, "Steve McConnell") 1b

25 self.assertEqual(self.book.pages, "952") 1b

26 self.assertEqual(self.book.publisher, "Microsoft Press") 1b

27 self.assertEqual(self.book.pubdate, "2004-03-29") 1b

28 self.assertEqual(self.book.price, "65.72") 1b

29 self.assertEqual(self.book.isbn, "0735619670") 1b

30 

31 def test_book_listview(self): 

32 response = self.client.get(reverse("booklist")) 1c

33 self.assertEqual(response.status_code, 200) 1c

34 self.assertContains(response, "A handbook of software construction") 1c

35 self.assertTemplateUsed(response, "books/book_list.html") 1c