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

valkyrjaio / valkyrja-starter-app-ts / 30375871242
100%

Build:
DEFAULT BRANCH: 26.x
Ran 28 Jul 2026 03:57PM UTC
Jobs 1
Files 17
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 03:56PM UTC coverage: 100.0%. Remained the same
30375871242

push

github

web-flow
[Application] Add HTTP and worker HTTP runtime entries and end-to-end tests (#78)

# Description

Adds real, over-the-socket end-to-end tests for the starter app's HTTP
runtimes,
booting the actual application in a subprocess server and asserting a
live
`GET /` renders the welcome view. This complements the existing
in-process
`HttpEntry`/`CliEntry` smoke tests with true "start the server and hit
it"
coverage, and introduces a shared harness mirroring PHP's
`RuntimeServerTestCase`.

TypeScript has exactly two HTTP entries — the standard **Http** entry
and the
persistent-worker **WorkerHttp** entry — and both are now wired as
runnable
`bin/` entries alongside the existing `bin/cli.ts`. Unlike PHP's worker
runtimes
(FrankenPHP / RoadRunner / OpenSwoole), the TypeScript worker runtime
*is* Node's
own HTTP server, so there is no external runtime to install and no
availability gate is needed: the shared Vitest job runs the live server
directly,
and no dedicated CI job is required.

Because subprocess execution is invisible to coverage instrumentation,
each entry
is *also* covered in process — the existing `HttpEntry` test plus a new
`WorkerHttpEntry` test that bootstraps the worker once and dispatches
through an
isolated child scope. Coverage stays at 100% (line and branch).

The framework side landed first: **valkyrja-ts#88** is merged and
released in
**v26.4.0**, which ships the concrete `Application/Entry/WorkerHttp`
plus the
overridable runtime seams. This branch is rebased onto the latest `26.x`
(which
carries the matching `^26.4.0` bump), so it builds against the published
package
— no unreleased dependency remains.

One consequence of testing against the *published* package rather than a
local
checkout: Node refuses to transform TypeScript that lives under
`node_modules`
(`ERR_UNSUPPORTED_NODE_MODULES_TYPE_STRIPPING`), and the framework ships
`.ts`
source only. So the entry points are run through **`tsx`**, matching how
the
scripts are invoked elsew... (continued)

9 of 9 branches covered (100.0%)

Branch coverage included in aggregate %.

72 of 72 relevant lines covered (100.0%)

2.38 hits per line

Jobs
ID Job ID Ran Files Coverage
1 30375871242.1 28 Jul 2026 03:57PM UTC 17
100.0
GitHub Action Run
Source Files on build 30375871242
  • Tree
  • List 17
  • Changed 1
  • Source Changed 1
  • Coverage Changed 1
Coverage ∆ File Lines Relevant Covered Missed Hits/Line Branch Hits Branch Misses
  • Back to Repo
  • Github Actions Build #30375871242
  • fae6fc56 on github
  • Prev Build on 26.x (#30374939917)
  • Next Build on 26.x (#30415860223)
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