@@ -1131,6 +1131,31 @@ def test_invert_boolean_field(self):
11311131 initial_repartition [False ] += initial_repartition .pop (None , 0 )
11321132 self .assertEqual (back_repartition , initial_repartition )
11331133
1134+ def test_change_field_selection_with_default (self ):
1135+ cr = self .env .cr
1136+ lang = self .env ["res.lang" ].create ({"name" : "Elvish" , "code" : "el_VISH" , "active" : True })
1137+ if util .table_exists (cr , "ir_default" ):
1138+ self .env ["ir.default" ].set ("res.partner" , "lang" , "el_VISH" )
1139+ else :
1140+ self .env ["ir.values" ].set_default ("res.partner" , "lang" , "el_VISH" )
1141+ util .flush (lang )
1142+ partner = self .env ["res.partner" ].create ({"name" : "Gandalf" })
1143+ self .assertEqual (partner .lang , "el_VISH" )
1144+
1145+ util .invalidate (partner )
1146+ util .change_field_selection_values (cr , "res.partner" , "lang" , {"el_VISH" : "en_US" })
1147+
1148+ self .assertEqual (partner .lang , "en_US" )
1149+
1150+ if util .table_exists (cr , "ir_default" ):
1151+ new_default = (getattr (self .env ["ir.default" ], "get" , None ) or self .env ["ir.default" ]._get )(
1152+ "res.partner" , "lang"
1153+ )
1154+ else :
1155+ new_default = self .env ["ir.values" ].get_default ("res.partner" , "lang" )
1156+
1157+ self .assertEqual (new_default , "en_US" )
1158+
11341159
11351160class TestHelpers (UnitTestCase ):
11361161 def test_model_table_conversion (self ):
0 commit comments