@@ -815,28 +815,31 @@ def test_invert_boolean_field(self):
815
815
with self .assertRaises (ValueError ):
816
816
util .invert_boolean_field (cr , "res.partner" , "name" , "nom" )
817
817
818
+ model , old_name , new_name = "ir.model.access" , "perm_unlink" , "perm_delete"
819
+ table = util .table_of_model (cr , model )
820
+
818
821
fltr = self .env ["ir.filters" ].create (
819
- {"name" : "test" , "model_id" : "ir. model.data" , "domain" : "[('noupdate', '=' , True)]" }
822
+ {"name" : "test" , "model_id" : model , "domain" : str ([( old_name , "=" , True )]) }
820
823
)
821
824
822
825
query = """
823
- SELECT {0 }, count(*)
824
- FROM ir_model_data
825
- GROUP BY {0 }
826
+ SELECT {1 }, count(*)
827
+ FROM {0}
828
+ GROUP BY {1 }
826
829
"""
827
830
828
- cr .execute (util .format_query (cr , query , "noupdate" ))
831
+ cr .execute (util .format_query (cr , query , table , old_name ))
829
832
initial_repartition = dict (cr .fetchall ())
830
833
831
834
# util.parallel_execute will `commit` the cursor and create new ones
832
835
# as we are in a test, we should not commit as we are in a subtransaction
833
836
with mock .patch .object (cr , "commit" , lambda : ...):
834
- util .invert_boolean_field (cr , "ir. model.data" , "noupdate" , "yesupdate" )
837
+ util .invert_boolean_field (cr , model , old_name , new_name )
835
838
836
839
util .invalidate (fltr )
837
- self .assertEqual (literal_eval (fltr .domain ), ["!" , ("yesupdate" , "=" , True )])
840
+ self .assertEqual (literal_eval (fltr .domain ), ["!" , (new_name , "=" , True )])
838
841
839
- cr .execute (util .format_query (cr , query , "yesupdate" ))
842
+ cr .execute (util .format_query (cr , query , table , new_name ))
840
843
inverted_repartition = dict (cr .fetchall ())
841
844
842
845
self .assertEqual (inverted_repartition [False ], initial_repartition [True ])
@@ -845,19 +848,19 @@ def test_invert_boolean_field(self):
845
848
846
849
# rename back
847
850
with mock .patch .object (cr , "commit" , lambda : ...):
848
- util .rename_field (cr , "ir. model.data" , "yesupdate" , "noupdate" )
851
+ util .rename_field (cr , model , new_name , old_name )
849
852
850
853
util .invalidate (fltr )
851
- self .assertEqual (literal_eval (fltr .domain ), ["!" , ("noupdate" , "=" , True )])
854
+ self .assertEqual (literal_eval (fltr .domain ), ["!" , (old_name , "=" , True )])
852
855
853
856
# invert with same name; will invert domains and data
854
857
with mock .patch .object (cr , "commit" , lambda : ...):
855
- util .invert_boolean_field (cr , "ir. model.data" , "noupdate" , "noupdate" )
858
+ util .invert_boolean_field (cr , model , old_name , old_name )
856
859
857
860
util .invalidate (fltr )
858
- self .assertEqual (literal_eval (fltr .domain ), ["!" , "!" , ("noupdate" , "=" , True )])
861
+ self .assertEqual (literal_eval (fltr .domain ), ["!" , "!" , (old_name , "=" , True )])
859
862
860
- cr .execute (util .format_query (cr , query , "noupdate" ))
863
+ cr .execute (util .format_query (cr , query , table , old_name ))
861
864
back_repartition = dict (cr .fetchall ())
862
865
863
866
# merge None into False in the initial repartition
0 commit comments