def test_reference_update_missing_fields(self): request = RequestFactory().post( '/projects/list/{}/references/{}/edit'.format(self.proj.pk,self.ref.pk), data={} ) request.user = self.user view = ReferenceEditView.as_view() response = view(request) self.assertEquals( response.context_data['form'].errors['description'], [u'This field is required.'] ) self.assertEquals( response.context_data['form'].errors['link'], [u'This field is required.'] )
def test_reference_update(self): request = RequestFactory().post( '/projects/list/{}/references/{}/edit'.format(self.proj.pk,self.ref.pk), data={ 'description': 'An updated reference.', 'link': 'A link', } ) request.user = self.user view = ReferenceEditView.as_view() response = view(request) self.assertTrue(response.url.startswith('/projects/list/{}/references/{}/'.format(self.proj.pk,self.ref.pk))) ref = Reference.objects.get(pk=self.ref.pk) self.assertEquals(ref.project.project_id,self.proj.project_id) self.assertEquals(ref.description,'An updated reference.') self.assertEquals(ref.link, 'A link')
from django.conf.urls import include, url from django.contrib.auth.decorators import login_required from projects.views import ProjectListView from projects.views import ProjectDetailView from projects.views import ProjectEditView from projects.views import ProjectCreateView from projects.views import ReferenceDetailView from projects.views import ReferenceEditView from projects.views import ReferenceCreateView from projects.views import AllocationRequestDetailView from projects.views import AllocationRequestCreateView urlpatterns = [ url(r'^list$', login_required(ProjectListView.as_view()), name='project-list'), url(r'^list/(?P<pk>[-\w]+)/$', login_required(ProjectDetailView.as_view()), name='project-detail'), url(r'^list/(?P<pk>[-\w]+)/edit$', login_required(ProjectEditView.as_view()), name='project-edit'), url(r'^create$', login_required(ProjectCreateView.as_view()), name='project-create'), url(r'^list/(?P<project_pk>[-\w]+)/references/(?P<pk>[-\w]+)/$', login_required(ReferenceDetailView.as_view()), name='reference-detail'), url(r'^list/(?P<project_pk>[-\w]+)/references/(?P<pk>[-\w]+)/edit$', login_required(ReferenceEditView.as_view()), name='reference-edit'), url(r'^list/(?P<project_pk>[-\w]+)/references/create$', login_required(ReferenceCreateView.as_view()), name='reference-create'), url(r'^list/(?P<project_pk>[-\w]+)/allocationrequests/(?P<pk>[-\w]+)/$', login_required(AllocationRequestDetailView.as_view()), name='allocation-request-detail'), url(r'^list/(?P<project_pk>[-\w]+)/allocationrequests/create$', login_required(AllocationRequestCreateView.as_view()), name='allocation-request-create'), ]