Skip to content

Commit

Permalink
Merge pull request #3519 from BirkbeckCTP/2679-review-visibility-warning
Browse files Browse the repository at this point in the history
Make sure review visibility warning only shows up when it should
  • Loading branch information
mauromsl authored May 19, 2023
2 parents 78abba6 + 3fcbdbd commit 8b12cbb
Show file tree
Hide file tree
Showing 2 changed files with 46 additions and 10 deletions.
51 changes: 44 additions & 7 deletions src/review/tests.py
Original file line number Diff line number Diff line change
Expand Up @@ -2,14 +2,15 @@
__author__ = "Martin Paul Eve & Andy Byers"
__license__ = "AGPL v3"
__maintainer__ = "Birkbeck Centre for Technology and Publishing"

from unittest.mock import patch

import datetime
import os

from django.core.files.uploadedfile import SimpleUploadedFile
from django.test import TestCase, override_settings
from django.urls import reverse
from django.utils import timezone
from django.core.files.uploadedfile import SimpleUploadedFile

from core import models as core_models, files
from journal import models as journal_models
Expand Down Expand Up @@ -57,7 +58,7 @@ def test_review_form_can_save(self):
def test_total_review_count(self):
self.assertEqual(
self.article_review_completed.reviewassignment_set.all().count(),
2,
3,
)

def test_completed_reviews_with_decision_count(self):
Expand Down Expand Up @@ -474,7 +475,7 @@ def setUp(self):
review_round=self.round_one,
reviewer=self.regular_user,
editor=self.editor,
date_due=datetime.datetime.now(),
date_due=timezone.now(),
form=self.review_form,
is_complete=True,
date_complete=timezone.now(),
Expand All @@ -488,24 +489,35 @@ def setUp(self):
review_round=self.round_two,
reviewer=self.second_reviewer,
editor=self.editor,
date_due=datetime.datetime.now(),
date_due=timezone.now(),
form=self.review_form,
is_complete=True,
decision='withdrawn',
)

self.review_assignment_declined, created = review_models.ReviewAssignment.objects.get_or_create(
article=self.article_review_completed,
review_round=self.round_two,
reviewer=self.second_reviewer,
editor=self.editor,
date_due=timezone.now(),
date_declined=timezone.now(),
form=self.review_form,
is_complete=False,
)

self.review_assignment = review_models.ReviewAssignment(article=self.article_under_review,
reviewer=self.second_user,
editor=self.editor,
date_due=datetime.datetime.now(),
date_due=timezone.now(),
form=self.review_form)

self.review_assignment.save()

self.review_assignment_not_in_scope = review_models.ReviewAssignment(article=self.article_in_production,
reviewer=self.regular_user,
editor=self.editor,
date_due=datetime.datetime.now(),
date_due=timezone.now(),
form=self.review_form)
self.review_assignment_not_in_scope.save()

Expand Down Expand Up @@ -627,3 +639,28 @@ def setUp(self):
self.good_reviewer_content_line = b"Mr,Andy,James,Byers,[email protected],Open Library of Humanities,Birkbeck,GB,,Test Reason"
self.empty_reviewer_content_line = b" "
self.regular_user_csv_line = b"Mr,Regular,,User,[email protected],Somewhere Dept,Some Inst,GB,,A Reason"


def test_request_revisions_context(self):
self.client.force_login(self.editor)
response = self.client.get(
reverse(
'review_request_revisions',
kwargs={'article_id': self.article_review_completed.pk},
),
SERVER_NAME=self.journal_one.domain,
)
response.context.get('incomplete')
self.assertEqual(
self.article_review_completed,
response.context.get('article'),
)
# This test does not cover the revision request form
self.assertEqual(
0,
response.context.get('pending_approval').count(),
)
self.assertEqual(
0,
response.context.get('incomplete').count(),
)
5 changes: 2 additions & 3 deletions src/review/views.py
Original file line number Diff line number Diff line change
Expand Up @@ -1692,12 +1692,11 @@ def request_revisions(request, article_id):
review_round = models.ReviewRound.latest_article_round(
article=article,
)
pending_approval = review_round.reviewassignment_set.filter(
pending_approval = review_round.active_reviews().filter(
is_complete=True,
for_author_consumption=False,
date_declined__isnull=True,
)
incomplete = review_round.reviewassignment_set.filter(
incomplete = review_round.active_reviews().filter(
is_complete=False,
)

Expand Down

0 comments on commit 8b12cbb

Please sign in to comment.