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
« prev ^ index » next coverage.py v7.4.4, created at 2024-06-29 10:02 +0100
1from django.test import TestCase
3from author.models import Author
4from book.forms import BookForm
5from book.models import Book
8class BookFormTest(TestCase):
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")
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")
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")
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")