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',)
SHELL_PLUS_POST_IMPORTS = (
('theses.factories', ('ThesisLinkFactory')),
('comments.factories', 'CommentFactory'),
('submissions.factories', 'SubmissionFactory'),
('comments.factories', ('CommentFactory')),
('submissions.factories', ('SubmissionFactory', 'EICassignedSubmissionFactory')),
)
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 random
import string
from scipost.factories import ContributorFactory
......@@ -9,17 +11,28 @@ class SubmissionFactory(factory.django.DjangoModelFactory):
class Meta:
model = Submission
author_list = factory.Faker('name')
submitted_by = factory.SubFactory(ContributorFactory)
submitted_to_journal = 'SciPost Physics'
title = factory.Faker('bs')
abstract = factory.Faker('text')
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
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())
class EICassignedSubmissionFactory(SubmissionFactory):
status = 'EICassigned'
editor_in_charge = factory.SubFactory(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