You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@grails.apache.org by "jamesfredley (via GitHub)" <gi...@apache.org> on 2026/05/28 21:36:53 UTC

[PR] Comprehensive test coverage for the nine Grails 8 v8 sample-app guides [grails-static-website]

jamesfredley opened a new pull request, #510:
URL: https://github.com/apache/grails-static-website/pull/510

   ## Summary
   
   Comprehensive, layered test coverage for the nine Grails 8 (`v8`) sample-app guides, following the worked example set by `grails-transactional-events`. Every sample app was cloned, built, and run against the current Grails 8.0.0-SNAPSHOT stack (Spring Boot 4.0.5, Groovy 4.0.32, JDK 21). **All nine were broken or untested in some way** - the guide rendering pipeline only checks YAML + AsciiDoc + `include::` resolution, never compiling or running the sample app, so a guide can render perfectly and be non-functional.
   
   Each guide's upstream sample app (`grails-guides/<name>` `@ grails8`) now has a green `test` + `integrationTest` suite, the fixes are mirrored into the vendored `snippets/`, and prose was corrected wherever it described code that never ran. A `Testing` chapter was added where the guide lacked one.
   
   ## Per-guide results
   
   | Guide | Tests green | Key fixes |
   |---|---|---|
   | grails-spock-test-tour | 16 unit + 4 integ/Geb | testcontainers-bom; `getFieldError`; flush; `show()` via `params.id`; HTML view for Geb; committed seed; JaCoCo |
   | grails-rest-library | 19 unit + 8 integ/func | **app did not compile** (BootStrap `Logger`, gson `Date.format`); `bulkCreate` 500→422 via `MessageSource`; testcontainers-bom; web test support |
   | grails-github-actions-cicd | 3 unit + 2 integ + 1 func | CI ran a `functionalTest` task that **did not exist**; wired it + a real Message domain so all 4 stages run real tests |
   | grails-htmx | 5 unit + 3 integ + 6 Geb | **every HTMX endpoint 404'd** (ambiguous `createLink` reverse-mapping) → `createLink(uri:)`; Geb tests for every swap |
   | grails-tailwindcss | 5 Geb | replaced placeholder spec; Geb proves the built CSS serves, `.card`/`.btn-primary` apply, dark-mode toggle persists |
   | grails-vite-spa | 7 unit + 8 integ/func | **SPA serving chain broken**: missing root wrapper; gson double-encoding + `Long` count 500; `forward` 404 → classpath render; `/assets/**` 404 → `AssetController` |
   | grails-fields-custom-widgets-and-wrappers | 12 unit + 8 integ/Geb | **3 render bugs**: ISBN `pattern` `\d` GSP-escape; `domainClass.simpleName`→`javaClass.simpleName`; m2m seed never persisted (transaction) |
   | grails-multi-module | 6 unit + 4 func | missing root wrapper; wired the documented `grails-exploded` + `grails { plugins }` dev-reload path; admin REST routing (`resources` mapping) |
   | grails-docker-bootbuildimage | 4 func | testcontainers-bom; db-migration test schema; functional tests of the actuator health/liveness/readiness probes the Docker HEALTHCHECK polls |
   
   ## Verification
   
   - Every sample app: `./gradlew test` and `./gradlew integrationTest` green (Docker + Testcontainers PostgreSQL/Selenium where applicable). Sample apps pushed to `grails-guides/<name> @ grails8`.
   - `./gradlew validateGuides -PvalidationMode=both`: 93 guides parsed, 0 errors.
   - Each touched guide renders every chapter with all `include::` directives resolved (`renderGuide_<name>_8 --no-configuration-cache`).
   
   Scope is limited to the nine `guides/<name>/v8` trees plus `conf/guides.yml` (new `testing` chapters registered in the toc).
   
   Assisted-by: claude-code:claude-opus-4-7
   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: commits-unsubscribe@grails.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


Re: [PR] Comprehensive test coverage for the nine Grails 8 v8 sample-app guides [grails-static-website]

Posted by "jamesfredley (via GitHub)" <gi...@apache.org>.
jamesfredley merged PR #510:
URL: https://github.com/apache/grails-static-website/pull/510


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: commits-unsubscribe@grails.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org