mealie/tests/unit_tests/schema_tests/test_mealie_model.py
Hayden 9e77a9f367
prs-fleshgolem-2070: feat: sqlalchemy 2.0 (#2096)
* upgrade sqlalchemy to 2.0

* rewrite all db models to sqla 2.0 mapping api

* fix some importing and typing weirdness

* fix types of a lot of nullable columns

* remove get_ref methods

* fix issues found by tests

* rewrite all queries in repository_recipe to 2.0 style

* rewrite all repository queries to 2.0 api

* rewrite all remaining queries to 2.0 api

* remove now-unneeded __allow_unmapped__ flag

* remove and fix some unneeded cases of "# type: ignore"

* fix formatting

* bump black version

* run black

* can this please be the last one. okay. just. okay.

* fix repository errors

* remove return

* drop open API validator

---------

Co-authored-by: Sören Busch <fleshgolem@gmx.net>
2023-02-06 18:43:12 -09:00

62 lines
1.5 KiB
Python

from mealie.schema._mealie.mealie_model import MealieModel
class TestModel(MealieModel):
long_name: str
long_int: int
long_float: float
class TestModel2(MealieModel):
long_name: str
long_int: int
long_float: float
another_str: str
def test_camelize_variables():
model = TestModel(long_name="Hello", long_int=1, long_float=1.1)
as_dict = model.dict(by_alias=True)
assert as_dict["longName"] == "Hello"
assert as_dict["longInt"] == 1
assert as_dict["longFloat"] == 1.1
def test_cast_to():
model = TestModel(long_name="Hello", long_int=1, long_float=1.1)
model2 = model.cast(TestModel2, another_str="World")
assert model2.long_name == "Hello"
assert model2.long_int == 1
assert model2.long_float == 1.1
assert model2.another_str == "World"
def test_map_to():
model = TestModel(long_name="Model1", long_int=100, long_float=1.5)
model2 = TestModel2(long_name="Model2", long_int=1, long_float=1.1, another_str="World")
model.map_to(model2)
assert model2.long_name == "Model1"
assert model2.long_int == 100
assert model2.long_float == 1.5
assert model2.another_str == "World"
def test_map_from():
model = TestModel(long_name="Model1", long_int=50, long_float=1.5)
model2 = TestModel2(long_name="Hello", long_int=1, long_float=1.1, another_str="World")
model2.map_from(model)
assert model2.long_name == "Model1"
assert model2.long_int == 50
assert model2.long_float == 1.5
assert model2.another_str == "World"