-
-
Notifications
You must be signed in to change notification settings - Fork 13
/
Copy pathtest_rendering.py
105 lines (82 loc) · 2.8 KB
/
test_rendering.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
import tempfile
import pytest
from pathlib import Path
import faker
from tuttle import rendering, demo
@pytest.fixture
def fake():
return faker.Faker()
class TestRenderTimesheet:
"""Tests for render_timesheet"""
def test_returns_html_when_out_dir_is_none(self, fake):
user = demo.create_fake_user(fake)
timesheet = demo.create_fake_timesheet(fake)
document_format = "html"
style = "anvil"
only_final = False
result = rendering.render_timesheet(
user=user,
timesheet=timesheet,
out_dir=None,
document_format=document_format,
style=style,
only_final=only_final,
)
assert isinstance(result, str)
def test_creates_only_final_file(self, fake):
user = demo.create_fake_user(fake)
timesheet = demo.create_fake_timesheet(fake)
document_format = "pdf"
style = "anvil"
only_final = True
with tempfile.TemporaryDirectory() as out_dir:
rendering.render_timesheet(
user=user,
timesheet=timesheet,
out_dir=out_dir,
document_format=document_format,
style=style,
only_final=only_final,
)
prefix = timesheet.prefix
pdf_file = Path(out_dir) / Path(f"{prefix}.pdf")
assert pdf_file.is_file()
dir = Path(out_dir) / Path(prefix)
assert not dir.exists()
class TestRenderInvoice:
"""Tests for render_invoice"""
def test_returns_html_when_out_dir_is_none(self, fake):
user = demo.create_fake_user(fake)
invoice = demo.create_fake_invoice(fake)
document_format = "html"
style = "anvil"
only_final = False
result = rendering.render_invoice(
user=user,
invoice=invoice,
out_dir=None,
document_format=document_format,
style=style,
only_final=only_final,
)
assert isinstance(result, str)
def test_creates_only_final_file(self, fake):
user = demo.create_fake_user(fake)
invoice = demo.create_fake_invoice(fake)
document_format = "pdf"
style = "anvil"
only_final = True
with tempfile.TemporaryDirectory() as out_dir:
rendering.render_invoice(
user=user,
invoice=invoice,
out_dir=out_dir,
document_format=document_format,
style=style,
only_final=only_final,
)
prefix = invoice.prefix
pdf_file = Path(out_dir) / Path(f"{prefix}.pdf")
assert pdf_file.is_file()
dir = Path(out_dir) / Path(prefix)
assert not dir.exists()