-
Notifications
You must be signed in to change notification settings - Fork 480
Expand file tree
/
Copy pathtest_common.py
More file actions
38 lines (25 loc) · 1.09 KB
/
test_common.py
File metadata and controls
38 lines (25 loc) · 1.09 KB
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
import pytest
from tortoise import fields
# Tests for field.required property - no database access needed
@pytest.mark.asyncio
async def test_required_by_default():
assert fields.Field().required is True
@pytest.mark.asyncio
async def test_if_generated_then_not_required():
assert fields.Field(generated=True).required is False
@pytest.mark.asyncio
async def test_if_null_then_not_required():
assert fields.Field(null=True).required is False
@pytest.mark.asyncio
async def test_if_has_non_null_default_then_not_required():
assert fields.TextField(default="").required is False
@pytest.mark.asyncio
async def test_if_null_default_then_required():
assert fields.TextField(default=None).required is True
def test_django_field_name_compatibility():
assert fields.IntegerField is fields.IntField
assert fields.BigIntegerField is fields.BigIntField
assert fields.SmallIntegerField is fields.SmallIntField
assert fields.DateTimeField is fields.DatetimeField
assert fields.DurationField is fields.TimeDeltaField
assert fields.ForeignKey is fields.ForeignKeyField