11import pytest
2+ from unittest import mock
23from django .db import models
3-
44from app import routers
55
66
@@ -16,14 +16,13 @@ def test_analytics_router_db_for_read__given_app_label__returns_expected_db(
1616 expected_db : str | None ,
1717) -> None :
1818 # Given
19- class AnalyticsModel (models .Model ):
20- class Meta :
21- app_label = given_app_label
22-
19+ mock_model = mock .MagicMock (spec = models .Model )
20+ mock_model ._meta = mock .MagicMock ()
21+ mock_model ._meta .app_label = given_app_label
2322 router = routers .AnalyticsRouter ()
2423
2524 # When
26- db = router .db_for_read (AnalyticsModel )
25+ db = router .db_for_read (mock_model )
2726
2827 # Then
2928 assert db == expected_db
@@ -41,14 +40,13 @@ def test_analytics_router_db_for_write__given_app_label__returns_expected_db(
4140 expected_db : str | None ,
4241) -> None :
4342 # Given
44- class MyModel (models .Model ):
45- class Meta :
46- app_label = model_app_label
47-
43+ mock_model = mock .MagicMock (spec = models .Model )
44+ mock_model ._meta = mock .MagicMock ()
45+ mock_model ._meta .app_label = model_app_label
4846 router = routers .AnalyticsRouter ()
4947
5048 # When
51- db = router .db_for_write (MyModel )
49+ db = router .db_for_write (mock_model )
5250
5351 # Then
5452 assert db == expected_db
@@ -67,18 +65,16 @@ def test_analytics_router_allow_relation__given_app_labels__returns_expected(
6765 expected : bool | None ,
6866) -> None :
6967 # Given
70- class MyModel1 (models .Model ):
71- class Meta :
72- app_label = model1_app_label
73-
74- class MyModel2 (models .Model ):
75- class Meta :
76- app_label = model2_app_label
77-
68+ mock_instance1 = mock .MagicMock (spec = models .Model )
69+ mock_instance1 ._meta = mock .MagicMock ()
70+ mock_instance1 ._meta .app_label = model1_app_label
71+ mock_instance2 = mock .MagicMock (spec = models .Model )
72+ mock_instance2 ._meta = mock .MagicMock ()
73+ mock_instance2 ._meta .app_label = model2_app_label
7874 router = routers .AnalyticsRouter ()
7975
8076 # When
81- result = router .allow_relation (MyModel1 (), MyModel2 () )
77+ result = router .allow_relation (mock_instance1 , mock_instance2 )
8278
8379 # Then
8480 assert result == expected
0 commit comments