-
Anders H. Rebner authoredAnders H. Rebner authored
test_codebook_to_pdf.py 2.09 KiB
"""Test exporting codebook to PDF."""
import unittest
import os
from pathlib import Path
from datetime import datetime
from soitool import codebook_to_pdf
from soitool.database import Database
TESTDBNAME = "testDatabase"
SOITOOL_DIR = Path(__file__).parent.parent / "soitool"
TESTDBPATH = os.path.join(SOITOOL_DIR, TESTDBNAME)
SOITOOL_ROOT_PATH = Path(__file__).parent.parent
class ExportTest(unittest.TestCase):
"""Test codebook_to_pdf.py."""
def test_generate_filename(self):
"""Test generated filename is as expected."""
# Get current date in format YYYY_mm_dd
today = datetime.now().strftime("%Y_%m_%d")
# Assert correct filename for full codebook
expected = f"Kodebok_{today}.pdf"
actual = codebook_to_pdf.generate_filename(small=False)
self.assertEqual(expected, actual)
# Assert correct filename for small codebook
expected = f"Kodebok_liten_{today}.pdf"
actual = codebook_to_pdf.generate_filename(small=True)
self.assertEqual(expected, actual)
def test_generate_codebook_pdf(self):
"""Test generated PDF-file exist."""
database = Database(TESTDBPATH)
# Test full codebook (default)
codebook_to_pdf.generate_codebook_pdf(database=database)
file_name = codebook_to_pdf.generate_filename(small=False)
file_path_full = os.path.join(SOITOOL_ROOT_PATH, file_name)
# Assert file exists
self.assertTrue(os.path.exists(file_path_full))
# Test small codebook
codebook_to_pdf.generate_codebook_pdf(database=database, small=True)
file_name = codebook_to_pdf.generate_filename(small=True)
file_path_small = os.path.join(SOITOOL_ROOT_PATH, file_name)
# Assert file exists
self.assertTrue(os.path.exists(file_path_small))
# Delete generated files
if os.path.exists(file_path_full):
os.remove(file_path_full)
if os.path.exists(file_path_small):
os.remove(file_path_small)
if os.path.exists(TESTDBPATH):
database.conn.close()
os.remove(TESTDBPATH)