diff --git a/submissions/factories.py b/submissions/factories.py index 6c602275452772293c4f8303caf37c5baf63152a..c16d285a0bcb993c7fd8e07eaef42fbfab368f12 100644 --- a/submissions/factories.py +++ b/submissions/factories.py @@ -9,8 +9,10 @@ from journals.constants import SCIPOST_JOURNALS_DOMAINS from common.helpers import random_arxiv_identifier_without_version_number, random_scipost_journal from .constants import STATUS_UNASSIGNED, STATUS_EIC_ASSIGNED, STATUS_RESUBMISSION_INCOMING,\ - STATUS_PUBLISHED, SUBMISSION_TYPE, STATUS_RESUBMITTED -from .models import Submission + STATUS_PUBLISHED, SUBMISSION_TYPE, STATUS_RESUBMITTED, STATUS_VETTED,\ + REFEREE_QUALIFICATION, RANKING_CHOICES, QUALITY_SPEC, REPORT_REC,\ + REPORT_STATUSES, STATUS_UNVETTED +from .models import Submission, Report from faker import Faker @@ -142,3 +144,36 @@ class PublishedSubmissionFactory(SubmissionFactory): status = STATUS_PUBLISHED open_for_commenting = False open_for_reporting = False + + +class ReportFactory(factory.django.DjangoModelFactory): + class Meta: + model = Report + + status = factory.Iterator(REPORT_STATUSES, getter=lambda c: c[0]) + submission = factory.Iterator(Submission.objects.all()) + date_submitted = Faker().date_time_between(start_date="-3y", end_date="now", tzinfo=pytz.UTC) + vetted_by = factory.Iterator(Contributor.objects.all()) + author = factory.Iterator(Contributor.objects.all()) + qualification = factory.Iterator(REFEREE_QUALIFICATION, getter=lambda c: c[0]) + strengths = Faker().paragraph() + weaknesses = Faker().paragraph() + report = Faker().paragraph() + requested_changes = Faker().paragraph() + validity = factory.Iterator(RANKING_CHOICES, getter=lambda c: c[0]) + significance = factory.Iterator(RANKING_CHOICES, getter=lambda c: c[0]) + originality = factory.Iterator(RANKING_CHOICES, getter=lambda c: c[0]) + clarity = factory.Iterator(RANKING_CHOICES, getter=lambda c: c[0]) + formatting = factory.Iterator(QUALITY_SPEC, getter=lambda c: c[0]) + grammar = factory.Iterator(QUALITY_SPEC, getter=lambda c: c[0]) + recommendation = factory.Iterator(REPORT_REC, getter=lambda c: c[0]) + remarks_for_editors = Faker().paragraph() + + +class UnVettedReportFactory(ReportFactory): + status = STATUS_UNVETTED + vetted_by = None + + +class VettedReportFactory(ReportFactory): + status = STATUS_VETTED