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

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

Build:
DEFAULT BRANCH: 26.x
Ran 29 Jul 2026 02:36AM UTC
Jobs 1
Files 33
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

29 Jul 2026 02:34AM UTC coverage: 100.0%. Remained the same
30417216198

push

github

web-flow
[Cli] Add a command for every argument and option permutation with regression, smoke, and end-to-end tests (#180)

# Description

Adds one command per argument and option permutation to the example
application, each
covered by regression, smoke, and end-to-end tests — the CLI counterpart
to the HTTP
routing permutations in #172.

Every permutation lives on a dedicated `RoutingPermutationsCommand`,
namespaced under
`permutations:…`, and each command echoes back the value(s) bound to its
parameters so the
binding is directly assertable from a real invocation.

**The permutations** — the full argument matrix (`REQUIRED`/`OPTIONAL` ×
`DEFAULT`/`ARRAY`)
and the full option matrix (`REQUIRED`/`OPTIONAL` ×
`NONE`/`DEFAULT`/`ARRAY`), plus short
names, valid values, a declared default value, and a command declaring
arguments and
options together: fourteen commands in total.

**Three tiers of coverage**, matching the tiers the repository already
has:

1. **Regression (unit)** — each command returns the expected message for
the values it is
given, and each provider handler binds the route's arguments/options and
delegates with
   the values a real invocation produces.
2. **Generated data (`sindri-phpunit`)** — asserts the
*sindri-generated* command data
carries every permutation with the mode, value mode, short names, valid
values and
default value it was declared with. This is what proves the cached
commands bind input
   the way the runtime router does.
3. **Smoke / end-to-end** — the real `app/bin/cli` binary is run in a
subprocess for each
permutation, asserting exit code and output: every permutation binds and
echoes its
values, an option resolves by both long and short name, an absent option
falls back to
its declared default, and invalid input is rejected with exit code 1
(value outside
`validValues`, missing required argument/option, and a value given to a
valueless flag).

## Found while writing these tests

- **Attribute named arguments were read posit... (continued)

98 of 0 new or added lines in 0 files covered. (NaN%)

517 of 517 relevant lines covered (100.0%)

2.09 hits per line

Jobs
ID Job ID Ran Files Coverage
1 30417216198.1 29 Jul 2026 02:36AM UTC 33
100.0
GitHub Action Run
Source Files on build 30417216198
  • Tree
  • List 33
  • Changed 2
  • Source Changed 2
  • Coverage Changed 2
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Repo
  • Github Actions Build #30417216198
  • 4057639d on github
  • Prev Build on 26.x (#30376619544)
  • Next Build on 26.x (#30420669604)
  • Delete
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