Coverage for book\test_forms.py: 100%

17 statements  

« prev     ^ index     » next       coverage.py v7.4.4, created at 2024-06-29 10:02 +0100

1from django.test import TestCase 

2 

3from author.models import Author 

4from book.forms import BookForm 

5from book.models import Book 

6 

7 

8class BookFormTest(TestCase): 

9 

10 def test_form_is_valid(self): 

11 """ Test for all fields""" 

12 form = BookForm({'title': 'Book Title', 

13 'author': Author.objects.create(name='Author Name')}) 

14 self.assertTrue(form.is_valid(), msg="Form is not valid") 

15 

16 def test_name_is_required(self): 

17 """Test for the 'title' field""" 

18 form = BookForm({'title': '', 

19 'author': Author.objects.create(name='Author Name')}) 

20 self.assertFalse(form.is_valid(), msg="Title was not provided") 

21 

22 def test_form_meta_model(self): 

23 """Test the Meta model attribute""" 

24 form = BookForm() 

25 self.assertEqual(form.Meta.model, Book, 

26 msg="Incorrect Meta model attribute") 

27 

28 def test_form_meta_fields(self): 

29 """Test the Meta fields attribute""" 

30 form = BookForm() 

31 self.assertEqual(form.Meta.fields, ('title', 'author',), 

32 msg="Incorrect Meta fields attribute")