Fix populate_default_values

This commit is contained in:
Kurbanov Bulat
2021-11-15 20:23:24 +03:00
parent 2065a7d345
commit a720ab9510
2 changed files with 45 additions and 1 deletions

View File

@ -0,0 +1,41 @@
import databases
import pytest
import sqlalchemy
from sqlalchemy import text
import ormar
from tests.settings import DATABASE_URL
database = databases.Database(DATABASE_URL, force_rollback=True)
metadata = sqlalchemy.MetaData()
class BaseMeta(ormar.ModelMeta):
database = database
metadata = metadata
class Task(ormar.Model):
class Meta(BaseMeta):
tablename = "tasks"
id: int = ormar.Integer(primary_key=True)
name: str = ormar.String(
max_length=255, minimum=0, server_default=text("Default Name"), nullable=False
)
points: int = ormar.Integer(
default=0, minimum=0, server_default=text("0"), nullable=False
)
def test_populate_default_values():
new_kwargs = {
"id": None,
"name": "",
"points": 0,
}
result = Task.populate_default_values(new_kwargs)
assert result["id"] is None
assert result["name"] == ""
assert result["points"] == 0