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

bleedingdeacons / integrity / 30406171267
91%

Build:
DEFAULT BRANCH: main
Ran 28 Jul 2026 10:55PM UTC
Jobs 1
Files 13
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

28 Jul 2026 10:53PM UTC coverage: 90.451% (+33.0%) from 57.487%
30406171267

push

github

web-flow
test: raise coverage to ~90% (tests only) (#22)

* test: cover REST write endpoints (intergroup meeting + member)

Add tests for the previously-untested write handlers, lifting line
coverage from ~56% toward ~64% (tests only; no production code changed):

- IntergroupMeetingController: register/unregister group attendees and
  officers — happy path plus not-found, conflict (409, incl. the
  duplicate-entry race), save-failure and exception branches.
- MemberController: createMember and updateMember validation
  (invalid home group / intergroup position), not-found, repository
  create/save failures (with orphan-post cleanup) and exception paths.

Each endpoint is driven through a mocked Unity container supplying the
repositories and factories. 189 tests green.

Partial: this does not yet reach the 90% suite target — the remaining
gap is the other controllers' write endpoints (Meeting/Group/Position),
ApiKeyManager and Plugin.

* test: complete coverage to ~90% (tests only)

Finish the write-endpoint and auth coverage, taking line coverage past
90% (Coveralls counts the separate-process controller tests). No
production code changed.

- MemberController: recordCompliance (accept/revoke, valid/invalid
  policy, save-failure, exception) and getMembers filters/exception.
- ControllerArgsTest: drives every controller's get*Args() validate /
  sanitize closures across a spread of inputs — the argument-contract
  layer that dominated the remaining gap.
- ApiKeyManager: validateKey (match / no-match / expired / IP-denied),
  ipInCidr (IPv4 + IPv6), isIpAllowed, and the revoke/delete/get/update
  CRUD paths against a mocked $wpdb.
- AuditLogger: getLogs (all filters), getStats, clearLogs
  (truncate + filtered delete).
- HasLogger trait no-op path.

217 tests green; PHPStan clean.

2368 of 2618 relevant lines covered (90.45%)

3.26 hits per line

Coverage Regressions

Lines Coverage ∆ File
1
74.75
-1.01% integrity/integrity/src/Api/Controllers/ControllerTrait.php
1
95.73
23.17% integrity/integrity/src/Api/Controllers/GroupController.php
1
89.86
65.3% integrity/integrity/src/Api/Controllers/IntergroupMeetingController.php
1
87.27
29.7% integrity/integrity/src/Api/Controllers/MeetingController.php
1
95.53
48.56% integrity/integrity/src/Api/Controllers/MemberController.php
1
93.02
23.26% integrity/integrity/src/Api/Controllers/PositionController.php
1
88.69
14.03% integrity/integrity/src/Auth/AuditLogger.php
1
76.0
28.0% integrity/integrity/src/Logger/HasLogger.php
Jobs
ID Job ID Ran Files Coverage
1 30406171267.1 28 Jul 2026 10:55PM UTC 13
90.45
GitHub Action Run
Source Files on build 30406171267
  • Tree
  • List 13
  • Changed 9
  • Source Changed 0
  • Coverage Changed 9
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Repo
  • Github Actions Build #30406171267
  • 5c1e25b2 on github
  • Prev Build on main (#29939731543)
  • Next Build on main (#30554480218)
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE TRIAL · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc