Adds tests for recent import average time
This commit is contained in:
parent
f0d3ceefa0
commit
f80e2465ed
2 changed files with 46 additions and 9 deletions
|
@ -1,4 +1,5 @@
|
|||
""" test for app action functionality """
|
||||
import datetime
|
||||
import pathlib
|
||||
from unittest.mock import patch
|
||||
|
||||
|
@ -106,3 +107,45 @@ class ImportViews(TestCase):
|
|||
with patch("bookwyrm.models.import_job.import_item_task.delay") as mock:
|
||||
views.retry_item(request, job.id, item.id)
|
||||
self.assertEqual(mock.call_count, 1)
|
||||
|
||||
def test_get_average_import_time_no_imports(self):
|
||||
"""Give people a sense of the timing"""
|
||||
result = views.imports.import_data.get_average_import_time()
|
||||
self.assertIsNone(result)
|
||||
|
||||
def test_get_average_import_time_no_imports_this_week(self):
|
||||
"""Give people a sense of the timing"""
|
||||
models.ImportJob.objects.create(
|
||||
user=self.local_user,
|
||||
created_date=datetime.datetime(2000, 1, 1),
|
||||
updated_date=datetime.datetime(2001, 1, 1),
|
||||
status="complete",
|
||||
complete=True,
|
||||
mappings={},
|
||||
)
|
||||
result = views.imports.import_data.get_average_import_time()
|
||||
self.assertIsNone(result)
|
||||
|
||||
def test_get_average_import_time_with_data(self):
|
||||
"""Now, with data"""
|
||||
now = datetime.datetime.now()
|
||||
two_hours_ago = now - datetime.timedelta(hours=2)
|
||||
four_hours_ago = now - datetime.timedelta(hours=4)
|
||||
models.ImportJob.objects.create(
|
||||
user=self.local_user,
|
||||
created_date=two_hours_ago,
|
||||
updated_date=now,
|
||||
status="complete",
|
||||
complete=True,
|
||||
mappings={},
|
||||
)
|
||||
models.ImportJob.objects.create(
|
||||
user=self.local_user,
|
||||
created_date=four_hours_ago,
|
||||
updated_date=now,
|
||||
status="complete",
|
||||
complete=True,
|
||||
mappings={},
|
||||
)
|
||||
result = views.imports.import_data.get_average_import_time()
|
||||
self.assertEqual(result, 3 * 60 * 60)
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue