added test module for the 'glossary' command

This commit is contained in:
juk0de 2024-02-06 14:45:16 +01:00
parent f78ddb93dc
commit d19563c27c

View File

@ -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")