expand period tests to be more specific

This commit is contained in:
Deniz Turgut 2023-10-28 22:11:11 +03:00
commit b8d5919cd2
No known key found for this signature in database
GPG key ID: 87B7168D7AB3ED2F
2 changed files with 48 additions and 16 deletions

View file

@ -484,7 +484,7 @@ class ArticlesGenerator(CachingGenerator):
except PelicanTemplateNotFound: except PelicanTemplateNotFound:
template = self.get_template('archives') template = self.get_template('archives')
for granularity in list(self.period_archives.keys()): for granularity in self.period_archives:
for period in self.period_archives[granularity]: for period in self.period_archives[granularity]:
context = self.context.copy() context = self.context.copy()

View file

@ -431,11 +431,12 @@ class TestArticlesGenerator(unittest.TestCase):
path=CONTENT_DIR, theme=settings['THEME'], output_path=None) path=CONTENT_DIR, theme=settings['THEME'], output_path=None)
generator.generate_context() generator.generate_context()
period_archives = generator.context['period_archives'] period_archives = generator.context['period_archives']
self.assertEqual(len(period_archives.items()), 1) abbreviated_archives = {
self.assertIn('year', period_archives.keys()) granularity: {period['period'] for period in periods}
archive_years = [p['period'][0] for p in period_archives['year']] for granularity, periods in period_archives.items()
self.assertIn(1970, archive_years) }
self.assertIn(2014, archive_years) expected = {'year': {(1970,), (2010,), (2012,), (2014,)}}
self.assertEqual(expected, abbreviated_archives)
# Month archives enabled: # Month archives enabled:
settings['MONTH_ARCHIVE_SAVE_AS'] = \ settings['MONTH_ARCHIVE_SAVE_AS'] = \
@ -448,11 +449,22 @@ class TestArticlesGenerator(unittest.TestCase):
path=CONTENT_DIR, theme=settings['THEME'], output_path=None) path=CONTENT_DIR, theme=settings['THEME'], output_path=None)
generator.generate_context() generator.generate_context()
period_archives = generator.context['period_archives'] period_archives = generator.context['period_archives']
self.assertEqual(len(period_archives.items()), 2) abbreviated_archives = {
self.assertIn('month', period_archives.keys()) granularity: {period['period'] for period in periods}
month_archives_tuples = [p['period'] for p in period_archives['month']] for granularity, periods in period_archives.items()
self.assertIn((1970, 'January'), month_archives_tuples) }
self.assertIn((2014, 'February'), month_archives_tuples) expected = {
'year': {(1970,), (2010,), (2012,), (2014,)},
'month': {
(1970, 'January'),
(2010, 'December'),
(2012, 'December'),
(2012, 'November'),
(2012, 'October'),
(2014, 'February'),
},
}
self.assertEqual(expected, abbreviated_archives)
# Day archives enabled: # Day archives enabled:
settings['DAY_ARCHIVE_SAVE_AS'] = \ settings['DAY_ARCHIVE_SAVE_AS'] = \
@ -465,11 +477,31 @@ class TestArticlesGenerator(unittest.TestCase):
path=CONTENT_DIR, theme=settings['THEME'], output_path=None) path=CONTENT_DIR, theme=settings['THEME'], output_path=None)
generator.generate_context() generator.generate_context()
period_archives = generator.context['period_archives'] period_archives = generator.context['period_archives']
self.assertEqual(len(period_archives.items()), 3) abbreviated_archives = {
self.assertIn('day', period_archives.keys()) granularity: {period['period'] for period in periods}
day_archives_tuples = [p['period'] for p in period_archives['day']] for granularity, periods in period_archives.items()
self.assertIn((1970, 'January', 1), day_archives_tuples) }
self.assertIn((2014, 'February', 9), day_archives_tuples) expected = {
'year': {(1970,), (2010,), (2012,), (2014,)},
'month': {
(1970, 'January'),
(2010, 'December'),
(2012, 'December'),
(2012, 'November'),
(2012, 'October'),
(2014, 'February'),
},
'day': {
(1970, 'January', 1),
(2010, 'December', 2),
(2012, 'December', 20),
(2012, 'November', 29),
(2012, 'October', 30),
(2012, 'October', 31),
(2014, 'February', 9),
},
}
self.assertEqual(expected, abbreviated_archives)
# Further item values tests # Further item values tests
filtered_archives = [ filtered_archives = [