Coverage for ingadhoc-odoo-saas-adhoc / saas_provider_upgrade / tests / test_portal_upgrade.py: 50%

24 statements  

« prev     ^ index     » next       coverage.py v7.13.4, created at 2026-03-09 20:33 +0000

1from odoo.tests import Form 

2 

3from .test_provider_upgrade_base import TestProviderUpgradeCommon 

4 

5 

6class TestProviderUpgradePortal(TestProviderUpgradeCommon): 

7 @classmethod 

8 def setUpClass(cls): 

9 super().setUpClass() 

10 

11 cls.upgrade_ticket_sharing_form_view_xml_id = "saas_provider_upgrade.upgrade_ticket_sharing_view_form" 

12 

13 # Damos acceso a user_portal a manage_databases 

14 cls.saas_portal_access_portal_user = cls.env["saas.portal.access"].create( 

15 { 

16 "analytic_account_id": cls.upgrade_analytic_account.id, 

17 "user_id": cls.user_upgrade_portal.id, 

18 "manage_databases": True, 

19 "manage_tickets_and_tasks": False, 

20 } 

21 ) 

22 

23 def get_upgrade_ticket_portal_form_view(self, ticket, with_user=None): 

24 return Form(ticket.with_user(with_user or self.env.user), view=self.upgrade_ticket_sharing_form_view_xml_id) 

25 

26 def get_upgrade_request_portal_view(self, ticket, with_user=None): 

27 return Form( 

28 ticket.with_user(with_user or self.env.user), view="saas_provider_upgrade.action_ticket_upgrade_request" 

29 ) 

30 

31 def assertActionType(self, action, type): 

32 self.assertEqual(action["params"]["type"], type) 

33 

34 # --------- Test Requests --------- 

35 def test_create_request_from_portal(self): 

36 request_wizard = ( 

37 self.env["saas.automatic.upgrade.request.wizard"] 

38 .with_user(self.user_portal.id) 

39 .with_context(from_portal_upgrade=True, upgrade_ticket=self.upgrade_ticket.id) 

40 ) 

41 wizard_id = request_wizard.create([{}]) 

42 action = wizard_id.confirm() 

43 self.assertActionType(action, "success") 

44 

45 # Creamos otro request. Se espera que devuelva un error por el UL on_create 'upgrade_line_02' 

46 # Hacemos un savepoint y yield porque el confirm hace un rollback en caso de error (que es lo esperado) 

47 self.cr.savepoint() 

48 yield 

49 wizard_id = request_wizard.create([{}]) 

50 action = wizard_id.confirm() 

51 self.assertActionType(action, "danger")