• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

maximunited / imou_life / 25581030277
90%

Build:
DEFAULT BRANCH: master
Ran 08 May 2026 09:45PM UTC
Jobs 4
Files 22
Run time 1min
Badge
Embed ▾
README BADGES
x

If you need to use a raster PNG badge, change the '.svg' to '.png' in the link

Markdown

Textile

RDoc

HTML

Rst

08 May 2026 09:43PM UTC coverage: 90.936% (+2.6%) from 88.295%
25581030277

push

github

web-flow
test: achieve 91% test coverage (#47)

* test: achieve 91% coverage with comprehensive unit tests

Added 48 new tests across 5 files to reach 91% total coverage (from 88.25%).

New test files:
- test_init_error_handling.py (14 tests): stale device detection, discovery coordinator, config migration
- test_helpers.py (7 tests): camel_to_snake conversion edge cases
- test_entity_mixins.py (5 tests): DeviceClassMixin and StateUpdateMixin

Enhanced existing tests:
- test_battery_binary_sensor.py (+8 tests): entity registry, charging sensor edge cases
- test_button.py (+4 tests): refresh button actions, entity registry

Coverage achievements:
- __init__.py: 82% ? 100%
- battery_binary_sensor.py: 88.2% ? 100%
- button.py: 75% ? 100%
- helpers.py: 80% ? 100%
- entity_mixins.py: 80% ? 100%

All 484 tests passing.

* fix: remove unsupported coding_style section from Scrutinizer config

Scrutinizer only supports coding_style for JavaScript and PHP, not Python.
Removed the python coding_style section to fix config error.

Error was: 'Unrecognized option "python" under "{root}.coding_style"'

* fix: configure Python 3.11 and install test dependencies for Scrutinizer

Scrutinizer was using Python 2.7.7 by default, causing:
- 'No module named pytest' error
- 'coverage: command not found' error

Changes:
- Set Python version to 3.11
- Install test dependencies before running tests
- Install from config/requirements_test.txt

* test: improve async mock assertions for better correctness

Changes based on code review feedback:

1. test_button.py: Use assert_awaited_once() for AsyncMock methods
   - async_press, async_request_refresh, async_update, async_update_ha_state
   - Ensures coroutines are actually awaited, not just called

2. test_init_error_handling.py: Verify callback arguments
   - test_stale_device_callback_triggered: Check arguments passed to repair issue
   - test_transfer_discovery_no_remaining_entries: Assert no reload when no entries

All 484 tests pass... (continued)

1515 of 1666 relevant lines covered (90.94%)

3.63 hits per line

Jobs
ID Job ID Ran Files Coverage
1 run-3.11 - 25581030277.1 08 May 2026 09:45PM UTC 22
90.94
GitHub Action Run
2 run-3.14 - 25581030277.2 08 May 2026 09:46PM UTC 22
90.9
GitHub Action Run
3 run-3.12 - 25581030277.3 08 May 2026 09:46PM UTC 22
90.94
GitHub Action Run
4 run-3.13 - 25581030277.4 08 May 2026 09:45PM UTC 22
90.94
GitHub Action Run
Source Files on build 25581030277
  • Tree
  • List 22
  • Changed 2
  • Source Changed 0
  • Coverage Changed 2
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Repo
  • Github Actions Build #25581030277
  • 0ee8c43b on github
  • Prev Build on master (#25573464551)
  • Next Build on master (#25585205528)
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc