Coverage for tests / test_tutorial / test_many_to_many / test_tutorial002.py: 100%
15 statements
« prev ^ index » next coverage.py v7.13.0, created at 2026-06-10 09:40 +0000
« prev ^ index » next coverage.py v7.13.0, created at 2026-06-10 09:40 +0000
1import importlib 1abcdefgh
2from types import ModuleType 1abcdefgh
4import pytest 1abcdefgh
5from sqlmodel import create_engine 1abcdefgh
7from ...conftest import PrintMock 1abcdefgh
10@pytest.fixture( 1abcdefgh
11 name="mod",
12 params=[
13 pytest.param("tutorial002_py310"),
14 ],
15)
16def get_module(request: pytest.FixtureRequest) -> ModuleType: 1abcdefgh
17 mod = importlib.import_module(f"docs_src.tutorial.many_to_many.{request.param}") 1abcdefgh
18 mod.sqlite_url = "sqlite://" 1abcdefgh
19 mod.engine = create_engine(mod.sqlite_url) 1abcdefgh
20 return mod 1abcdefgh
23expected_calls = [ 1abcdefgh
24 [
25 "Deadpond:",
26 {"id": 1, "secret_name": "Dive Wilson", "age": None, "name": "Deadpond"},
27 ],
28 [
29 "Deadpond teams:",
30 [
31 {"id": 1, "name": "Z-Force", "headquarters": "Sister Margaret's Bar"},
32 {"id": 2, "name": "Preventers", "headquarters": "Sharp Tower"},
33 ],
34 ],
35 [
36 "Rusty-Man:",
37 {"id": 2, "secret_name": "Tommy Sharp", "age": 48, "name": "Rusty-Man"},
38 ],
39 [
40 "Rusty-Man Teams:",
41 [{"id": 2, "name": "Preventers", "headquarters": "Sharp Tower"}],
42 ],
43 [
44 "Spider-Boy:",
45 {"id": 3, "secret_name": "Pedro Parqueador", "age": None, "name": "Spider-Boy"},
46 ],
47 [
48 "Spider-Boy Teams:",
49 [{"id": 2, "name": "Preventers", "headquarters": "Sharp Tower"}],
50 ],
51 [
52 "Updated Spider-Boy's Teams:",
53 [
54 {"id": 2, "name": "Preventers", "headquarters": "Sharp Tower"},
55 {"id": 1, "name": "Z-Force", "headquarters": "Sister Margaret's Bar"},
56 ],
57 ],
58 [
59 "Z-Force heroes:",
60 [
61 {"id": 1, "secret_name": "Dive Wilson", "age": None, "name": "Deadpond"},
62 {
63 "id": 3,
64 "secret_name": "Pedro Parqueador",
65 "age": None,
66 "name": "Spider-Boy",
67 },
68 ],
69 ],
70 [
71 "Reverted Z-Force's heroes:",
72 [{"id": 1, "secret_name": "Dive Wilson", "age": None, "name": "Deadpond"}],
73 ],
74 [
75 "Reverted Spider-Boy's teams:",
76 [{"id": 2, "name": "Preventers", "headquarters": "Sharp Tower"}],
77 ],
78]
81def test_tutorial(print_mock: PrintMock, mod: ModuleType): 1abcdefgh
82 mod.main() 1ijklmnop
83 assert print_mock.calls == expected_calls 1ijklmnop