1+ from unittest import mock
2+
13import pytest
24from django .db import models
5+ from django .db .models .options import Options
36
47from app import routers
58
@@ -16,14 +19,13 @@ def test_analytics_router_db_for_read__given_app_label__returns_expected_db(
1619 expected_db : str | None ,
1720) -> None :
1821 # Given
19- class AnalyticsModel (models .Model ):
20- class Meta :
21- app_label = given_app_label
22-
22+ mock_model = mock .MagicMock (spec = models .Model )
23+ mock_model ._meta = mock .MagicMock (spec = Options )
24+ mock_model ._meta .app_label = given_app_label
2325 router = routers .AnalyticsRouter ()
2426
2527 # When
26- db = router .db_for_read (AnalyticsModel )
28+ db = router .db_for_read (mock_model )
2729
2830 # Then
2931 assert db == expected_db
@@ -41,14 +43,13 @@ def test_analytics_router_db_for_write__given_app_label__returns_expected_db(
4143 expected_db : str | None ,
4244) -> None :
4345 # Given
44- class MyModel (models .Model ):
45- class Meta :
46- app_label = model_app_label
47-
46+ mock_model = mock .MagicMock (spec = models .Model )
47+ mock_model ._meta = mock .MagicMock (spec = Options )
48+ mock_model ._meta .app_label = model_app_label
4849 router = routers .AnalyticsRouter ()
4950
5051 # When
51- db = router .db_for_write (MyModel )
52+ db = router .db_for_write (mock_model )
5253
5354 # Then
5455 assert db == expected_db
@@ -67,18 +68,16 @@ def test_analytics_router_allow_relation__given_app_labels__returns_expected(
6768 expected : bool | None ,
6869) -> None :
6970 # 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-
71+ mock_instance1 = mock .MagicMock (spec = models .Model )
72+ mock_instance1 ._meta = mock .MagicMock (spec = Options )
73+ mock_instance1 ._meta .app_label = model1_app_label
74+ mock_instance2 = mock .MagicMock (spec = models .Model )
75+ mock_instance2 ._meta = mock .MagicMock (spec = Options )
76+ mock_instance2 ._meta .app_label = model2_app_label
7877 router = routers .AnalyticsRouter ()
7978
8079 # When
81- result = router .allow_relation (MyModel1 (), MyModel2 () )
80+ result = router .allow_relation (mock_instance1 , mock_instance2 )
8281
8382 # Then
8483 assert result == expected
0 commit comments