{"id":49668209,"url":"https://github.com/kensa-dev/clearwave-example","last_synced_at":"2026-05-06T18:05:02.311Z","repository":{"id":347824798,"uuid":"1195399508","full_name":"kensa-dev/clearwave-example","owner":"kensa-dev","description":null,"archived":false,"fork":false,"pushed_at":"2026-05-02T17:03:42.000Z","size":751,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"master","last_synced_at":"2026-05-02T18:29:21.107Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"https://kensa-dev.github.io/clearwave-example/","language":"Kotlin","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/kensa-dev.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2026-03-29T16:18:32.000Z","updated_at":"2026-05-02T17:05:32.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/kensa-dev/clearwave-example","commit_stats":null,"previous_names":["kensa-dev/clearwave-kensa-example"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/kensa-dev/clearwave-example","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kensa-dev%2Fclearwave-example","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kensa-dev%2Fclearwave-example/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kensa-dev%2Fclearwave-example/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kensa-dev%2Fclearwave-example/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/kensa-dev","download_url":"https://codeload.github.com/kensa-dev/clearwave-example/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kensa-dev%2Fclearwave-example/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32705647,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-06T08:33:17.875Z","status":"ssl_error","status_checked_at":"2026-05-06T08:33:17.221Z","response_time":117,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2026-05-06T18:04:59.075Z","updated_at":"2026-05-06T18:05:02.303Z","avatar_url":"https://github.com/kensa-dev.png","language":"Kotlin","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Clearwave Kensa Example\n\nA showcase project demonstrating [Kensa](https://kensa.dev) — BDD testing for Kotlin \u0026 Java.\n\nThe domain is a fictional telecoms provider (\"Clearwave\") with two services and a small UI under test:\n\n- **FeasibilityService** — checks whether a broadband service can be delivered to a given address\n- **OrderService** — places a broadband order and coordinates with external network and tracking systems\n- **Feasibility checker UI** — a Vite + React + shadcn page that submits the feasibility form to the live `FeasibilityService`, exercised end-to-end through both Playwright and Selenium\n\nTests are written using the Kensa Given-When-Then DSL with [http4k](https://http4k.org) stubs standing in for downstream APIs. The HTML report generated from these tests is published as a live example at:\n\n**[kensa-dev.github.io/clearwave-example](https://kensa-dev.github.io/clearwave-example)**\n\n## Running locally\n\nThe project has two test cycles.\n\n### Service-level tests (canary build)\n\n```bash\n./gradlew test\n```\n\nRuns the http4k-driven `FeasibilityServiceTest` and `OrderServiceTest`. No browser needed. The report is written to `build/kensa-output`.\n\n### UI tests\n\n```bash\n./gradlew installPlaywrightBrowsers   # one-off — installs Chromium for Playwright\n./gradlew uiTest                      # builds the UI and runs Playwright + Selenium tests\n```\n\nUI tests need Chrome installed (Selenium uses it via Selenium Manager). The Vite UI is built automatically before the tests run. The report is written to `build/kensa-output-ui`.\n\nTo open either report:\n\n```bash\nkensa --dir build/kensa-output\nkensa --dir build/kensa-output-ui\n```\n\n## Purpose\n\nThis project serves two roles:\n\n1. **Showcase** — a realistic example of Kensa tests that visitors to [kensa.dev](https://kensa.dev) can explore. The tests and domain are updated alongside the documentation.\n\n2. **Canary** — run as part of Kensa's CI on every commit to master, building against the latest snapshot to catch regressions early. (UI tests are excluded from the canary because they need browsers.)\n\n## Dependencies\n\n| Library | Role |\n|---|---|\n| [Kensa](https://kensa.dev) | BDD test framework |\n| [Kensa Playwright](https://kensa.dev) / [Kensa Selenium](https://kensa.dev) | UI testing drivers |\n| [http4k](https://http4k.org) | HTTP client \u0026 stub server |\n| [Vite](https://vite.dev) + [React](https://react.dev) + [shadcn/ui](https://ui.shadcn.com) | Feasibility UI |\n| [Kotest](https://kotest.io) | Assertions |\n| [JUnit 5](https://junit.org/junit5/) | Test runner |\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkensa-dev%2Fclearwave-example","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fkensa-dev%2Fclearwave-example","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkensa-dev%2Fclearwave-example/lists"}