Files
shelly-ui/tests/test_model_names.py
jonas 71803418e5 Initial commit: Shelly Manager with Textual CLI, Streamlit UI, and comprehensive .gitignore
Shelly device management app with mDNS/subnet discovery, inventory,
configuration, and mass operations for Gen1/Gen2+ devices.

Includes .gitignore excluding runtime data (device DB, user config),
AI conversation history, build artifacts, and common Python/OS patterns.
2026-03-23 21:51:59 +01:00

46 lines
1.2 KiB
Python

"""Shelly internal model code → display names."""
from __future__ import annotations
from datetime import UTC, datetime
from shelly_manager.core.model_names import (
format_model_for_ui,
format_model_plain,
shelly_model_display_name,
)
from shelly_manager.core.models import ShellyDevice
def test_snsw_001p16eu_is_plus_1pm() -> None:
assert shelly_model_display_name("SNSW-001P16EU") == "Plus 1PM"
def test_unknown_model_returns_raw() -> None:
assert shelly_model_display_name("UNKNOWN-XYZ") == "UNKNOWN-XYZ"
def test_format_model_plain() -> None:
assert "Plus 1PM" in format_model_plain("SNSW-001P16EU")
assert "SNSW-001P16EU" in format_model_plain("SNSW-001P16EU")
def test_shelly_device_model_label() -> None:
d = ShellyDevice(
id="AABBCCDDEEFF",
name=None,
mac="AA:BB:CC:DD:EE:FF",
ip="192.168.1.1",
generation=2,
model="SNSW-001P16EU",
firmware="1.0",
online=True,
last_seen=datetime.now(UTC),
capabilities=[],
status={},
settings={},
)
assert d.model_display_name == "Plus 1PM"
assert "Plus 1PM" in d.model_label
assert "SNSW-001P16EU" in d.model_label