diff --git a/submissions/test_utils.py b/submissions/test_utils.py
index 25d31705305480bd5361fc899fef60a87650240a..816350fe787a34cfac9cb4d6d24dbf200367669e 100644
--- a/submissions/test_utils.py
+++ b/submissions/test_utils.py
@@ -1,10 +1,15 @@
+import datetime
+
 from django.test import TestCase, tag
 
 from common.helpers.test import add_groups_and_permissions
+from scipost.factories import ContributorFactory
 from scipost.models import Contributor
 
-from .constants import STATUS_UNASSIGNED
-from .factories import UnassignedSubmissionFactory
+from .constants import STATUS_UNASSIGNED, STATUS_RESUBMISSION_INCOMING
+from .exceptions import CycleUpdateDeadlineError
+from .factories import UnassignedSubmissionFactory, ResubmittedSubmissionFactory
+from .utils import GeneralSubmissionCycle
 
 
 class TestDefaultSubmissionCycle(TestCase):
@@ -14,8 +19,13 @@ class TestDefaultSubmissionCycle(TestCase):
     '''
 
     def setUp(self):
+        """Basics for all tests"""
+        self.submission_date = datetime.date.today()
         add_groups_and_permissions()
-        self.new_submission = UnassignedSubmissionFactory.build()
+        ContributorFactory.create_batch(5)
+        self.new_submission = UnassignedSubmissionFactory(
+            dates__submission=self.submission_date
+        )
 
     @tag('cycle', 'core')
     def test_init_submission_factory_is_valid(self):
@@ -28,8 +38,56 @@ class TestDefaultSubmissionCycle(TestCase):
         self.assertIsInstance(self.new_submission.submitted_by, Contributor)
         self.assertFalse(self.new_submission.open_for_commenting)
         self.assertFalse(self.new_submission.open_for_reporting)
+        self.assertEqual(self.new_submission.submission_date, self.submission_date)
 
     @tag('cycle', 'core')
-    def test_initial_cycle_required_actions(self):
+    def test_initial_cycle_required_actions_and_deadline(self):
         """Test valid required actions for default cycle."""
+        self.assertIsInstance(self.new_submission.cycle, GeneralSubmissionCycle)
+
+        # Explicit: No actions required if no EIC is assigned yet
         self.assertFalse(self.new_submission.cycle.get_required_actions())
+
+        # Two weeks deadline check
+        self.new_submission.cycle.update_deadline()
+        real_report_deadline = self.submission_date + datetime.timedelta(days=28)
+        self.assertEqual(self.new_submission.reporting_deadline.day, real_report_deadline.day)
+        self.assertEqual(self.new_submission.reporting_deadline.month, real_report_deadline.month)
+        self.assertEqual(self.new_submission.reporting_deadline.year, real_report_deadline.year)
+        self.assertIsInstance(self.new_submission.reporting_deadline, datetime.datetime)
+
+
+class TestResubmissionSubmissionCycle(TestCase):
+    '''
+    This TestCase should act as a master test to check all steps in the
+    submission's cycle: resubmission.
+    '''
+
+    def setUp(self):
+        """Basics for all tests"""
+        self.submission_date = datetime.date.today()
+        add_groups_and_permissions()
+        ContributorFactory.create_batch(5)
+        self.new_submission = ResubmittedSubmissionFactory(
+            dates__submission=self.submission_date
+        )
+
+    @tag('cycle', 'core')
+    def test_init_resubmission_factory_is_valid(self):
+        """Ensure valid fields for the factory."""
+        return
+        self.assertEqual(self.new_submission.status, STATUS_RESUBMISSION_INCOMING)
+        self.assertIsInstance(self.new_submission.editor_in_charge, Contributor)
+        self.assertTrue(self.new_submission.is_current)
+        self.assertTrue(self.new_submission.is_resubmission)
+        self.assertIsNot(self.new_submission.title, '')
+        self.assertIsInstance(self.new_submission.submitted_by, Contributor)
+        self.assertTrue(self.new_submission.open_for_commenting)
+        self.assertTrue(self.new_submission.open_for_reporting)
+        self.assertEqual(self.new_submission.submission_date, self.submission_date)
+
+    @tag('cycle', 'core')
+    def test_initial_cycle_required_actions_and_deadline(self):
+        """Test valid required actions for default cycle."""
+        return
+        self.assertRaises(CycleUpdateDeadlineError, self.new_submission.update_deadline())