diff --git a/submissions/templates/submissions/new_submission.html b/submissions/templates/submissions/new_submission.html
index ba80d4cb1826f76836ba35354c8836d075c9e9dd..a9088e3a801a71a72ce839026d10441e7c98096f 100644
--- a/submissions/templates/submissions/new_submission.html
+++ b/submissions/templates/submissions/new_submission.html
@@ -54,7 +54,6 @@ $(document).ready(function(){
 <div class="row mb-5">
     <div class="col-12">
         {% if perms.scipost.can_submit_manuscript %}
-
             {% if form.arxiv_link.value %}
                 <form id="full_submission_form" action="{% url 'submissions:submit_manuscript' %}" method="post">
                     {% csrf_token %}
@@ -64,6 +63,7 @@ $(document).ready(function(){
                     </p>
                     <input type="submit" class="btn btn-secondary"/>
                 </form>
+                {% else %}
             {% endif %}
 
         {% else %}
diff --git a/submissions/test_views.py b/submissions/test_views.py
index 0ef83d5262cfc786d5645b0cded81010e9a3e410..249c7a38de3d188ed1f65abb33c78eb77d566064 100644
--- a/submissions/test_views.py
+++ b/submissions/test_views.py
@@ -4,9 +4,12 @@ from django.test import Client
 
 from common.helpers.test import add_groups_and_permissions
 from scipost.factories import ContributorFactory
-from scipost.models import Contributor
+# from scipost.models import Contributor
 
+from .constants import STATUS_UNASSIGNED
 from .factories import EICassignedSubmissionFactory
+from .forms import SubmissionForm, SubmissionIdentifierForm
+from .models import Submission
 
 
 class BaseContributorTestCase(TestCase):
@@ -20,44 +23,66 @@ class BaseContributorTestCase(TestCase):
 
 
 class PrefillUsingIdentifierTest(BaseContributorTestCase):
-    def test_retrieving_existing_arxiv_paper(self):
+    def setUp(self):
+        super().setUp()
+        self.client = Client()
+        self.url = reverse('submissions:prefill_using_identifier')
+        self.assertTrue(self.client.login(username="Test", password="testpw"))
+
+    def test_basic_responses(self):
+        # Test anonymous client is rejected
         client = Client()
-        client.login(username="Test", password="testpw")
+        response = client.get(self.url)
+        self.assertEqual(response.status_code, 403)
+        response = client.post(self.url, {'identifier': '1512.00030v1'})
+        self.assertEqual(response.status_code, 403)
 
-        response = client.post(reverse('submissions:prefill_using_identifier'),
-                               {'identifier': '1512.00030v1'})
+        # Registered Contributor should get 200
+        response = self.client.get(self.url)
+        self.assertEqual(response.status_code, 200)
 
+    def test_retrieving_existing_arxiv_paper(self):
+        '''Test view with a valid post request.'''
+        response = self.client.post(self.url, {'identifier': '1512.00030v1'})
         self.assertEqual(response.status_code, 200)
+        self.assertIsInstance(response.context['form'], SubmissionForm)
+        self.assertIsInstance(response.context['identifierform'], SubmissionIdentifierForm)
+        self.assertTrue(response.context['identifierform'].is_valid())
 
     def test_still_200_ok_if_identifier_is_wrong(self):
-        client = Client()
-        client.login(username="Test", password="testpw")
-
-        response = client.post(reverse('submissions:prefill_using_identifier'),
-                               {'identifier': '1512.00030'})
-
+        response = self.client.post(self.url, {'identifier': '1512.00030'})
         self.assertEqual(response.status_code, 200)
 
 
 class SubmitManuscriptTest(BaseContributorTestCase):
     def test_submit_correct_manuscript(self):
         client = Client()
-        client.login(username="Test", password="testpw")
 
+        # Unauthorized request shouldn't be possible
         response = client.post(reverse('submissions:prefill_using_identifier'),
                                {'identifier': '1512.00030v1'})
+        self.assertEquals(response.status_code, 403)
 
-        params = response.context['form'].initial
+        # Registered Contributor should get 200
+        self.assertTrue(client.login(username="Test", password="testpw"))
+        response = client.post(reverse('submissions:prefill_using_identifier'),
+                               {'identifier': '1512.00030v1'})
+        self.assertEqual(response.status_code, 200)
 
-        extras = {
+        # Fill form parameters
+        params = response.context['form'].initial
+        params.update({
             'discipline': 'physics',
             'submitted_to_journal': 'SciPost Physics',
             'submission_type': 'Article',
             'domain': 'T'
-        }
-        response = client.post(reverse('submissions:submit_manuscript'), {**params, **extras})
+        })
+        response = client.post(reverse('submissions:submit_manuscript'), **params)
 
         self.assertEqual(response.status_code, 200)
+        # submission = Submission.objects.filter(status=STATUS_UNASSIGNED).last()
+        # raise Exception(response.content)
+        # self.assertIn(submission, response.context)
 
 
 class SubmissionDetailTest(BaseContributorTestCase):