summaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
authorRaphaël Barrois <raphael.barrois@polyconseil.fr>2015-03-27 17:00:32 +0100
committerRaphaël Barrois <raphael.barrois@polyconseil.fr>2015-03-27 17:46:02 +0100
commit5363951bb62ca90d971bf036851dea564204ed2e (patch)
tree7180115c88a632f9dcfc36ca0846caedbc3ec952 /tests
parentbdc1b815cfdf3028379c6c3f18c9c47ee8298a70 (diff)
downloadfactory-boy-5363951bb62ca90d971bf036851dea564204ed2e.tar
factory-boy-5363951bb62ca90d971bf036851dea564204ed2e.tar.gz
Support declarations in FileField/ImageField.
Previously, the declarations (``factory.Sequence`` & co) weren't properly computed.
Diffstat (limited to 'tests')
-rw-r--r--tests/djapp/models.py1
-rw-r--r--tests/test_django.py11
2 files changed, 12 insertions, 0 deletions
diff --git a/tests/djapp/models.py b/tests/djapp/models.py
index 96ee5cf..1c1fd8e 100644
--- a/tests/djapp/models.py
+++ b/tests/djapp/models.py
@@ -79,6 +79,7 @@ if Image is not None: # PIL is available
class WithImage(models.Model):
animage = models.ImageField(upload_to=WITHFILE_UPLOAD_TO)
+ size = models.IntegerField(default=0)
else:
class WithImage(models.Model):
diff --git a/tests/test_django.py b/tests/test_django.py
index 9ac8f5c..ac52769 100644
--- a/tests/test_django.py
+++ b/tests/test_django.py
@@ -497,6 +497,17 @@ class DjangoImageFieldTestCase(unittest.TestCase):
self.assertEqual(100, o.animage.height)
self.assertEqual('django/example.jpg', o.animage.name)
+ def test_complex_create(self):
+ o = WithImageFactory.create(
+ size=10,
+ animage__filename=factory.Sequence(lambda n: 'img%d.jpg' % n),
+ __sequence=42,
+ animage__width=factory.SelfAttribute('..size'),
+ animage__height=factory.SelfAttribute('width'),
+ )
+ self.assertIsNotNone(o.pk)
+ self.assertEqual('django/img42.jpg', o.animage.name)
+
def test_with_content(self):
o = WithImageFactory.build(animage__width=13, animage__color='red')
self.assertIsNone(o.pk)