SciPost Code Repository

Skip to content
Snippets Groups Projects
Commit c5c63603 authored by Geert Kapteijns's avatar Geert Kapteijns
Browse files

Add additional fields SubmissionFactory

parent 1b10a085
No related branches found
No related tags found
No related merge requests found
...@@ -105,8 +105,8 @@ CAPTCHA_NOISE_FUNCTIONS = ('captcha.helpers.noise_dots',) ...@@ -105,8 +105,8 @@ CAPTCHA_NOISE_FUNCTIONS = ('captcha.helpers.noise_dots',)
SHELL_PLUS_POST_IMPORTS = ( SHELL_PLUS_POST_IMPORTS = (
('theses.factories', ('ThesisLinkFactory')), ('theses.factories', ('ThesisLinkFactory')),
('comments.factories', 'CommentFactory'), ('comments.factories', ('CommentFactory')),
('submissions.factories', 'SubmissionFactory'), ('submissions.factories', ('SubmissionFactory', 'EICassignedSubmissionFactory')),
) )
MATHJAX_ENABLED = True MATHJAX_ENABLED = True
......
# -*- coding: utf-8 -*-
# Generated by Django 1.10.3 on 2017-02-19 09:06
from __future__ import unicode_literals
import comments.behaviors
from django.db import migrations, models
import django.db.models.deletion
class Migration(migrations.Migration):
dependencies = [
('comments', '0009_auto_20170212_2025'),
]
operations = [
migrations.AlterField(
model_name='comment',
name='author',
field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='scipost.Contributor'),
),
migrations.AlterField(
model_name='comment',
name='file_attachment',
field=models.FileField(blank=True, upload_to='uploads/comments/%Y/%m/%d/', validators=[comments.behaviors.validate_file_extension, comments.behaviors.validate_max_file_size]),
),
]
import factory import factory
import random
import string
from scipost.factories import ContributorFactory from scipost.factories import ContributorFactory
...@@ -9,17 +11,28 @@ class SubmissionFactory(factory.django.DjangoModelFactory): ...@@ -9,17 +11,28 @@ class SubmissionFactory(factory.django.DjangoModelFactory):
class Meta: class Meta:
model = Submission model = Submission
author_list = factory.Faker('name')
submitted_by = factory.SubFactory(ContributorFactory) submitted_by = factory.SubFactory(ContributorFactory)
submitted_to_journal = 'SciPost Physics' submitted_to_journal = 'SciPost Physics'
title = factory.Faker('bs') title = factory.Faker('bs')
abstract = factory.Faker('text') abstract = factory.Faker('text')
arxiv_link = factory.Faker('uri') arxiv_link = factory.Faker('uri')
arxiv_identifier_w_vn_nr = factory.Sequence(lambda n: random_arxiv_identifier_with_version_number())
arxiv_identifier_wo_vn_nr = factory.LazyAttribute(lambda obj: obj.arxiv_identifier_w_vn_nr[0:-2])
domain = 'E'
@factory.post_generation class EICassignedSubmissionFactory(SubmissionFactory):
def authors(self, create, extracted, **kwargs): status = 'EICassigned'
# Add a single author if factory is invoked with strategy 'create' editor_in_charge = factory.SubFactory(ContributorFactory)
if not create:
return
else:
self.authors.add(ContributorFactory()) def random_arxiv_identifier_with_version_number():
return random_arxiv_identifier_without_version_number() + "v0"
def random_arxiv_identifier_without_version_number():
return random_digits(4) + "." + random_digits(5)
def random_digits(n):
return "".join(random.choice(string.digits) for _ in range(n))
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment