Skip to content
Snippets Groups Projects
Commit c69f9e38 authored by Benjami's avatar Benjami Committed by konykon
Browse files

Tested reate_energy_community_base_user and add_energy_community_role :white_check_mark:

* Changed params order from add_energy_community_role :sparkles:
* create_energy_community_base_user is ready :sparkles:
parent 6335a691
No related branches found
No related tags found
3 merge requests!239Draft: [REL] energy_communities: dependency energy_selfconsumption bump to,!227[REL] Release 16/10/23,!142Feature/assign ce admin
This commit is part of merge request !142. Comments created here will be created in the context of that merge request.
...@@ -293,7 +293,7 @@ class ResUsers(models.Model): ...@@ -293,7 +293,7 @@ class ResUsers(models.Model):
for child_company in child_companies: for child_company in child_companies:
self.make_ce_user(company_id, "role_ce_admin") # TODO: New super-role! self.make_ce_user(company_id, "role_ce_admin") # TODO: New super-role!
def add_energy_community_role(self, role_name, company_id): def add_energy_community_role(self, company_id, role_name):
if role_name == 'role_ce_member' or role_name == 'role_ce_admin': if role_name == 'role_ce_member' or role_name == 'role_ce_admin':
self.make_ce_user(company_id, role_name) self.make_ce_user(company_id, role_name)
elif role_name == 'role_coordination' or role_name == 'role_coordination': # TODO: Change role name and New super-role! elif role_name == 'role_coordination' or role_name == 'role_coordination': # TODO: Change role name and New super-role!
...@@ -304,21 +304,19 @@ class ResUsers(models.Model): ...@@ -304,21 +304,19 @@ class ResUsers(models.Model):
) )
def create_energy_community_base_user( def create_energy_community_base_user(
cls, vat, first_name, last_name, lang_code, email, company_id cls, vat, first_name, last_name, lang_code, email
): ):
vals = { vals = {
"login": vat, "login": vat,
"firstname": first_name, "firstname": first_name,
"lastname": last_name, "lastname": last_name,
# "company_id": company_id, # TODO: Move!
# "company_ids": [(6, 0, [company_id])], # TODO: Move!
"lang": lang_code, "lang": lang_code,
"email": email, "email": email,
} }
user = cls.create(vals) user = cls.create(vals)
user.make_internal_user() user.make_internal_user()
# user.create_users_on_keycloak() # TEMPORAL user.create_users_on_keycloak()
# user.send_reset_password_mail() # TEMPORAL user.send_reset_password_mail()
return user return user
# Add faker into requirements.txt ?? 🤔 # Add faker into requirements.txt ?? 🤔
from faker import Faker from faker import Faker
from mock import patch
from odoo.tests import common from odoo.tests import common
from odoo.exceptions import UserError from odoo.exceptions import UserError
...@@ -65,17 +66,37 @@ class TestResUsers(common.TransactionCase): ...@@ -65,17 +66,37 @@ class TestResUsers(common.TransactionCase):
"role_id": self.internal_role.id, "role_id": self.internal_role.id,
}) })
def test__create_energy_community_base_user__base_case(self): @patch("odoo.addons.energy_communities.models.res_users.ResUsers.create_users_on_keycloak")
# Patch is required 🌞 @patch("odoo.addons.energy_communities.models.res_users.ResUsers.send_reset_password_mail")
pass def test__create_energy_community_base_user__base_case(
self, reset_password_mocked, create_kc_user_mocked
):
user = self.users_model.create_energy_community_base_user(
vat=faker.vat_id(),
first_name="Tom",
last_name="Bombadil",
lang_code="en_US",
email=faker.email(),
)
# then send_reset_password_mail function was called once time
reset_password_mocked.assert_called_once()
# then create_users_on_keycloak function was called once time
create_kc_user_mocked.assert_called_once()
@patch("odoo.addons.energy_communities.models.res_users.ResUsers.make_ce_user")
def test__add_energy_community_role__make_ce_user(self, make_ce_user_mocked):
self.random_user.add_energy_community_role(self.community.id, 'role_ce_admin')
# then make_ce_user_mocked function was called once time
make_ce_user_mocked.assert_called_with(self.community.id, 'role_ce_admin')
def test__add_energy_community_role__make_ce_user(self): @patch("odoo.addons.energy_communities.models.res_users.ResUsers.make_coord_user")
# Patch is required 🌞 def test__add_energy_community_role__make_coord_user(self, make_coord_user_mocked):
pass self.random_user.add_energy_community_role(self.coordination.id, 'role_coordination') # TODO: Rename in other branch ❗️❗️
def test__add_energy_community_role__make_coord_user(self): # then make_coord_user function was called once time
# Patch is required 🌞 make_coord_user_mocked.assert_called_with(self.coordination.id, 'role_coordination')
pass
def test__add_energy_community_role__role_not_found(self): def test__add_energy_community_role__role_not_found(self):
with self.assertRaises(UserError): with self.assertRaises(UserError):
......
...@@ -52,6 +52,6 @@ class AssignAdminWizard(models.TransientModel): ...@@ -52,6 +52,6 @@ class AssignAdminWizard(models.TransientModel):
else: else:
user = self.env['res.users'].search([('login', '=', self.vat)]) user = self.env['res.users'].search([('login', '=', self.vat)])
user.add_energy_community_role(self.role, company_id) user.add_energy_community_role(company_id, self.role)
return True return True
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment