mirror of
				https://github.com/mealie-recipes/mealie.git
				synced 2025-11-03 18:53:17 -05:00 
			
		
		
		
	* 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>
		
			
				
	
	
		
			62 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
			
		
		
	
	
			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"
 |