generated from tophat/new-project-kit
-
Notifications
You must be signed in to change notification settings - Fork 34
/
test_matchers.py
43 lines (35 loc) · 1.13 KB
/
test_matchers.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
import datetime
import uuid
import pytest
from syrupy.matchers import path_type
def test_matcher_path_type_noop(snapshot):
with pytest.raises(ValueError):
path_type()
def test_matches_expected_type(snapshot):
my_matcher = path_type(
{"date_created": (datetime.datetime,), "nested.id": (int,)}, types=(uuid.UUID,)
)
actual = {
"date_created": datetime.datetime.now(),
"nested": {"id": 4},
"some_uuid": uuid.uuid4(),
}
assert actual == snapshot(matcher=my_matcher)
def test_raises_unexpected_type(snapshot):
kwargs = {
"mapping": {
"date_created": (datetime.datetime,),
"date_updated": (datetime.datetime,),
"nested.id": (str,),
},
"types": (uuid.UUID, int),
}
actual = {
"date_created": datetime.datetime.now(),
"date_updated": datetime.date(2020, 6, 1),
"nested": {"id": 4},
"some_uuid": uuid.uuid4(),
}
assert actual == snapshot(matcher=path_type(**kwargs, strict=False))
with pytest.raises(ValueError):
assert actual == snapshot(matcher=path_type(**kwargs))