11# © 2017 Niaga Solution - Edi Santoso <repodevs@gmail.com>
22# Copyright (C) 2019 Serpent Consulting Services
33# License LGPL-3.0 or later (https://www.gnu.org/licenses/lgpl.html).
4- from odoo .tests import common
4+ from odoo .fields import Command , Domain
55
6+ from odoo .addons .operating_unit .tests .common import OperatingUnitCommon
67
7- class TestResPartnerOperatingUnit (common .TransactionCase ):
8- def setUp (self ):
9- super ().setUp ()
10- self .res_partner_model = self .env ["res.partner" ]
11- self .res_users_model = self .env ["res.users" ]
12- # Company
13- self .company = self .env .ref ("base.main_company" )
14- # Main Operating Unit
15- self .ou1 = self .env .ref ("operating_unit.main_operating_unit" )
16- # B2C Operating Unit
17- self .b2c = self .env .ref ("operating_unit.b2c_operating_unit" )
18-
19- # Create User 1 with Main OU
20- self .user1 = self ._create_user ("user_1" , self .company , [self .ou1 ])
21- # Create User 2 with B2C OU
22- self .user2 = self ._create_user ("user_2" , self .company , [self .b2c ])
238
9+ class TestResPartnerOperatingUnit (OperatingUnitCommon ):
10+ @classmethod
11+ def setUpClass (cls ):
12+ super ().setUpClass ()
13+ cls .res_partner_model = cls .env ["res.partner" ]
14+ cls .res_users_model = cls .env ["res.users" ]
15+ cls .grp_user = cls .env .ref ("base.group_user" )
16+ # Define User groups
17+ cls .user1 .group_ids = [Command .set ([cls .grp_user .id ])]
18+ cls .user2 .group_ids = [Command .set ([cls .grp_user .id ])]
2419 # Create Partner 1 with Main OU
25- self .partner1 = self ._create_partner ("Test Partner 1" , self .ou1 )
26-
20+ cls .partner1 = cls ._create_partner ("Test Partner 1" , cls .ou1 )
2721 # Create Partner 2 with B2C OU
28- self .partner2 = self ._create_partner ("Test Partner 2" , self .b2c )
22+ cls .partner2 = cls ._create_partner ("Test Partner 2" , cls .b2c )
2923
30- def _create_partner (self , name , operating_unit , context = None ):
24+ @classmethod
25+ def _create_partner (cls , name , operating_unit , context = None ):
3126 """Create a partner."""
32- partner = self .res_partner_model .create (
27+ partner = cls .res_partner_model .create (
3328 {
3429 "name" : name ,
35- "operating_unit_ids" : [( 4 , operating_unit .id )],
30+ "operating_unit_ids" : [Command . link ( operating_unit .id )],
3631 }
3732 )
3833 return partner
3934
40- def _create_user (self , login , company , operating_units , context = None ):
41- """Create a user."""
42- user = self .res_users_model .create (
43- {
44- "name" : "Test User" ,
45- "login" : login ,
46- "password" : "demo" ,
47- "email" : "test@yourcompany.com" ,
48- "company_id" : company .id ,
49- "company_ids" : [(4 , company .id )],
50- "operating_unit_ids" : [(4 , ou .id ) for ou in operating_units ],
51- }
52- )
53- return user
54-
5535 def test_create_user_adds_ou_to_partner (self ):
56- new_user = self ._create_user ("new_user_ou" , self .company , [self .ou1 ])
36+ new_user = self ._create_user (
37+ "new_user_ou" , self .grp_ou_mngr , self .company , [self .ou1 ]
38+ )
5739 self .assertIn (self .ou1 , new_user .partner_id .operating_unit_ids )
5840
5941 def test_write_user_adds_new_ou_to_partner (self ):
60- new_user = self ._create_user ("edit_user_ou" , self .company , [self .ou1 ])
42+ new_user = self ._create_user (
43+ "edit_user_ou" , self .grp_ou_mngr , self .company , [self .ou1 ]
44+ )
6145 self .assertIn (self .ou1 , new_user .partner_id .operating_unit_ids )
6246
6347 new_user .write (
6448 {
6549 "default_operating_unit_id" : self .b2c .id ,
66- "operating_unit_ids" : [( 4 , self .b2c .id )],
50+ "operating_unit_ids" : [Command . link ( self .b2c .id )],
6751 }
6852 )
6953
7054 self .assertIn (self .b2c , new_user .partner_id .operating_unit_ids )
7155
7256 def test_search_partner_with_operating_unit (self ):
7357 partners = self .res_partner_model .with_user (self .user1 ).search (
74- [ ("name" , "!=" , "" )]
58+ Domain ("name" , "!=" , "" )
7559 )
7660 self .assertIn (self .partner1 , partners )
7761 self .assertNotIn (self .partner2 , partners )
7862
7963 def test_search_count_partner_with_operating_unit (self ):
8064 count = self .res_partner_model .with_user (self .user2 ).search_count (
81- [ ("name" , "!=" , "" )]
65+ Domain ("name" , "!=" , "" )
8266 )
8367 self .assertGreaterEqual (count , 1 )
8468
@@ -90,22 +74,27 @@ def test_create_user_with_default_operating_unit(self):
9074 "password" : "demo" ,
9175 "email" : "user@default.com" ,
9276 "company_id" : self .company .id ,
93- "company_ids" : [( 4 , self .company .id )],
94- "operating_unit_ids" : [( 4 , self .ou1 .id )],
77+ "company_ids" : [Command . link ( self .company .id )],
78+ "operating_unit_ids" : [Command . link ( self .ou1 .id )],
9579 "default_operating_unit_id" : self .ou1 .id ,
9680 }
9781 )
9882
9983 self .assertIn (self .ou1 , new_user .partner_id .operating_unit_ids )
10084
10185 def test_write_user_sets_default_operating_unit (self ):
102- user = self ._create_user ("write_user_default_ou" , self .company , [self .ou1 ])
86+ user = self ._create_user (
87+ "write_user_default_ou" , self .grp_ou_mngr , self .company , [self .ou1 ]
88+ )
10389 self .assertIn (self .ou1 , user .partner_id .operating_unit_ids )
10490
10591 user .write (
10692 {
10793 "default_operating_unit_id" : self .b2c .id ,
108- "operating_unit_ids" : [(4 , self .ou1 .id ), (4 , self .b2c .id )],
94+ "operating_unit_ids" : [
95+ Command .link (self .ou1 .id ),
96+ Command .link (self .b2c .id ),
97+ ],
10998 }
11099 )
111100
0 commit comments