@@ -14,18 +14,27 @@ def setUpClass(cls):
1414 super ().setUpClass ()
1515 cls .loader = FakeModelLoader (cls .env , cls .__module__ )
1616 cls .loader .backup_registry ()
17+ cls ._origin_fields = {}
18+ for model in "res.partner" , "res.users" :
19+ cls ._origin_fields [model ] = set (dir (cls .env [model ].__class__ ))
1720
21+ def setUp (self ):
22+ super ().setUp ()
1823 # The fake class is imported here !! After the backup_registry
1924 from .models import FakePartner
2025
21- cls .loader .update_registry ((FakePartner ,))
22- cls .set_new_key_env ("prod" )
23- cls .set_new_key_env ("preprod" )
26+ self .loader .update_registry ((FakePartner ,))
27+ self .addCleanup (self .loader .restore_registry )
28+ self .addCleanup (self .remove_mixin_fields )
29+ self .set_new_key_env ("prod" )
30+ self .set_new_key_env ("preprod" )
2431
25- @classmethod
26- def tearDownClass (cls ):
27- cls .loader .restore_registry ()
28- super ().tearDownClass ()
32+ def remove_mixin_fields (self ):
33+ # E.g: server_env_defaults, _inverse_server_env_city
34+ for model in "res.partner" , "res.users" :
35+ extra = set (self .env [model ].__class__ .__dict__ ) - self ._origin_fields [model ]
36+ for attr in extra :
37+ delattr (self .env [model ].__class__ , attr )
2938
3039 def test_env_dependent_value (self ):
3140 partner = self .env ["res.partner" ].create (
0 commit comments