@@ -1131,6 +1131,32 @@ def test_invert_boolean_field(self):
1131
1131
initial_repartition [False ] += initial_repartition .pop (None , 0 )
1132
1132
self .assertEqual (back_repartition , initial_repartition )
1133
1133
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 .clear_cache (partner )
1147
+ util .change_field_selection_values (cr , "res.partner" , "lang" , {"el_VISH" : "en_US" })
1148
+
1149
+ self .assertEqual (partner .lang , "en_US" )
1150
+
1151
+ if util .table_exists (cr , "ir_default" ):
1152
+ new_default = (getattr (self .env ["ir.default" ], "get" , None ) or self .env ["ir.default" ]._get )(
1153
+ "res.partner" , "lang"
1154
+ )
1155
+ else :
1156
+ new_default = self .env ["ir.values" ].get_default ("res.partner" , "lang" )
1157
+
1158
+ self .assertEqual (new_default , "en_US" )
1159
+
1134
1160
1135
1161
class TestHelpers (UnitTestCase ):
1136
1162
def test_model_table_conversion (self ):
0 commit comments