Skip to content

Commit 826dce2

Browse files
authored
Merge pull request #54 from n0nSmoker/test/add.new.test.of.serialize_model.method
New test for the serialize_model method
2 parents d807833 + 858d5ef commit 826dce2

2 files changed

Lines changed: 31 additions & 1 deletion

File tree

tests/models.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@ class FlatModel(Base, SerializerMixin):
3333
time = sa.Column(sa.Time, default=TIME)
3434
bool = sa.Column(sa.Boolean, default=True)
3535
null = sa.Column(sa.String)
36-
uuid = sa.Column(UUID(as_uuid=True), default=lambda: uuid4())
36+
uuid = sa.Column(UUID(as_uuid=True), default=uuid4)
3737
list = [1, "test_string", 0.9, {"key": 123, "key2": 23423}, {"key": 234}]
3838
set = {1, 2, "test_string"}
3939
dict = dict(key=123, key2={"key": 12})
Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
import pytest
2+
3+
from tests.models import FlatModel, NestedModel
4+
5+
6+
@pytest.fixture
7+
def test_model(get_instance):
8+
model = get_instance(NestedModel)
9+
model.model = get_instance(FlatModel)
10+
return model
11+
12+
13+
# TODO: Add more checks of model fields
14+
@pytest.mark.parametrize(
15+
"only, expected",
16+
[
17+
# FIXME: last `key` ignored and all the rist is returned is it expected?
18+
# (("model.list.key",), {"model": {"list": [{"key": 123}]}}),
19+
(("dict.key",), {"dict": {"key": 123}}),
20+
(("bool",), {"bool": False}),
21+
(("null",), {"null": None}), # FIXME: Invalid JSON
22+
],
23+
)
24+
def test_serializer_serialize_model__fork_success(
25+
get_serializer, test_model, only, expected
26+
):
27+
serializer = get_serializer()
28+
serializer.schema.update(only=only)
29+
result = serializer.serialize_model(test_model)
30+
assert result == expected

0 commit comments

Comments
 (0)