summaryrefslogtreecommitdiff
path: root/tests/foreign_object/test_forms.py
diff options
context:
space:
mode:
authorTim Graham <timograham@gmail.com>2015-08-12 11:10:52 -0400
committerTim Graham <timograham@gmail.com>2015-08-14 08:53:35 -0400
commit825429c1f7cb1856b23ba194a66acf9dc2cde4be (patch)
tree0d67b0f12501da65dd3195c75a9e40a2c5899618 /tests/foreign_object/test_forms.py
parent5b5a27942b2fa113df4d6eb3d77a33c85f58634f (diff)
Moved foreign_object models.py into a module.
Diffstat (limited to 'tests/foreign_object/test_forms.py')
-rw-r--r--tests/foreign_object/test_forms.py29
1 files changed, 29 insertions, 0 deletions
diff --git a/tests/foreign_object/test_forms.py b/tests/foreign_object/test_forms.py
new file mode 100644
index 0000000000..32a8fc3876
--- /dev/null
+++ b/tests/foreign_object/test_forms.py
@@ -0,0 +1,29 @@
+import datetime
+
+from django import forms
+from django.test import TestCase
+
+from .models import Article
+
+
+class FormsTests(TestCase):
+ # ForeignObjects should not have any form fields, currently the user needs
+ # to manually deal with the foreignobject relation.
+ class ArticleForm(forms.ModelForm):
+ class Meta:
+ model = Article
+ fields = '__all__'
+
+ def test_foreign_object_form(self):
+ # A very crude test checking that the non-concrete fields do not get form fields.
+ form = FormsTests.ArticleForm()
+ self.assertIn('id_pub_date', form.as_table())
+ self.assertNotIn('active_translation', form.as_table())
+ form = FormsTests.ArticleForm(data={'pub_date': str(datetime.date.today())})
+ self.assertTrue(form.is_valid())
+ a = form.save()
+ self.assertEqual(a.pub_date, datetime.date.today())
+ form = FormsTests.ArticleForm(instance=a, data={'pub_date': '2013-01-01'})
+ a2 = form.save()
+ self.assertEqual(a.pk, a2.pk)
+ self.assertEqual(a2.pub_date, datetime.date(2013, 1, 1))