Skip to content

Commit

Permalink
Fix flake8 errors in letters tests and views
Browse files Browse the repository at this point in the history
  • Loading branch information
clairempr committed Feb 5, 2023
1 parent 9fc208c commit 219a5c9
Show file tree
Hide file tree
Showing 16 changed files with 453 additions and 293 deletions.
3 changes: 1 addition & 2 deletions letters/tests/test_admin.py
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,6 @@

from django.contrib.admin import site
from django.contrib.auth import get_user_model
from django.db.models import Model
from django.test import RequestFactory, TestCase

from letters.admin import LetterAdmin
Expand Down Expand Up @@ -57,4 +56,4 @@ def test_get_form(self):
# Make sure form fields have height set
for field in ['heading', 'greeting', 'closing', 'signature', 'ps']:
self.assertIn('height', form.base_fields[field].widget.attrs['style'],
"LetterAdmin form should have height set for field'{}'" )
"LetterAdmin form should have height set for field'{}'")
45 changes: 28 additions & 17 deletions letters/tests/test_admin_filters.py
Original file line number Diff line number Diff line change
Expand Up @@ -3,16 +3,19 @@
from unittest.mock import patch

from django.contrib.admin import site
from django.contrib.admin.views.main import ChangeList
from django.contrib.auth.models import AnonymousUser
from django.test import RequestFactory, TestCase

from letters.admin import CorrespondentAdmin, DocumentAdmin, DocumentImageAdmin, DocumentSourceAdmin, LetterAdmin
from letters.admin_filters import CorrespondentSourceFilter, get_correspondents_of_source, get_objects_with_date, \
get_source_lookups, ImageSourceFilter, MonthFilter, RecipientFilter, WriterFilter, YearFilter
from letters.models import Correspondent, Document, DocumentImage, DocumentSource, Letter
from letters.tests.factories import CorrespondentFactory, DocumentFactory, DocumentImageFactory, DocumentSourceFactory, \
from letters.admin_filters import (
CorrespondentSourceFilter, get_correspondents_of_source, get_objects_with_date,
ImageSourceFilter, MonthFilter, RecipientFilter, WriterFilter, YearFilter
)
from letters.models import Correspondent, DocumentImage, DocumentSource, Letter
from letters.tests.factories import (
CorrespondentFactory, DocumentImageFactory, DocumentSourceFactory,
EnvelopeFactory, LetterFactory, MiscDocumentFactory
)


class CorrespondentSourceFilterTestCase(TestCase):
Expand Down Expand Up @@ -63,8 +66,10 @@ def test_queryset(self, mock_get_correspondents_of_source):
queryset = filter.queryset(self.request, Correspondent.objects.all())
self.assertEqual(mock_get_correspondents_of_source.call_count, 0,
"get_correspondents_of_source() shouldn't be called if no DocumentSource specified")
self.assertSetEqual(set(queryset), set(Correspondent.objects.all()),
'CorrespondentSourceFilter.queryset() should return all Corresponents if no DocumentSource specified')
self.assertSetEqual(
set(queryset), set(Correspondent.objects.all()),
'CorrespondentSourceFilter.queryset() should return all Corresponents if no DocumentSource specified'
)

# When DocumentSource is misc_doc_and_letter_source, misc_doc_writer, letter_writer,
# and letter_recipient should be returned
Expand Down Expand Up @@ -116,15 +121,19 @@ def test_get_correspondents_of_source(self):

# When DocumentSource is misc_doc_and_letter_source, ids for misc_doc_writer, letter_writer,
# and letter_recipient should be returned
self.assertSetEqual(set(get_correspondents_of_source(misc_doc_and_letter_source.id)),
set([misc_doc_writer.id, letter_writer.id, letter_recipient.id]),
'get_correspondents_of_source() should return unique set of ids of Corresponents for DocumentSource')
self.assertSetEqual(
set(get_correspondents_of_source(misc_doc_and_letter_source.id)),
set([misc_doc_writer.id, letter_writer.id, letter_recipient.id]),
'get_correspondents_of_source() should return unique set of ids of Corresponents for DocumentSource'
)

