diff --git a/readthedocs/projects/forms.py b/readthedocs/projects/forms.py index bb11e33d162..0c2f5c71771 100644 --- a/readthedocs/projects/forms.py +++ b/readthedocs/projects/forms.py @@ -9,7 +9,6 @@ from django.conf import settings from django.contrib.auth.models import User from django.template.loader import render_to_string -from django.utils.safestring import mark_safe from django.utils.translation import ugettext_lazy as _ from textclassifier.validators import ClassifierValidator @@ -86,7 +85,7 @@ class Meta: model = Project fields = ('name', 'repo', 'repo_type', 'default_branch') - remote_repository = forms.CharField( + remote_repository = forms.IntegerField( widget=forms.HiddenInput(), required=False, ) diff --git a/readthedocs/rtd_tests/tests/test_project_views.py b/readthedocs/rtd_tests/tests/test_project_views.py index 36820022d6e..d3680ae87be 100644 --- a/readthedocs/rtd_tests/tests/test_project_views.py +++ b/readthedocs/rtd_tests/tests/test_project_views.py @@ -158,6 +158,20 @@ def test_remote_repository_is_added(self): self.assertIsNotNone(proj) self.assertEqual(proj.remote_repository, remote_repo) + def test_remote_repository_invalid_type(self): + self.step_data['basics']['remote_repository'] = 'Invalid id' + resp = self.post_step('basics') + self.assertEqual(resp.status_code, 200) + form = resp.context_data['form'] + self.assertIn('remote_repository', form.errors) + + def test_remote_repository_invalid_id(self): + self.step_data['basics']['remote_repository'] = 9 + resp = self.post_step('basics') + self.assertEqual(resp.status_code, 200) + form = resp.context_data['form'] + self.assertIn('remote_repository', form.errors) + def test_remote_repository_is_not_added_for_wrong_user(self): user = get(User) remote_repo = get(RemoteRepository)