def test_lease_creation_form_no_data(self):
     """
     If no data is sent, form is invalid.
     """
     form = LeaseCreationForm(data={})
     self.assertFalse(form.is_valid())
     self.assertEqual(len(form.errors), 3)
 def test_lease_creation_form_no_expire_date(self):
     """
     If student does not exist, form is invalid.
     """
     form = LeaseCreationForm(data={
         'student': self.student_user.id,
         'book': '9780000000002'
     })
     self.assertFalse(form.is_valid())
 def test_lease_creation_form_no_book(self):
     """
     If no book is sent, form is invalid.
     """
     form = LeaseCreationForm(
         data={
             'student':
             self.student_user.id,
             'expire_date':
             str((timezone.now() + timezone.timedelta(days=30)).date())
         })
     self.assertFalse(form.is_valid())
 def test_lease_creation_form_no_student(self):
     """
     If no student is sent, form is invalid.
     """
     form = LeaseCreationForm(
         data={
             'book':
             '9780000000002',
             'expire_date':
             str((timezone.now() + timezone.timedelta(days=30)).date())
         })
     self.assertFalse(form.is_valid())
 def test_lease_creation_form_expire_date_in_past(self):
     """
     If student does not exist, form is invalid.
     """
     form = LeaseCreationForm(
         data={
             'student':
             self.student_user.id,
             'book':
             '9780000000002',
             'expire_date':
             str((timezone.now() - timezone.timedelta(days=30)).date())
         })
     self.assertFalse(form.is_valid())
 def test_lease_creation_form_valid_data(self):
     """
     If valid data is sent, form is valid.
     """
     form = LeaseCreationForm(
         data={
             'student':
             self.student_user.id,
             'book':
             '9780000000002',
             'expire_date':
             str((timezone.now() + timezone.timedelta(days=30)).date())
         })
     self.assertTrue(form.is_valid())
    def test_lease_creation_form_unavailable_book(self):
        """
        If book is unavailable, form is invalid.
        """
        create_student_lease('9780000000002')

        form = LeaseCreationForm(
            data={
                'student':
                self.student_user.id,
                'book':
                '9780000000002',
                'expire_date':
                str((timezone.now() + timezone.timedelta(days=30)).date())
            })
        self.assertFalse(form.is_valid())