# When DocumentSource is envelope_source, ids for envelope_writer and envelope_recipient
# should be returned
self.assertSetEqual(set(get_correspondents_of_source(envelope_source.id)),
set([envelope_writer.id, envelope_recipient.id]),
'get_correspondents_of_source() should return unique set of ids of Corresponents for DocumentSource')
self.assertSetEqual(
set(get_correspondents_of_source(envelope_source.id)),
set([envelope_writer.id, envelope_recipient.id]),
'get_correspondents_of_source() should return unique set of ids of Corresponents for DocumentSource'
)


class GetObjectsWithDateTestCase(TestCase):
Expand Down Expand Up @@ -210,8 +219,10 @@ def test_queryset(self, mock_get_correspondents_of_source):
queryset = filter.queryset(self.request, DocumentImage.objects.all())
self.assertEqual(mock_get_correspondents_of_source.call_count, 0,
"get_correspondents_of_source() shouldn't be called if no DocumentSource specified")
self.assertSetEqual(set(queryset), set(DocumentImage.objects.all()),
'ImageSourceFilter.queryset() should return all DocumentImages if no DocumentSource specified')
self.assertSetEqual(
set(queryset), set(DocumentImage.objects.all()),
'ImageSourceFilter.queryset() should return all DocumentImages if no DocumentSource specified'
)

# When DocumentSource is letter_source, letter_image should be returned
mock_get_correspondents_of_source.return_value = set([letter_writer.id, letter_recipient.id])
Expand Down Expand Up @@ -351,7 +362,7 @@ def test_queryset(self):

# When recipient specified, only Letters with that recipient should be returned
filter = RecipientFilter(self.request, params={parameter: self.letter_recipient1.id}, model=Letter,
model_admin=self.modeladmin)
model_admin=self.modeladmin)
queryset = filter.queryset(self.request, Letter.objects.all())
self.assertSetEqual(set(queryset), set([self.letter1]),
'RecipientFilter.queryset() should return letters with the specified recipient')
Expand Down Expand Up @@ -402,7 +413,7 @@ def test_queryset(self):

# When writer specified, only Letters with that writer should be returned
filter = WriterFilter(self.request, params={parameter: self.letter_writer1.id}, model=Letter,
model_admin=self.modeladmin)
model_admin=self.modeladmin)
queryset = filter.queryset(self.request, Letter.objects.all())
self.assertSetEqual(set(queryset), set([self.letter1]),
'WriterFilter.queryset() should return letters with the specified writer')
Expand Down
15 changes: 8 additions & 7 deletions letters/tests/test_charts.py
Original file line number Diff line number Diff line change
Expand Up @@ -6,10 +6,9 @@
from unittest.mock import patch

from django.test import SimpleTestCase
from django.utils.html import format_html

from letters.charts import get_bokeh_figure, get_frequency_charts, get_per_month_chart, get_proportions_chart, \
make_charts, PALETTE
make_charts


class GetFrequencyChartsTestCase(SimpleTestCase):
Expand Down Expand Up @@ -81,7 +80,7 @@ def test_get_per_month_chart(self):
'get_per_month_chart() should create a line with line_width in kwargs')

# get_per_month_chart() should return a Bokeh Figure
with patch.object(bokeh.plotting, 'figure') as mock_figure:
with patch.object(bokeh.plotting, 'figure'):
result = get_per_month_chart(months, values, title, label)
self.assertEqual(type(result), Figure, 'get_per_month_chart() should return a Bokeh Figure')

Expand All @@ -101,7 +100,7 @@ def test_get_proportions_chart(self):
get_proportions_chart(words, months, proportions)

# get_proportions_chart() should return a Bokeh Figure
with patch.object(bokeh.plotting, 'figure') as mock_figure:
with patch.object(bokeh.plotting, 'figure'):
result = get_proportions_chart(words, months, proportions)
self.assertEqual(type(result), Figure, 'get_proportions_chart() should return a Bokeh Figure')

