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):
for child_company in child_companies:
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':
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!
......@@ -304,21 +304,19 @@ class ResUsers(models.Model):
)
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 = {
"login": vat,
"firstname": first_name,
"lastname": last_name,
# "company_id": company_id, # TODO: Move!
# "company_ids": [(6, 0, [company_id])], # TODO: Move!
"lang": lang_code,
"email": email,
}
user = cls.create(vals)
user.make_internal_user()
# user.create_users_on_keycloak() # TEMPORAL
# user.send_reset_password_mail() # TEMPORAL
user.create_users_on_keycloak()
user.send_reset_password_mail()
return user
# Add faker into requirements.txt ?? 🤔
from faker import Faker
from mock import patch
from odoo.tests import common
from odoo.exceptions import UserError
......@@ -65,17 +66,37 @@ class TestResUsers(common.TransactionCase):
"role_id": self.internal_role.id,
})
def test__create_energy_community_base_user__base_case(self):
# Patch is required 🌞
pass
@patch("odoo.addons.energy_communities.models.res_users.ResUsers.create_users_on_keycloak")
@patch("odoo.addons.energy_communities.models.res_users.ResUsers.send_reset_password_mail")
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 is required 🌞
pass
@patch("odoo.addons.energy_communities.models.res_users.ResUsers.make_coord_user")
def test__add_energy_community_role__make_coord_user(self, make_coord_user_mocked):
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):
# Patch is required 🌞
pass
# then make_coord_user function was called once time
make_coord_user_mocked.assert_called_with(self.coordination.id, 'role_coordination')
def test__add_energy_community_role__role_not_found(self):
with self.assertRaises(UserError):
......
......@@ -52,6 +52,6 @@ class AssignAdminWizard(models.TransientModel):
else:
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
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