diff --git a/SciPost_v1/settings.py b/SciPost_v1/settings.py index 3989f5c1e1d3508141df74283c6046ff7ad46e3a..39653937b45dd4be739df580cf5ae639aedc2727 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 0000000000000000000000000000000000000000..1989401d8ccefa0ea02f58f18e4cada6fad5ebf5 --- /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())