1
0
forked from Mapan/odoo17e
odoo17e-kedaikipas58/addons/voip/tests/test_voip_user_config.py
2024-12-10 09:04:09 +07:00

41 lines
1.8 KiB
Python

# Part of Odoo. See LICENSE file for full copyright and licensing details.
from odoo.tests import common, Form, tagged
@tagged("voip", "post_install", "-at_install")
class TestVoipUserConfig(common.TransactionCase):
def test_voip_user_config_access_rights(self):
"""
Tests that users cannot read VoIP configuration of other users.
"""
user_data_1 = {"login": "i_love_voip", "name": "Handsome VoIP User 😎"}
voip_user = self.env["res.users"].create(user_data_1).sudo(False)
settings = voip_user.env["res.users.settings"]._find_or_create_for_user(voip_user)
settings.write({"voip_secret": "Top Secret 🤫"})
user_data_2 = {"login": "i_hate_voip", "name": "Evil Password Stealer 👺"}
evil_password_stealer = self.env["res.users"].create(user_data_2).sudo(False)
self.env.invalidate_all()
self.assertFalse(voip_user.with_user(evil_password_stealer).voip_secret)
def test_update_voip_user_config_from_user_form(self):
"""
Asserts that changes made to the VoIP Config in the res.users forms are reflected in res.users.settings.
"""
form = Form(self.env["res.users"], view="base.view_users_form")
form.name = "钟离"
form.login = "摩拉克斯"
form.external_device_number = "110"
user = form.save()
settings = user.res_users_settings_id
self.assertEqual(settings.how_to_call_on_mobile, "ask")
self.assertEqual(settings.external_device_number, "110")
form = Form(user, view="base.view_users_form")
form.how_to_call_on_mobile = "voip"
form.external_device_number = "911"
form.save()
self.assertEqual(settings.how_to_call_on_mobile, "voip")
self.assertEqual(settings.external_device_number, "911")