From a51c2ec2e0a1c4e61833d7ae3343556ac3e56e2f Mon Sep 17 00:00:00 2001 From: juk0de Date: Tue, 6 Feb 2024 14:45:16 +0100 Subject: [PATCH] added test module for the 'glossary' command --- tests/test_glossary_cmd.py | 37 +++++++++++++++++++++++++++++++++++++ 1 file changed, 37 insertions(+) create mode 100644 tests/test_glossary_cmd.py diff --git a/tests/test_glossary_cmd.py b/tests/test_glossary_cmd.py new file mode 100644 index 0000000..4d4ae95 --- /dev/null +++ b/tests/test_glossary_cmd.py @@ -0,0 +1,37 @@ +import unittest +import argparse +import tempfile +from chatmastermind.configuration import Config +from chatmastermind.commands.glossary import glossary_cmd, GlossaryCmdError + + +class TestGlossaryCmd(unittest.TestCase): + + def setUp(self) -> None: + # create DB and cache + self.db_dir = tempfile.TemporaryDirectory() + self.cache_dir = tempfile.TemporaryDirectory() + self.glossaries_dir = tempfile.TemporaryDirectory() + # create configuration + self.config = Config() + self.config.cache = self.cache_dir.name + self.config.db = self.db_dir.name + self.config.glossaries = self.glossaries_dir.name + # create a mock argparse.Namespace + self.args = argparse.Namespace( + create=True, + list=False, + name='new_glossary', + file=None, + source_lang='en', + target_lang='de', + ) + + def test_glossary_cmd_no_glossaries_err(self) -> None: + """ + Test calling the glossary command without a glossaries directory. + """ + self.config.glossaries = None + with self.assertRaises(GlossaryCmdError) as err: + glossary_cmd(self.args, self.config) + self.assertIn(str(err.exception).lower(), "glossaries directory missing")