homeos/tests/Feature
HomeOS Bootstrap 449533b60d fix: preserve raw input value on role/invert change; strict isOnline (R15)
Codex R15 on the previous fix:
- [P2] reclassifyInput derived the raw input level from the already-displayed
  (inverted) contact state, so toggling inversion twice didn't restore the
  original. The ingest + device page now carry the raw `on` inside the contact
  state, so flipping role/inversion is fully reversible. +1 round-trip test.
- Latent: Device::isOnline() could return null (null demo, no last_seen) and
  break the type hint / views. Now returns a strict bool.

Suite 58 green, 12/12 tabs clean.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-18 09:03:00 +02:00
..
AddonTest.php fix(addons): atomic Ring device creation + invalidate ingest gate cache (R15) 2026-07-18 02:01:45 +02:00
AuthTest.php Phase 1: bootstrap — Docker stack, Laravel 13, design system, auth 2026-07-17 21:06:20 +02:00
AutomationTest.php fix(automations): honor conditions + atomic cooldown claim (R15) 2026-07-18 01:15:22 +02:00
DeviceInputRoleTest.php fix: preserve raw input value on role/invert change; strict isOnline (R15) 2026-07-18 09:03:00 +02:00
HomeTest.php Fix R15: per-device MQTT ACLs, monotonic presence, real-device online semantics 2026-07-17 23:08:29 +02:00
MqttTest.php fix: preserve raw input value on role/invert change; strict isOnline (R15) 2026-07-18 09:03:00 +02:00
RingIngestTest.php fix(addons): atomic Ring device creation + invalidate ingest gate cache (R15) 2026-07-18 02:01:45 +02:00
ShellyNormalizerTest.php fix: harden MQTT sharing + input roles + dedup (adversarial review) 2026-07-18 08:59:12 +02:00