Skip to content

Commit e5b4b9b

Browse files
test: add kebab_name tests to kill models.py mutants
Add tests for kebab_name() covering lowercase conversion, underscore-to-hyphen replacement, and all enum members. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
1 parent 6882394 commit e5b4b9b

1 file changed

Lines changed: 36 additions & 0 deletions

File tree

tests/test_models.py

Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -258,6 +258,42 @@ def test_fahrenheit(self):
258258
assert temp_suffix(TempUnitParam(unit=TempUnit.FAHRENHEIT)) == "F"
259259

260260

261+
class TestKebabName:
262+
"""Tests for kebab_name()."""
263+
264+
def test_single_word(self):
265+
from flameconnect.models import kebab_name
266+
267+
assert kebab_name(FireMode.STANDBY) == "standby"
268+
269+
def test_multi_word_underscore(self):
270+
from flameconnect.models import kebab_name
271+
272+
assert kebab_name(HeatMode.FAN_ONLY) == "fan-only"
273+
274+
def test_underscore_replaced_with_hyphen(self):
275+
from flameconnect.models import kebab_name
276+
277+
result = kebab_name(FlameColor.YELLOW_RED)
278+
assert "_" not in result
279+
assert "-" in result
280+
assert result == "yellow-red"
281+
282+
def test_lowercased(self):
283+
from flameconnect.models import kebab_name
284+
285+
result = kebab_name(HeatControl.SOFTWARE_DISABLED)
286+
assert result == result.lower()
287+
assert result == "software-disabled"
288+
289+
def test_all_enum_members(self):
290+
from flameconnect.models import kebab_name
291+
292+
for member in MediaTheme:
293+
result = kebab_name(member)
294+
assert result == member.name.lower().replace("_", "-")
295+
296+
261297
class TestDisplayName:
262298
"""Tests for display_name()."""
263299

0 commit comments

Comments
 (0)