-
-
Notifications
You must be signed in to change notification settings - Fork 13
/
Copy pathtest_demo.py
64 lines (51 loc) · 1.9 KB
/
test_demo.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
import faker
import pytest
from tuttle.model import Contact, Client, Contract, Project, User
from tuttle import demo
@pytest.fixture
def fake():
return faker.Faker()
def test_create_fake_user(fake):
user = demo.create_fake_user(fake)
assert user.name is not None
assert user.email is not None
assert user.subtitle is not None
assert user.VAT_number is not None
def test_create_fake_contact(fake):
contact = demo.create_fake_contact(fake)
assert isinstance(contact, Contact)
assert contact.first_name is not None
assert contact.last_name is not None
assert contact.email is not None
assert contact.company is not None
assert contact.address is not None
def test_create_fake_client(fake):
client = demo.create_fake_client(fake)
assert isinstance(client, Client)
assert client.name is not None
assert client.invoicing_contact is not None
def test_create_fake_contract(fake):
contract = demo.create_fake_contract(fake)
assert isinstance(contract, Contract)
assert contract.title is not None
assert contract.client is not None
assert contract.signature_date is not None
assert contract.start_date is not None
assert contract.rate is not None
assert contract.currency is not None
assert contract.VAT_rate is not None
assert contract.unit is not None
assert contract.units_per_workday is not None
assert contract.volume is not None
assert contract.term_of_payment is not None
assert contract.billing_cycle is not None
def test_create_fake_project(fake):
project = demo.create_fake_project(fake)
assert isinstance(project, Project)
assert project.title is not None
assert project.tag is not None
assert project.description is not None
assert project.is_completed is not None
assert project.start_date is not None
assert project.end_date is not None
assert project.contract is not None