SciPost Code Repository

Skip to content
Snippets Groups Projects
Commit 64e87b1d authored by Jorran de Wit's avatar Jorran de Wit
Browse files

Extend Submission Prefiller view tests

parent 4d66c627
No related branches found
No related tags found
No related merge requests found
......@@ -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 %}
......
......@@ -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):
......
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