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

valkyrjaio / ci-phpunit-php / 24913477900
100%

Build:
DEFAULT BRANCH: 26.x
Ran 24 Apr 2026 09:50PM UTC
Jobs 1
Files 3
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 Apr 2026 09:50PM UTC coverage: 100.0%. Remained the same
24913477900

push

github

web-flow
[Provider] Add new ServiceProviderTestCase (#16)

## Description

Adds a new abstract `ServiceProviderTestCase` base class to simplify
testing of `ServiceProvider` implementations across the Valkyrja
framework. The class provides reusable data providers and test methods
that verify a provider's `publishers()` contract — ensuring all
published callables are valid and all provided class/interface names
exist.

Three fixture classes accompany the new test case:
`ServiceProvidedClass`, `ServiceProvidedInterface`, and
`ServiceProviderClass`. The concrete `ServiceProviderTestCaseTest`
exercises both branches of `assertValidProvided` (class and interface),
the static data provider methods, and `getPublishers()`, achieving 100%
coverage of the new base class.

Also updates CI composer dependencies across all tooling suites
(`phparkitect`, `phpstan`, `phpunit`, `psalm`).

---

## Types of Changes

- [ ] Improvement _(non-breaking change which improves code)_
- [ ] Bug fix _(non-breaking change which fixes an issue)_
- [x] 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

- **`src/PhpUnit/Abstract/ServiceProviderTestCase.php`** — new abstract
test case for `ServiceProviderContract` implementations; provides
`publishersDataProvider` and `providesDataProvider` data providers, a
`setUp` that wires a minimal `Container` with `Env`,
`ApplicationContract`, and `ConfigContract`, and test methods
`testProvides` and `testPublishers`
- **`tests/Tests/Classes/Provider/ServiceProvidedClass.php`** — new stub
class used as a provided fixture
- **`tests/Tests/Classes/Provider/ServiceProvidedInterface.php`** — new
stub interface used as a provided fixture, covering the interface branch
of `assertValidProvided`
- **`tests/Tests/Classes/Provider/ServiceProviderClas... (continued)

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

34 of 34 relevant lines covered (100.0%)

3.38 hits per line

Jobs
ID Job ID Ran Files Coverage
1 24913477900.1 24 Apr 2026 09:50PM UTC 3
100.0
GitHub Action Run
Source Files on build 24913477900
  • Tree
  • List 3
  • Changed 0
  • Source Changed 0
  • Coverage Changed 0
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Repo
  • Github Actions Build #24913477900
  • 1c1363b3 on github
  • Prev Build on 26.x (#24904402982)
  • Next Build on 26.x (#24913521281)
  • 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