-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathtest_sales.py
68 lines (49 loc) · 1.99 KB
/
test_sales.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
import json
from datetime import datetime, timedelta
from SBDY_app.patches import serialize_datetime
from SBDY_app.schemas import Import, ImpRequest, StatResponse
from utils import ERROR_400, Client, client, default, do_test, setup
setup()
def test_ok(client: Client):
date = default(datetime)
response = client.sales(date)
assert response.status_code == 200
assert response.json() == StatResponse(items=[])
def test_boundaries(client: Client):
date = default(datetime)
imp = default(Import, parentId=None)
response = client.imports(default(
ImpRequest, items=[imp], updateDate=date).json())
assert response.status_code == 200
model = {"items": [{**json.loads(imp.json()),
"date": serialize_datetime(date)}]}
response = client.sales(date)
assert response.status_code == 200
assert response.json() == model
response = client.sales(date + timedelta(milliseconds=1))
assert response.status_code == 200
assert response.json() == model
response = client.sales(date + timedelta(days=1))
assert response.status_code == 200
assert response.json() == model
response = client.sales(date + timedelta(days=1, milliseconds=1))
assert response.status_code == 200
assert response.json() == {"items": []}
response = client.sales(date - timedelta(days=1))
assert response.status_code == 200
assert response.json() == {"items": []}
response = client.sales(date - timedelta(milliseconds=1))
assert response.status_code == 200
assert response.json() == {"items": []}
def test_validation(client: Client):
response = client.sales()
assert response.status_code == 400
assert response.json() == ERROR_400
response = client.sales("abooba")
assert response.status_code == 400
assert response.json() == ERROR_400
response = client.sales("42069")
assert response.status_code == 400
assert response.json() == ERROR_400
if __name__ == "__main__":
do_test(__file__)