2424from odoo .exceptions import ValidationError
2525from odoo .tests .common import TransactionCase
2626
27- from odoo .addons .base .tests .test_mimetypes import PNG
27+ from odoo .addons .base .tests .test_mimetypes import PNG as ODOO_PNG
2828
29- from ..models ._py3o_parser_context import format_multiline_value
3029from ..models .ir_actions_report import PY3O_CONVERSION_COMMAND_PARAMETER
31- from ..models .py3o_report import TemplateNotFound
30+ from ..wizard ._py3o_parser_context import format_multiline_value
31+ from ..wizard .py3o_report import Py3oReport , TemplateNotFound
3232
3333logger = logging .getLogger (__name__ )
3434
@@ -52,7 +52,7 @@ def temporary_copy(path):
5252class TestReportPy3o (TransactionCase ):
5353 def setUp (self ):
5454 super ().setUp ()
55- self .env .user .image_1920 = PNG
55+ self .env .user .image_1920 = ODOO_PNG
5656 self .report = self .env .ref ("report_py3o.res_users_report_py3o" )
5757 self .py3o_report = self .env ["py3o.report" ].create (
5858 {"ir_actions_report_id" : self .report .id }
@@ -91,13 +91,19 @@ def test_reports(self):
9191
9292 def test_reports_merge_zip (self ):
9393 self .report .py3o_filetype = "odt"
94- users = self .env ["res.users" ].search ([])
95- self .assertTrue (len (users ) > 0 )
96- py3o_report = self .env ["py3o.report" ]
94+ users = self .env ["res.users" ].search ([], limit = 2 )
95+ if len (users ) < 2 :
96+ users |= self .env ["res.users" ].create (
97+ {
98+ "name" : "Test User 2" ,
99+ "login" : f"test_user_2_{ self .env .cr .dbname } " ,
100+ "email" : f"test_user_2_{ self .env .cr .dbname } @example.com" ,
101+ }
102+ )
103+ users .write ({"image_1920" : ODOO_PNG })
104+ self .assertGreaterEqual (len (users ), 2 )
97105 _zip_results = self .py3o_report ._zip_results
98- with mock .patch .object (
99- py3o_report .__class__ , "_zip_results"
100- ) as patched_zip_results :
106+ with mock .patch .object (Py3oReport , "_zip_results" ) as patched_zip_results :
101107 patched_zip_results .side_effect = _zip_results
102108 content , filetype = self .report ._render (self .report .id , users .ids )
103109 self .assertEqual (1 , patched_zip_results .call_count )
@@ -147,7 +153,7 @@ def test_report_post_process(self):
147153 self .assertEqual (self .env .user .id , attachements .res_id )
148154 self .assertEqual (b"test result" , b64decode (attachements .datas ))
149155
150- @tools .misc .mute_logger ("odoo.addons.report_py3o.models .py3o_report" )
156+ @tools .misc .mute_logger ("odoo.addons.report_py3o.wizard .py3o_report" )
151157 def test_report_template_configs (self ):
152158 # the demo template is specified with a relative path in in the module
153159 # path
@@ -169,9 +175,9 @@ def test_report_template_configs(self):
169175 self .report ._render (self .report .id , self .env .user .ids )
170176 with temporary_copy (flbk_filename ) as tmp_filename :
171177 self .report .py3o_template_fallback = tmp_filename
172- tools .config . misc [ "report_py3o " ] = {
173- "root_tmpl_path" : os .path .realpath ( os . path . dirname (tmp_filename ) )
174- }
178+ tools .config [ "root_tmpl_path " ] = os . path . realpath (
179+ os .path .dirname (tmp_filename )
180+ )
175181 res = self .report ._render (self .report .id , self .env .user .ids )
176182 self .assertTrue (res )
177183
@@ -192,7 +198,7 @@ def test_report_template_configs(self):
192198 res = self .report ._render (self .report .id , self .env .user .ids )
193199 self .assertTrue (res )
194200
195- @tools .misc .mute_logger ("odoo.addons.report_py3o.models .py3o_report" )
201+ @tools .misc .mute_logger ("odoo.addons.report_py3o.wizard .py3o_report" )
196202 def test_report_template_fallback_validity (self ):
197203 tmpl_name = self .report .py3o_template_fallback
198204 with as_file (files (f"odoo.addons.{ self .report .module } " )) as _asf :
0 commit comments