mirror of
https://github.com/sissbruecker/linkding.git
synced 2025-08-08 03:08:29 +02:00
Add black code formatter
This commit is contained in:
@@ -4,22 +4,46 @@ from dateutil.relativedelta import relativedelta
|
||||
from django.test import TestCase
|
||||
from django.utils import timezone
|
||||
|
||||
from bookmarks.utils import humanize_absolute_date, humanize_relative_date, parse_timestamp
|
||||
from bookmarks.utils import (
|
||||
humanize_absolute_date,
|
||||
humanize_relative_date,
|
||||
parse_timestamp,
|
||||
)
|
||||
|
||||
|
||||
class UtilsTestCase(TestCase):
|
||||
|
||||
def test_humanize_absolute_date(self):
|
||||
test_cases = [
|
||||
(timezone.datetime(2021, 1, 1), timezone.datetime(2023, 1, 1), '01/01/2021'),
|
||||
(timezone.datetime(2021, 1, 1), timezone.datetime(2021, 2, 1), '01/01/2021'),
|
||||
(timezone.datetime(2021, 1, 1), timezone.datetime(2021, 1, 8), '01/01/2021'),
|
||||
(timezone.datetime(2021, 1, 1), timezone.datetime(2021, 1, 7), 'Friday'),
|
||||
(timezone.datetime(2021, 1, 1), timezone.datetime(2021, 1, 7, 23, 59), 'Friday'),
|
||||
(timezone.datetime(2021, 1, 1), timezone.datetime(2021, 1, 3), 'Friday'),
|
||||
(timezone.datetime(2021, 1, 1), timezone.datetime(2021, 1, 2), 'Yesterday'),
|
||||
(timezone.datetime(2021, 1, 1), timezone.datetime(2021, 1, 2, 23, 59), 'Yesterday'),
|
||||
(timezone.datetime(2021, 1, 1), timezone.datetime(2021, 1, 1), 'Today'),
|
||||
(
|
||||
timezone.datetime(2021, 1, 1),
|
||||
timezone.datetime(2023, 1, 1),
|
||||
"01/01/2021",
|
||||
),
|
||||
(
|
||||
timezone.datetime(2021, 1, 1),
|
||||
timezone.datetime(2021, 2, 1),
|
||||
"01/01/2021",
|
||||
),
|
||||
(
|
||||
timezone.datetime(2021, 1, 1),
|
||||
timezone.datetime(2021, 1, 8),
|
||||
"01/01/2021",
|
||||
),
|
||||
(timezone.datetime(2021, 1, 1), timezone.datetime(2021, 1, 7), "Friday"),
|
||||
(
|
||||
timezone.datetime(2021, 1, 1),
|
||||
timezone.datetime(2021, 1, 7, 23, 59),
|
||||
"Friday",
|
||||
),
|
||||
(timezone.datetime(2021, 1, 1), timezone.datetime(2021, 1, 3), "Friday"),
|
||||
(timezone.datetime(2021, 1, 1), timezone.datetime(2021, 1, 2), "Yesterday"),
|
||||
(
|
||||
timezone.datetime(2021, 1, 1),
|
||||
timezone.datetime(2021, 1, 2, 23, 59),
|
||||
"Yesterday",
|
||||
),
|
||||
(timezone.datetime(2021, 1, 1), timezone.datetime(2021, 1, 1), "Today"),
|
||||
]
|
||||
|
||||
for test_case in test_cases:
|
||||
@@ -27,30 +51,78 @@ class UtilsTestCase(TestCase):
|
||||
self.assertEqual(test_case[2], result)
|
||||
|
||||
def test_humanize_absolute_date_should_use_current_date_as_default(self):
|
||||
with patch.object(timezone, 'now', return_value=timezone.datetime(2021, 1, 1)):
|
||||
self.assertEqual(humanize_absolute_date(timezone.datetime(2021, 1, 1)), 'Today')
|
||||
with patch.object(timezone, "now", return_value=timezone.datetime(2021, 1, 1)):
|
||||
self.assertEqual(
|
||||
humanize_absolute_date(timezone.datetime(2021, 1, 1)), "Today"
|
||||
)
|
||||
|
||||
# Regression: Test that subsequent calls use current date instead of cached date (#107)
|
||||
with patch.object(timezone, 'now', return_value=timezone.datetime(2021, 1, 13)):
|
||||
self.assertEqual(humanize_absolute_date(timezone.datetime(2021, 1, 13)), 'Today')
|
||||
with patch.object(timezone, "now", return_value=timezone.datetime(2021, 1, 13)):
|
||||
self.assertEqual(
|
||||
humanize_absolute_date(timezone.datetime(2021, 1, 13)), "Today"
|
||||
)
|
||||
|
||||
def test_humanize_relative_date(self):
|
||||
test_cases = [
|
||||
(timezone.datetime(2021, 1, 1), timezone.datetime(2022, 1, 1), '1 year ago'),
|
||||
(timezone.datetime(2021, 1, 1), timezone.datetime(2022, 12, 31), '1 year ago'),
|
||||
(timezone.datetime(2021, 1, 1), timezone.datetime(2023, 1, 1), '2 years ago'),
|
||||
(timezone.datetime(2021, 1, 1), timezone.datetime(2023, 12, 31), '2 years ago'),
|
||||
(timezone.datetime(2021, 1, 1), timezone.datetime(2021, 12, 31), '11 months ago'),
|
||||
(timezone.datetime(2021, 1, 1), timezone.datetime(2021, 2, 1), '1 month ago'),
|
||||
(timezone.datetime(2021, 1, 1), timezone.datetime(2021, 1, 31), '4 weeks ago'),
|
||||
(timezone.datetime(2021, 1, 1), timezone.datetime(2021, 1, 14), '1 week ago'),
|
||||
(timezone.datetime(2021, 1, 1), timezone.datetime(2021, 1, 8), '1 week ago'),
|
||||
(timezone.datetime(2021, 1, 1), timezone.datetime(2021, 1, 7), 'Friday'),
|
||||
(timezone.datetime(2021, 1, 1), timezone.datetime(2021, 1, 7, 23, 59), 'Friday'),
|
||||
(timezone.datetime(2021, 1, 1), timezone.datetime(2021, 1, 3), 'Friday'),
|
||||
(timezone.datetime(2021, 1, 1), timezone.datetime(2021, 1, 2), 'Yesterday'),
|
||||
(timezone.datetime(2021, 1, 1), timezone.datetime(2021, 1, 2, 23, 59), 'Yesterday'),
|
||||
(timezone.datetime(2021, 1, 1), timezone.datetime(2021, 1, 1), 'Today'),
|
||||
(
|
||||
timezone.datetime(2021, 1, 1),
|
||||
timezone.datetime(2022, 1, 1),
|
||||
"1 year ago",
|
||||
),
|
||||
(
|
||||
timezone.datetime(2021, 1, 1),
|
||||
timezone.datetime(2022, 12, 31),
|
||||
"1 year ago",
|
||||
),
|
||||
(
|
||||
timezone.datetime(2021, 1, 1),
|
||||
timezone.datetime(2023, 1, 1),
|
||||
"2 years ago",
|
||||
),
|
||||
(
|
||||
timezone.datetime(2021, 1, 1),
|
||||
timezone.datetime(2023, 12, 31),
|
||||
"2 years ago",
|
||||
),
|
||||
(
|
||||
timezone.datetime(2021, 1, 1),
|
||||
timezone.datetime(2021, 12, 31),
|
||||
"11 months ago",
|
||||
),
|
||||
(
|
||||
timezone.datetime(2021, 1, 1),
|
||||
timezone.datetime(2021, 2, 1),
|
||||
"1 month ago",
|
||||
),
|
||||
(
|
||||
timezone.datetime(2021, 1, 1),
|
||||
timezone.datetime(2021, 1, 31),
|
||||
"4 weeks ago",
|
||||
),
|
||||
(
|
||||
timezone.datetime(2021, 1, 1),
|
||||
timezone.datetime(2021, 1, 14),
|
||||
"1 week ago",
|
||||
),
|
||||
(
|
||||
timezone.datetime(2021, 1, 1),
|
||||
timezone.datetime(2021, 1, 8),
|
||||
"1 week ago",
|
||||
),
|
||||
(timezone.datetime(2021, 1, 1), timezone.datetime(2021, 1, 7), "Friday"),
|
||||
(
|
||||
timezone.datetime(2021, 1, 1),
|
||||
timezone.datetime(2021, 1, 7, 23, 59),
|
||||
"Friday",
|
||||
),
|
||||
(timezone.datetime(2021, 1, 1), timezone.datetime(2021, 1, 3), "Friday"),
|
||||
(timezone.datetime(2021, 1, 1), timezone.datetime(2021, 1, 2), "Yesterday"),
|
||||
(
|
||||
timezone.datetime(2021, 1, 1),
|
||||
timezone.datetime(2021, 1, 2, 23, 59),
|
||||
"Yesterday",
|
||||
),
|
||||
(timezone.datetime(2021, 1, 1), timezone.datetime(2021, 1, 1), "Today"),
|
||||
]
|
||||
|
||||
for test_case in test_cases:
|
||||
@@ -58,12 +130,16 @@ class UtilsTestCase(TestCase):
|
||||
self.assertEqual(test_case[2], result)
|
||||
|
||||
def test_humanize_relative_date_should_use_current_date_as_default(self):
|
||||
with patch.object(timezone, 'now', return_value=timezone.datetime(2021, 1, 1)):
|
||||
self.assertEqual(humanize_relative_date(timezone.datetime(2021, 1, 1)), 'Today')
|
||||
with patch.object(timezone, "now", return_value=timezone.datetime(2021, 1, 1)):
|
||||
self.assertEqual(
|
||||
humanize_relative_date(timezone.datetime(2021, 1, 1)), "Today"
|
||||
)
|
||||
|
||||
# Regression: Test that subsequent calls use current date instead of cached date (#107)
|
||||
with patch.object(timezone, 'now', return_value=timezone.datetime(2021, 1, 13)):
|
||||
self.assertEqual(humanize_relative_date(timezone.datetime(2021, 1, 13)), 'Today')
|
||||
with patch.object(timezone, "now", return_value=timezone.datetime(2021, 1, 13)):
|
||||
self.assertEqual(
|
||||
humanize_relative_date(timezone.datetime(2021, 1, 13)), "Today"
|
||||
)
|
||||
|
||||
def verify_timestamp(self, date, factor=1):
|
||||
timestamp_string = str(int(date.timestamp() * factor))
|
||||
@@ -72,7 +148,7 @@ class UtilsTestCase(TestCase):
|
||||
|
||||
def test_parse_timestamp_fails_for_invalid_timestamps(self):
|
||||
with self.assertRaises(ValueError):
|
||||
parse_timestamp('invalid')
|
||||
parse_timestamp("invalid")
|
||||
|
||||
def test_parse_timestamp_parses_millisecond_timestamps(self):
|
||||
now = timezone.now().replace(microsecond=0)
|
||||
|
Reference in New Issue
Block a user