Expand Down Expand Up @@ -158,8 +157,10 @@ def test_make_charts(self, mock_render_to_string, mock_row, mock_get_per_month_c
result = make_charts(words=words, months=months, proportions=proportions, word_freqs=word_freqs, totals=totals,
averages=averages, doc_counts=doc_counts)
args, kwargs = mock_get_frequency_charts.call_args
self.assertEqual(args[0], words,
'make_charts() should call get_proportions_chart() with words as 1st arg if # of words searched for == 2')
self.assertEqual(
args[0], words,
'make_charts() should call get_proportions_chart() with words as 1st arg if # of words searched for == 2'
)

# get_per_month_chart() should be called 3 times
self.assertEqual(mock_get_per_month_chart.call_count, 3,
Expand Down Expand Up @@ -189,4 +190,4 @@ def test_get_bokeh_figure(self, mock_figure):
title = 'Doohickeys per month'

result = get_bokeh_figure(months, title)
self.assertEqual(type(result), Figure,'get_bokeh_figure() should return a Bokeh figure')
self.assertEqual(type(result), Figure, 'get_bokeh_figure() should return a Bokeh figure')
10 changes: 4 additions & 6 deletions letters/tests/test_correspondent.py
Original file line number Diff line number Diff line change
Expand Up @@ -35,9 +35,9 @@ def test__lt__(self):

self.assertTrue(francis_black < kate_derenberger, '{} should be < {}'.format(francis_black, kate_derenberger))
self.assertFalse(francis_black < other_francis_black,
"{} shouldn't be be < {}".format(francis_black, other_francis_black))
"{} shouldn't be be < {}".format(francis_black, other_francis_black))
self.assertFalse(kate_derenberger < francis_black,
"{} shouldn't be be < {}".format(kate_derenberger, francis_black))
"{} shouldn't be be < {}".format(kate_derenberger, francis_black))

@patch.object(Correspondent, 'get_display_string', autospec=True)
def test_to_string(self, mock_get_display_string):
Expand Down Expand Up @@ -98,12 +98,12 @@ def test_to_export_string(self):

correspondent = CorrespondentFactory(last_name=last_name, first_names=first_names, married_name=married_name)
self.assertNotIn(correspondent.married_name, correspondent.to_export_string(),
"Correspondent.to_export_string() shouldn't include married_name if filled")
"Correspondent.to_export_string() shouldn't include married_name if filled")

correspondent = CorrespondentFactory(last_name=last_name, first_names=first_names, married_name=married_name,
suffix=suffix)
self.assertIn(correspondent.suffix, correspondent.to_export_string(),
'Correspondent.to_export_string() should include suffix if filled')# def to_export_string(self):
'Correspondent.to_export_string() should include suffix if filled')

@patch('letters.models.correspondent.get_image_preview', autospec=True)
def test_image_preview(self, mock_get_image_preview):
Expand All @@ -115,5 +115,3 @@ def test_image_preview(self, mock_get_image_preview):

self.assertEqual(CorrespondentFactory().image_preview(), mock_get_image_preview.return_value,
'Correspondent.image_preview() should return value of Correspondent.get_image_preview()')


6 changes: 4 additions & 2 deletions letters/tests/test_document_image.py
Original file line number Diff line number Diff line change
Expand Up @@ -108,5 +108,7 @@ def test_image_preview_with_link(self, mock_get_url):
document_image = DocumentImageFactory()
image_preview_with_link = document_image.image_preview_with_link(100)
expected = 'No image'
self.assertEqual(image_preview_with_link, expected,
"If there's no image file, DocumentImage.image_preview_with_link() should return {}".format(expected))
self.assertEqual(
image_preview_with_link, expected,
"If there's no image file, DocumentImage.image_preview_with_link() should return {}".format(expected)
)
4 changes: 2 additions & 2 deletions letters/tests/test_document_source.py
Original file line number Diff line number Diff line change
Expand Up @@ -32,9 +32,9 @@ def test__lt__(self):

self.assertTrue(my_documents < your_documents, '{} should be < {}'.format(my_documents, your_documents))
self.assertFalse(my_documents < my_other_documents,
"{} shouldn't be be < {}".format(my_documents, my_other_documents))
"{} shouldn't be be < {}".format(my_documents, my_other_documents))
self.assertFalse(your_documents < my_documents,
"{} shouldn't be be < {}".format(your_documents, my_documents))
"{} shouldn't be be < {}".format(your_documents, my_documents))

def test_to_string(self):
"""
Expand Down
Loading

0 comments on commit 219a5c9

Please sign in to comment.