diff --git a/submissions/constants.py b/submissions/constants.py
index d937973d28acfbcd1e85fce61eb2ba14c0c928de..da15bf7acf1a8dbe0bcf274b62e3e41d00513f2a 100644
--- a/submissions/constants.py
+++ b/submissions/constants.py
@@ -4,6 +4,8 @@ STATUS_REVISION_REQUESTED = 'revision_requested'
 STATUS_EIC_ASSIGNED = 'EICassigned'
 STATUS_AWAITING_ED_REC = 'awaiting_ed_rec'
 STATUS_REVIEW_CLOSED = 'review_closed'
+STATUS_ACCEPTED = 'accepted'
+STATUS_PUBLISHED = 'published'
 SUBMISSION_STATUS = (
     (STATUS_UNASSIGNED, 'Unassigned, undergoing pre-screening'),
     (STATUS_RESUBMISSION_INCOMING, 'Resubmission incoming'),
@@ -21,10 +23,10 @@ SUBMISSION_STATUS = (
     ('put_to_EC_voting', 'Undergoing voting at the Editorial College'),
     (STATUS_AWAITING_ED_REC, 'Awaiting Editorial Recommendation'),
     ('EC_vote_completed', 'Editorial College voting rounded up'),
-    ('accepted', 'Publication decision taken: accept'),
+    (STATUS_ACCEPTED, 'Publication decision taken: accept'),
     ('rejected', 'Publication decision taken: reject'),
     ('rejected_visible', 'Publication decision taken: reject (still publicly visible)'),
-    ('published', 'Published'),
+    (STATUS_PUBLISHED, 'Published'),
     # If withdrawn:
     ('withdrawn', 'Withdrawn by the Authors'),
 )
diff --git a/submissions/factories.py b/submissions/factories.py
index 193aaffa848e451bd59b556cf8caae7f3a5be13d..f69a50ec0207ff86b544d8af501ecab264df8e44 100644
--- a/submissions/factories.py
+++ b/submissions/factories.py
@@ -6,10 +6,11 @@ from django.utils import timezone
 
 from scipost.factories import ContributorFactory
 from scipost.models import Contributor
-from journals.constants import SCIPOST_JOURNAL_PHYSICS, SCIPOST_JOURNALS_DOMAINS
-from common.helpers import random_arxiv_identifier_without_version_number
+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
+from .constants import STATUS_UNASSIGNED, STATUS_EIC_ASSIGNED, STATUS_RESUBMISSION_INCOMING,\
+                       STATUS_PUBLISHED
 from .models import Submission
 
 from faker import Faker
@@ -21,9 +22,9 @@ class SubmissionFactory(factory.django.DjangoModelFactory):
 
     author_list = factory.Faker('name')
     submitted_by = factory.SubFactory(ContributorFactory)
-    submitted_to_journal = SCIPOST_JOURNAL_PHYSICS
+    submitted_to_journal = factory.Sequence(lambda n: random_scipost_journal())
     title = factory.lazy_attribute(lambda x: Faker().sentence())
-    abstract = factory.lazy_attribute(Faker().text())
+    abstract = factory.lazy_attribute(lambda x: Faker().paragraph())
     arxiv_link = factory.Faker('uri')
     arxiv_identifier_wo_vn_nr = factory.Sequence(
                                     lambda n: random_arxiv_identifier_without_version_number())
@@ -62,7 +63,6 @@ class SubmissionFactory(factory.django.DjangoModelFactory):
 
 class EICassignedSubmissionFactory(SubmissionFactory):
     status = STATUS_EIC_ASSIGNED
-    editor_in_charge = factory.SubFactory(ContributorFactory)
     open_for_commenting = True
     open_for_reporting = True
 
@@ -77,3 +77,10 @@ class UnassignedSubmissionFactory(SubmissionFactory):
 
 class ResubmittedScreeningSubmissionFactory(SubmissionFactory):
     status = STATUS_RESUBMISSION_INCOMING
+
+
+class PublishedSubmissionFactory(SubmissionFactory):
+    status = STATUS_PUBLISHED
+    open_for_commenting = False
+    open_for_reporting = False
+    is_current = True