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

valkyrjaio / valkyrja-starter-app-php / 27791324577
100%

Build:
DEFAULT BRANCH: 26.x
Ran 18 Jun 2026 09:46PM UTC
Jobs 1
Files 28
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

18 Jun 2026 09:46PM UTC coverage: 100.0% (+100.0%) from 0.0%
27791324577

push

github

web-flow
[Tests] Add full testing for 100% code coverage (#113)

# Description

Brings the `application` skeleton to 100% PHPUnit coverage by adding a
complete unit test suite, and fixes a latent bug in the skeleton's
example `Model` classes that the tests surfaced.

The skeleton ships as a head-start for new Valkyrja apps, so it should
both prove out 100% coverage and demonstrate the correct way to extend a
`Model`. While writing the tests, the `Data` / `SimpleModel` example
classes were found to be mislabeled and the `Model` subclass was missing
the `internalGet/SetCallables` overrides required for its extra-logic
property to resolve via magic `__get` / `__set`.

---

## Types of Changes

- [x] Improvement _(non-breaking change which improves code)_
- [x] Bug fix _(non-breaking change which fixes an issue)_
- [ ] New feature _(non-breaking change which adds functionality)_
- [ ] Deprecation _(breaking change which removes functionality)_
- [ ] Breaking change _(fix or feature that would cause existing
functionality to change)_
- [ ] Documentation improvement

---

## Changes

- **`app/src/App/Model/SimpleModel.php`** — now the real `Model`
subclass; added the `id` / `needsExtraLogic` properties, getter/setter,
and the missing `#[Override] internalGetCallables()` /
`internalSetCallables()` so the extra-logic property resolves correctly
(skeleton bug fix)
- **`app/src/App/Model/Data.php`** — now the plain (non-`Model`) example
class with simple public properties; swapped naming so `Data` = plain
class, `SimpleModel` = `Model` subclass
- **`app/tests/Tests/Unit/**`** — added unit tests across `Cli`, `Http`,
`Model`, `Orm`, and `Throwable` (`App`, `Config`, `Controllers`, `Data`,
`Providers`, `Entities`, `Handlers`), reaching 100% line/method coverage
(74 tests)
- **`.github/ci/phpunit/phpunit.xml.dist`** — excluded `*.example.php`
from the coverage `<source>` (templates copied by users, never
autoloaded)
- **`.github/ci/psalm/psalm.xml`** — ignored `*.example.p... (continued)

12 of 12 new or added lines in 1 file covered. (100.0%)

305 of 305 relevant lines covered (100.0%)

1.7 hits per line

Jobs
ID Job ID Ran Files Coverage
1 27791324577.1 18 Jun 2026 09:46PM UTC 28
100.0
GitHub Action Run
Source Files on build 27791324577
  • Tree
  • List 28
  • Changed 16
  • Source Changed 2
  • Coverage Changed 16
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Repo
  • Github Actions Build #27791324577
  • 3795be66 on github
  • Prev Build on 26.x (#27776472658)
  • Next Build on 26.x (#27841490446)
  • Delete
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