def test_no_tags(self): form = DummyModelForm(self.user, data=self.data) instance = form.save() TaggedItem.objects.all().delete() form = DummyModelForm(instance=instance, data=self.data) self.assertTrue(form.is_valid())
def test_form_should_be_valid_when_instance_given(self): """ When instantiated with an instance, the form should, of course, be valid. """ form = DummyModelForm(self.user, data=self.data) instance = form.save() form = DummyModelForm(self.user, data=self.data, instance=instance) self.assertTrue(form.is_valid())
def test_get_user_from_instance(self): """ If form was not instanciated with user parameter, it will try to get the user from the instance. """ form = DummyModelForm(self.user, data=self.data) instance = form.save() instance.user = self.user form = DummyModelForm(instance=instance, data=self.data) self.assertTrue(form.is_valid()) self.assertTrue(form.save())
def test_no_user_given(self): """ If form was not instanciated with user parameter and instance has no user attribute and not get_user method, so be it. This tag is probably supposed to be global to the project. """ form = DummyModelForm(self.user, data=self.data) instance = form.save() form = DummyModelForm(instance=instance, data=self.data) self.assertTrue(form.is_valid()) self.assertTrue(form.save())
def test_get_user_method(self): """ If form was not instantiated with suer parameter and the instance does not have a user field, it will try to call a ``get_user`` method on the form. """ form = DummyModelForm(self.user, data=self.data) instance = form.save() form = DummyModelForm(instance=instance, data=self.data) def get_user(): return self.user form.get_user = get_user self.assertTrue(form.is_valid()) self.assertTrue(form.save())
def test_form_valid(self): """Form should be valid when valid data is given.""" form = DummyModelForm(self.user, data=self.data) self.assertTrue(form.is_valid())