mirror of
https://github.com/pdxlocations/contact.git
synced 2026-07-28 04:23:00 +02:00
c699845c81
Enhance the error handling mechanism in API responses to provide clearer and more informative messages to users. This change aims to improve user experience and debugging capabilities.
47 lines
1.9 KiB
Python
47 lines
1.9 KiB
Python
from types import SimpleNamespace
|
|
import unittest
|
|
|
|
from meshtastic.protobuf import config_pb2, module_config_pb2
|
|
|
|
from contact.ui.menus import generate_menu_from_protobuf
|
|
|
|
|
|
class MenusTests(unittest.TestCase):
|
|
def test_main_menu_includes_factory_reset_config_after_factory_reset(self) -> None:
|
|
local_node = SimpleNamespace(
|
|
localConfig=config_pb2.Config(),
|
|
moduleConfig=module_config_pb2.ModuleConfig(),
|
|
getChannelByChannelIndex=lambda _: None,
|
|
)
|
|
interface = SimpleNamespace(
|
|
localNode=local_node,
|
|
getMyNodeInfo=lambda: {
|
|
"user": {"longName": "Test User", "shortName": "TU", "isLicensed": False},
|
|
"position": {"latitude": 0.0, "longitude": 0.0, "altitude": 0},
|
|
},
|
|
)
|
|
|
|
menu = generate_menu_from_protobuf(interface)
|
|
keys = list(menu["Main Menu"].keys())
|
|
|
|
self.assertLess(keys.index("Factory Reset"), keys.index("factory_reset_config"))
|
|
self.assertEqual(keys[keys.index("Factory Reset") + 1], "factory_reset_config")
|
|
|
|
def test_module_settings_include_ringtone_and_canned_messages(self) -> None:
|
|
local_node = SimpleNamespace(
|
|
localConfig=config_pb2.Config(),
|
|
moduleConfig=module_config_pb2.ModuleConfig(),
|
|
ringtone="tone",
|
|
cannedPluginMessage="Hi|Bye",
|
|
getChannelByChannelIndex=lambda _: None,
|
|
)
|
|
interface = SimpleNamespace(
|
|
localNode=local_node,
|
|
getMyNodeInfo=lambda: {"position": {"latitude": 0.0, "longitude": 0.0, "altitude": 0}},
|
|
)
|
|
|
|
module_settings = generate_menu_from_protobuf(interface)["Main Menu"]["Module Settings"]
|
|
|
|
self.assertEqual(module_settings["external_notification"]["ringtone"], (None, "tone"))
|
|
self.assertEqual(module_settings["canned_message"]["messages"], (None, "Hi|Bye"))
|