This commit is contained in:
@@ -54,11 +54,11 @@ class BlogEditorTests(unittest.TestCase):
|
||||
values.update(overrides)
|
||||
return values
|
||||
|
||||
def test_current_site_blog_records_and_controlled_tags_load(self) -> None:
|
||||
def test_current_site_blog_records_and_tracked_tags_load(self) -> None:
|
||||
repository = BlogRepository(Path(__file__).resolve().parents[1])
|
||||
entries = repository.list_entries()
|
||||
self.assertGreaterEqual(len(entries), 7)
|
||||
self.assertGreaterEqual(len(repository.tags), 45)
|
||||
self.assertGreaterEqual(len(repository.tags), 40)
|
||||
self.assertTrue(all(entry.document.get("kicker") == "Blog" for entry in entries))
|
||||
for entry in entries:
|
||||
with self.subTest(slug=entry.slug):
|
||||
@@ -126,9 +126,23 @@ class BlogEditorTests(unittest.TestCase):
|
||||
self.repository.delete_entry(entry)
|
||||
self.assertTrue(entry.path.is_file())
|
||||
|
||||
def test_unapproved_tag_is_rejected(self) -> None:
|
||||
with self.assertRaisesRegex(BlogEditorError, "unapproved tag"):
|
||||
self.repository.create_entry("test-entry", self.values(tags="invented"))
|
||||
def test_freeform_tags_are_normalized_deduplicated_and_do_not_create_records(self) -> None:
|
||||
entry = self.repository.create_entry(
|
||||
"test-entry", self.values(tags="writing, Weird Experiment, weird-experiment")
|
||||
)
|
||||
|
||||
self.assertEqual(entry.document.get("tags"), "writing, weird-experiment")
|
||||
self.assertFalse((self.site_root / "content" / "tags" / "weird-experiment").exists())
|
||||
|
||||
def test_loading_and_saving_preserves_tracked_and_freeform_tags(self) -> None:
|
||||
entry = self.repository.create_entry(
|
||||
"test-entry", self.values(tags="writing, retrocomputing")
|
||||
)
|
||||
values = self.repository.values_for(entry.document)
|
||||
values["summary"] = "Edited without changing tags."
|
||||
saved = self.repository.save_entry(entry, values)
|
||||
|
||||
self.assertEqual(saved.document.get("tags"), "writing, retrocomputing")
|
||||
|
||||
def test_slug_suggestion_matches_repository_style(self) -> None:
|
||||
self.assertEqual(suggest_slug("We’re Testing: A GUI!"), "were-testing-a-gui")
|
||||
|
||||
Reference in New Issue
Block a user