From c6be1a25ac833075d16f36c5089088e254d70c11 Mon Sep 17 00:00:00 2001
From: Geert Kapteijns <ghkapteijns@gmail.com>
Date: Sun, 19 Feb 2017 09:53:01 +0100
Subject: [PATCH] Add SubmissionFactory

---
 SciPost_v1/settings.py   |  1 +
 submissions/factories.py | 25 +++++++++++++++++++++++++
 2 files changed, 26 insertions(+)
 create mode 100644 submissions/factories.py

diff --git a/SciPost_v1/settings.py b/SciPost_v1/settings.py
index 3989f5c1e..39653937b 100644
--- a/SciPost_v1/settings.py
+++ b/SciPost_v1/settings.py
@@ -105,6 +105,7 @@ CAPTCHA_NOISE_FUNCTIONS = ('captcha.helpers.noise_dots',)
 SHELL_PLUS_POST_IMPORTS = (
     ('theses.factories', ('ThesisLinkFactory')),
     ('comments.factories', 'CommentFactory'),
+    ('submissions.factories', 'SubmissionFactory'),
 )
 
 MATHJAX_ENABLED = True
diff --git a/submissions/factories.py b/submissions/factories.py
new file mode 100644
index 000000000..1989401d8
--- /dev/null
+++ b/submissions/factories.py
@@ -0,0 +1,25 @@
+import factory
+
+from scipost.factories import ContributorFactory
+
+from .models import Submission
+
+
+class SubmissionFactory(factory.django.DjangoModelFactory):
+    class Meta:
+        model = Submission
+
+    submitted_by = factory.SubFactory(ContributorFactory)
+    submitted_to_journal = 'SciPost Physics'
+    title = factory.Faker('bs')
+    abstract = factory.Faker('text')
+    arxiv_link = factory.Faker('uri')
+
+
+    @factory.post_generation
+    def authors(self, create, extracted, **kwargs):
+        # Add a single author if factory is invoked with strategy 'create'
+        if not create:
+            return
+        else:
+            self.authors.add(ContributorFactory())
-- 
GitLab