{"id":20038872,"url":"https://github.com/defra/phi-ui-automation","last_synced_at":"2026-05-13T19:34:05.136Z","repository":{"id":254148628,"uuid":"845637021","full_name":"DEFRA/phi-ui-automation","owner":"DEFRA","description":"Git repository for service phi-ui-automation","archived":false,"fork":false,"pushed_at":"2024-08-21T16:22:46.000Z","size":104,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-03-02T06:28:59.683Z","etag":null,"topics":["cdp","journey","repository","test-suite"],"latest_commit_sha":null,"homepage":null,"language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/DEFRA.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}},"created_at":"2024-08-21T16:22:31.000Z","updated_at":"2024-08-21T16:22:49.000Z","dependencies_parsed_at":"2024-08-21T18:26:22.622Z","dependency_job_id":"c03d0d7b-e5ff-40b0-88a9-8502e63db613","html_url":"https://github.com/DEFRA/phi-ui-automation","commit_stats":null,"previous_names":["defra/phi-ui-automation"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/DEFRA/phi-ui-automation","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DEFRA%2Fphi-ui-automation","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DEFRA%2Fphi-ui-automation/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DEFRA%2Fphi-ui-automation/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DEFRA%2Fphi-ui-automation/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/DEFRA","download_url":"https://codeload.github.com/DEFRA/phi-ui-automation/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DEFRA%2Fphi-ui-automation/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32997719,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-13T13:14:54.681Z","status":"ssl_error","status_checked_at":"2026-05-13T13:14:51.610Z","response_time":115,"last_error":"SSL_read: 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":["cdp","journey","repository","test-suite"],"created_at":"2024-11-13T10:33:41.451Z","updated_at":"2026-05-13T19:34:05.115Z","avatar_url":"https://github.com/DEFRA.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# phi-ui-automation\n\n## Requirements\n\n- [Docker](https://www.docker.com/)\n- [Docker Compose](https://docs.docker.com/compose/)\n- [Node.js](https://nodejs.org/en/)\n  - Recommended to use [nvm](https://github.com/nvm-sh/nvm) for managing Node.js versions\n\n## Writing a test suite\n\n- Add your services to `docker-compose.yaml`\n- Write some journey tests using [webdriver.io](https://webdriver.io/docs/gettingstarted)\n- Configure `wdio.conf.js` to point at the service you want to test.\n- Run your tests, by either:\n  - Running the [Journey Tests Workflow](https://github.com/DEFRA/phi-ui-automation/actions/workflows/run-tests.yaml) manually via Github actions\n  - Add calls to the [Journey Tests Workflow](https://github.com/DEFRA/phi-ui-automation/blob/main/.github/workflows/run-tests.yaml) to the service repositories covered by the test suite\n\n### Updating docker-compose.yaml\n\nThe base docker-compose.yaml has an example service as well as some supporting infrastructure. These can be removed if not required.\nAll services built on the platform publish to DEFRA's dockerhub [https://github.com/DEFRA/](https://github.com/DEFRA/), you should use these images for testing as they're the same ones that will be deployed.\n\nService configuration should be done via environment variables, as it is in the real environments.\n\n### Docker networking considerations\n\nBy default, docker compose will use bridged networking, meaning each container gets its own hostname/ip. Services should be configured to talk to each other using these hostnames.\n\nA service can also expose specific ports to the host using the `ports` configuration. Typically, you'd do this for the frontend service you're testing.\n\nYou can consider using `host` networking mode, where all services appear on localhost, though this may be harder to develop if you're using Docker Desktop on Macs or Windows.\n\n### How to trigger the test suite when a related service is built\n\nYou can use the `run-tests.yaml` workflow from this project as a reusable workflow to be called as a step in another workflow in another project.\n\nThe easiest way to do this is to cut and paste the following into `.github/workflows/journey-tests.yaml` in the github repository you want to run the test from:\n\n```yaml\nname: Jouney Tests\n\non:\n  workflow_dispatch:\n  workflow_run:\n    workflows: ['Publish']\n    types:\n      - completed\njobs:\n  test:\n    uses: defra/phi-ui-automation/.github/workflows/run-tests.yaml@main\n```\n\nThis can be done for any number of services covered by your test suite, allowing for it to be run whenever any of those services publish a new version.\n\n## Licence\n\nTHIS INFORMATION IS LICENSED UNDER THE CONDITIONS OF THE OPEN GOVERNMENT LICENCE found at:\n\n\u003chttp://www.nationalarchives.gov.uk/doc/open-government-licence/version/3\u003e\n\nThe following attribution statement MUST be cited in your products and applications when using this information.\n\n\u003e Contains public sector information licensed under the Open Government licence v3\n\n### About the licence\n\nThe Open Government Licence (OGL) was developed by the Controller of Her Majesty's Stationery Office (HMSO) to enable\ninformation providers in the public sector to license the use and re-use of their information under a common open\nlicence.\n\nIt is designed to encourage use and re-use of information freely and flexibly, with only a few conditions.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdefra%2Fphi-ui-automation","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdefra%2Fphi-ui-automation","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdefra%2Fphi-ui-automation/lists"}