From e4737ddfbb8823fb837d477d44731a3107b3f890 Mon Sep 17 00:00:00 2001 From: Lucas Date: Thu, 30 Sep 2021 09:41:58 -0300 Subject: [PATCH] Added test for main function, template and json for running test --- tests/main.py | 21 ++++++++++++++++++++ tests/templates/json_for_main_test.json | 8 ++++++++ tests/templates/template_for_main_test.docx | Bin 0 -> 14418 bytes 3 files changed, 29 insertions(+) create mode 100644 tests/main.py create mode 100644 tests/templates/json_for_main_test.json create mode 100644 tests/templates/template_for_main_test.docx diff --git a/tests/main.py b/tests/main.py new file mode 100644 index 0000000..adae5ee --- /dev/null +++ b/tests/main.py @@ -0,0 +1,21 @@ +from docxtpl.__main__ import main +import sys +from pathlib import Path + +TEMPLATE_PATH = 'templates/template_for_main_test.docx' +JSON_PATH = 'templates/json_for_main_test.json' +OUTPUT_FILENAME = 'output/output_for_main_test.docx' +OVERWRITE = '-o' + + +# Simulate command line arguments, running with overwrite flag so test can be +# run repeatedly without need for confirmation: +sys.argv[1:] = [TEMPLATE_PATH, JSON_PATH, OUTPUT_FILENAME, OVERWRITE] + +main() + +output_path = Path(OUTPUT_FILENAME) + +if output_path.exists(): + print(f'File {output_path.resolve()} exists.') + diff --git a/tests/templates/json_for_main_test.json b/tests/templates/json_for_main_test.json new file mode 100644 index 0000000..535e175 --- /dev/null +++ b/tests/templates/json_for_main_test.json @@ -0,0 +1,8 @@ +{"json_dict_var" : {"json_dict_var":"successfully inserted"}, +"json_array_var": ["json","array","var","successfully", "inserted"], +"json_string_var":"json_string_var successfully inserted", +"json_int_var":123, +"json_float_var":1.234, +"json_true_var":true, +"json_false_var":false, +"json_none_var":null} \ No newline at end of file diff --git a/tests/templates/template_for_main_test.docx b/tests/templates/template_for_main_test.docx new file mode 100644 index 0000000000000000000000000000000000000000..88b6250069af7dc281689630de76acba8fa79f06 GIT binary patch literal 14418 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 literal 0 HcmV?d00001