SciPost Code Repository

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

Add invalid form tests

Add invalid form test for RequestCommentaryForm.
Tests contain having no Arxiv ID or DOI or trying to
 give an already existing identifier.
parent bc338efb
No related branches found
No related tags found
No related merge requests found
......@@ -29,5 +29,6 @@ class EmptyCommentaryFactory(CommentaryFactory):
pub_DOI = None
arxiv_identifier = None
class VettedCommentaryFactory(CommentaryFactory):
vetted = True
import factory
from django.test import TestCase
from scipost.factories import UserFactory
......@@ -31,12 +29,31 @@ class TestRequestCommentaryForm(TestCase):
form = RequestCommentaryForm(form_data, user=self.user)
self.assertTrue(form.is_valid())
# def test_form_has_no_identifiers(self):
# """Test invalid form has no DOI nor Arxiv ID"""
# form_data = self.valid_form_data
# form_data['pub_DOI'] = ''
# form_data['arxiv_identifier'] = ''
# form = RequestCommentaryForm(form_data, user=self.user)
# form_response = form.is_valid()
# print(form_response)
# self.assertFormError(form_response, form, 'arxiv_identifier', None)
def test_form_has_no_identifiers(self):
"""Test invalid form has no DOI nor Arxiv ID"""
form_data = self.valid_form_data
form_data['pub_DOI'] = ''
form_data['arxiv_identifier'] = ''
form = RequestCommentaryForm(form_data, user=self.user)
self.assertFalse(form.is_valid())
self.assertTrue('arxiv_identifier' in form.errors)
self.assertTrue('pub_DOI' in form.errors)
def test_form_with_duplicate_identifiers(self):
"""Test form response with already existing identifiers"""
# Create a factory instance containing Arxiv ID and DOI
VettedCommentaryFactory.create()
# Test duplicate DOI entry
form_data = self.valid_form_data
form_data['arxiv_identifier'] = ''
form = RequestCommentaryForm(form_data, user=self.user)
self.assertTrue('pub_DOI' in form.errors)
self.assertFalse(form.is_valid())
# Test duplicate Arxiv entry
form_data = self.valid_form_data
form_data['pub_DOI'] = ''
form = RequestCommentaryForm(form_data, user=self.user)
self.assertTrue('arxiv_identifier' in form.errors)
self.assertFalse(form.is_valid())
from django.contrib.auth.models import Group
from django.core.urlresolvers import reverse
from django.test import TestCase
class RequestCommentaryTest(TestCase):
"""Test cases for `request_commentary` view method"""
fixtures = ['permissions', 'groups', 'contributors']
......
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