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

bleedingdeacons / tsml-for-unity / 30055645442
94%

Build:
DEFAULT BRANCH: main
Ran 24 Jul 2026 12:15AM UTC
Jobs 1
Files 55
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

24 Jul 2026 12:15AM UTC coverage: 94.295% (+32.3%) from 62.012%
30055645442

push

github

web-flow
Raise coverage to ~93% and fix duplicate meeting types (#30)

* Raise test coverage from 62% to 93%

Four classes sat at 0% and accounted for most of the gap: Plugin and the
three custom-table/CPT repositories. Tests only; no production code is
changed in this commit.

Two reusable doubles carry most of the weight:

  - FakeWpdb records every statement, so the hand-built SQL in the
    attendance repositories can be asserted directly — which filters
    became bound WHERE clauses, whether a save became an INSERT or an
    UPDATE, and that `orderby` stays whitelisted (it is interpolated
    into the statement, so an unrecognised value must fall back to id).
  - FakeContainer resolves as well as records. registerWithUnity() only
    hands Unity closures; asserting register() was called would leave
    them unexecuted, so the double builds each registered service and
    proves the graph is actually constructible.

Bootstrap changes: ARRAY_A/OBJECT constants, ABSPATH pointed at a real
temp directory, and a minimal wp-admin/includes/upgrade.php stub — the
table installers do a hard require_once before dbDelta(), and a require
cannot be mocked.

The four AcfFieldKeyResolver tests run in separate processes: WP_Mock
defines acf_get_field() for the life of the process, while the existing
AcfFieldKeyResolverTest asserts it is absent to cover the
ACF-unavailable branch.

* Fix meeting types being listed twice when recorded in both places

A meeting whose type appears in both the postmeta 'types' codes and the
source array was listed with that type twice, e.g. "Open, Open,
Discussion".

The postmeta codes are expanded to names before the source codes are
merged in, so at the point array_unique() ran the list held two
representations of the same type — 'Open' from the meta and 'O' from the
source. Compared as strings they differ, so both survived, and the later
formatMeetingTypes() call expanded 'O' into a second 'Open'.

Expand first, then deduplicate, so the co... (continued)

3124 of 3313 relevant lines covered (94.3%)

5.96 hits per line

Coverage Regressions

Lines Coverage ∆ File
7
95.22
31.33% tsml-for-unity/tsml-for-unity/src/Meetings/TsmlMeetingFactory.php
1
93.55
-3.23% tsml-for-unity/tsml-for-unity/src/Members/TsmlMemberRevisor.php
Jobs
ID Job ID Ran Files Coverage
1 30055645442.1 24 Jul 2026 12:15AM UTC 55
94.3
GitHub Action Run
Source Files on build 30055645442
  • Tree
  • List 55
  • Changed 21
  • Source Changed 0
  • Coverage Changed 21
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Repo
  • Github Actions Build #30055645442
  • 3ecb1628 on github
  • Prev Build on main (#29940192234)
  • Next Build on main (#30554445170)
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