mirror of
				https://github.com/fastapi/sqlmodel.git
				synced 2025-10-31 18:15:44 +08:00 
			
		
		
		
	
		
			
				
	
	
		
			45 lines
		
	
	
		
			970 B
		
	
	
	
		
			Python
		
	
	
	
	
	
			
		
		
	
	
			45 lines
		
	
	
		
			970 B
		
	
	
	
		
			Python
		
	
	
	
	
	
| from decimal import Decimal
 | |
| from unittest.mock import patch
 | |
| 
 | |
| from sqlmodel import create_engine
 | |
| 
 | |
| from ...conftest import get_testing_print_function
 | |
| 
 | |
| expected_calls = [
 | |
|     [
 | |
|         "Hero 1:",
 | |
|         {
 | |
|             "name": "Deadpond",
 | |
|             "age": None,
 | |
|             "id": 1,
 | |
|             "secret_name": "Dive Wilson",
 | |
|             "money": Decimal("1.100"),
 | |
|         },
 | |
|     ],
 | |
|     [
 | |
|         "Hero 2:",
 | |
|         {
 | |
|             "name": "Rusty-Man",
 | |
|             "age": 48,
 | |
|             "id": 3,
 | |
|             "secret_name": "Tommy Sharp",
 | |
|             "money": Decimal("2.200"),
 | |
|         },
 | |
|     ],
 | |
|     ["Total money: 3.300"],
 | |
| ]
 | |
| 
 | |
| 
 | |
| def test_tutorial(clear_sqlmodel):
 | |
|     from docs_src.advanced.decimal import tutorial001 as mod
 | |
| 
 | |
|     mod.sqlite_url = "sqlite://"
 | |
|     mod.engine = create_engine(mod.sqlite_url)
 | |
|     calls = []
 | |
| 
 | |
|     new_print = get_testing_print_function(calls)
 | |
| 
 | |
|     with patch("builtins.print", new=new_print):
 | |
|         mod.main()
 | |
|     assert calls == expected_calls
 | 
