From cec55902864e357914bd4a7cebca5a69efa09c13 Mon Sep 17 00:00:00 2001 From: Geert Kapteijns <ghkapteijns@gmail.com> Date: Wed, 17 May 2017 10:15:54 +0200 Subject: [PATCH] fix error in commentary browse test --- commentaries/forms.py | 3 +- .../commentaries/commentary_list.html | 4 +- commentaries/test_views.py | 15 +++++--- commentaries/views.py | 37 ++++++++++--------- 4 files changed, 32 insertions(+), 27 deletions(-) diff --git a/commentaries/forms.py b/commentaries/forms.py index be071a9fb..a47a70af1 100644 --- a/commentaries/forms.py +++ b/commentaries/forms.py @@ -4,7 +4,8 @@ from django import forms from django.shortcuts import get_object_or_404 from django.urls import reverse -from .models import Commentary, COMMENTARY_PUBLISHED, COMMENTARY_PREPRINT +from .models import Commentary +from .constants import COMMENTARY_PUBLISHED, COMMENTARY_PREPRINT from scipost.services import DOICaller, ArxivCaller from scipost.models import Contributor diff --git a/commentaries/templates/commentaries/commentary_list.html b/commentaries/templates/commentaries/commentary_list.html index a8c92a52d..4c1b12691 100644 --- a/commentaries/templates/commentaries/commentary_list.html +++ b/commentaries/templates/commentaries/commentary_list.html @@ -71,7 +71,7 @@ {% else %} <h2>Search results:</h3> {% endif %} - {% if object_list %} + {% if commentary_list %} {% if is_paginated %} <p> {% if page_obj.has_previous %} @@ -88,7 +88,7 @@ <div class="col-12"> <ul class="list-group list-group-flush"> - {% for object in object_list %} + {% for object in commentary_list %} <li class="list-group-item"> {% include 'commentaries/_commentary_card_content.html' with commentary=object %} </li> diff --git a/commentaries/test_views.py b/commentaries/test_views.py index 66fff2218..e61897f73 100644 --- a/commentaries/test_views.py +++ b/commentaries/test_views.py @@ -2,6 +2,7 @@ from django.core.urlresolvers import reverse from django.contrib.auth.models import Group from django.test import TestCase, Client, RequestFactory +from scipost.models import Contributor from scipost.factories import ContributorFactory, UserFactory from .factories import UnvettedCommentaryFactory, VettedCommentaryFactory, UnpublishedVettedCommentaryFactory, \ @@ -32,7 +33,7 @@ class RequestPublishedArticleTest(TestCase): def setUp(self): add_groups_and_permissions() self.target = reverse('commentaries:request_published_article') - self.commentary_instance = UnvettedCommentaryFactory.build() + self.commentary_instance = UnvettedCommentaryFactory.build(requested_by=ContributorFactory()) self.valid_form_data = model_form_data(self.commentary_instance, RequestPublishedArticleForm) def test_commentary_gets_created_with_correct_type(self): @@ -51,7 +52,7 @@ class RequestArxivPreprintTest(TestCase): def setUp(self): add_groups_and_permissions() self.target = reverse('commentaries:request_arxiv_preprint') - self.commentary_instance = UnvettedArxivPreprintCommentaryFactory.build() + self.commentary_instance = UnvettedArxivPreprintCommentaryFactory.build(requested_by=ContributorFactory()) self.valid_form_data = model_form_data(self.commentary_instance, RequestPublishedArticleForm) # The form field is called 'identifier', while the model field is called 'arxiv_identifier', # so model_form_data doesn't include it. @@ -110,12 +111,13 @@ class VetCommentaryRequestsTest(TestCase): self.assertEquals(response.context['commentary_to_vet'], None) # Only vetted Commentaries exist! - VettedCommentaryFactory() + # ContributorFactory.create_batch(5) + VettedCommentaryFactory(requested_by=ContributorFactory()) response = self.client.get(self.view_url) self.assertEquals(response.context['commentary_to_vet'], None) # Unvetted Commentaries do exist! - UnvettedCommentaryFactory() + UnvettedCommentaryFactory(requested_by=ContributorFactory()) response = self.client.get(self.view_url) self.assertTrue(type(response.context['commentary_to_vet']) is Commentary) @@ -125,7 +127,7 @@ class BrowseCommentariesTest(TestCase): def setUp(self): add_groups_and_permissions() - VettedCommentaryFactory(discipline='physics') + VettedCommentaryFactory(discipline='physics', requested_by=ContributorFactory()) self.view_url = reverse('commentaries:browse', kwargs={ 'discipline': 'physics', 'nrweeksback': '1' @@ -137,7 +139,7 @@ class BrowseCommentariesTest(TestCase): self.assertEquals(response.status_code, 200) # The created vetted Commentary is found! - self.assertTrue(response.context['commentary_browse_list'].count() >= 1) + self.assertTrue(response.context['commentary_list'].count() >= 1) # The search form is passed trough the view... self.assertTrue(type(response.context['form']) is CommentarySearchForm) @@ -146,6 +148,7 @@ class CommentaryDetailTest(TestCase): def setUp(self): add_groups_and_permissions() self.client = Client() + ContributorFactory() self.commentary = UnpublishedVettedCommentaryFactory() self.target = reverse( 'commentaries:commentary', diff --git a/commentaries/views.py b/commentaries/views.py index 53d0b1c15..de97bac21 100644 --- a/commentaries/views.py +++ b/commentaries/views.py @@ -33,37 +33,37 @@ def request_commentary(request): @method_decorator(permission_required( 'scipost.can_request_commentary_pages', raise_exception=True), name='dispatch') -class RequestPublishedArticle(CreateView): +class RequestCommentary(CreateView): + success_url = reverse_lazy('scipost:personal_page') + + def form_valid(self, form): + messages.success(self.request, strings.acknowledge_request_commentary, fail_silently=True) + return super().form_valid(form) + + +@method_decorator(permission_required( + 'scipost.can_request_commentary_pages', raise_exception=True), name='dispatch') +class RequestPublishedArticle(RequestCommentary): form_class = RequestPublishedArticleForm template_name = 'commentaries/request_published_article.html' - success_url = reverse_lazy('scipost:personal_page') def get_context_data(self, **kwargs): - context = super(RequestPublishedArticle, self).get_context_data(**kwargs) - context['doi_query_form'] = DOIToQueryForm() + context = super().get_context_data(**kwargs) + context['query_form'] = DOIToQueryForm() return context - def form_valid(self, form): - messages.success(self.request, strings.acknowledge_request_commentary) - return super(RequestPublishedArticle, self).form_valid(form) - @method_decorator(permission_required( 'scipost.can_request_commentary_pages', raise_exception=True), name='dispatch') -class RequestArxivPreprint(CreateView): +class RequestArxivPreprint(RequestCommentary): form_class = RequestArxivPreprintForm template_name = 'commentaries/request_arxiv_preprint.html' - success_url = reverse_lazy('scipost:personal_page') def get_context_data(self, **kwargs): - context = super(RequestArxivPreprint, self).get_context_data(**kwargs) - context['arxiv_query_form'] = ArxivQueryForm() + context = super().get_context_data(**kwargs) + context['query_form'] = ArxivQueryForm() return context - def form_valid(self, form): - messages.success(self.request, strings.acknowledge_request_commentary) - return super(RequestArxivPreprint, self).form_valid(form) - @permission_required('scipost.can_request_commentary_pages', raise_exception=True) def prefill_using_DOI(request): @@ -73,7 +73,7 @@ def prefill_using_DOI(request): if doi_query_form.is_valid(): prefill_data = doi_query_form.request_published_article_form_prefill_data() form = RequestPublishedArticleForm(initial=prefill_data) - messages.success(request, strings.acknowledge_doi_query) + messages.success(request, strings.acknowledge_doi_query, fail_silently=True) else: form = RequestPublishedArticleForm() @@ -93,7 +93,7 @@ def prefill_using_arxiv_identifier(request): if arxiv_query_form.is_valid(): prefill_data = arxiv_query_form.request_arxiv_preprint_form_prefill_data() form = RequestArxivPreprintForm(initial=prefill_data) - messages.success(request, strings.acknowledge_arxiv_query) + messages.success(request, strings.acknowledge_arxiv_query, fail_silently=True) else: form = RequestArxivPreprintForm() @@ -173,6 +173,7 @@ class CommentaryListView(ListView): model = Commentary form = CommentarySearchForm paginate_by = 10 + context_object_name = 'commentary_list' def get_queryset(self): '''Perform search form here already to get the right pagination numbers.''' -- GitLab