{"id":19032865,"url":"https://github.com/strongqa/howitzer_example_turnip","last_synced_at":"2025-04-23T16:43:21.841Z","repository":{"id":4914734,"uuid":"41223874","full_name":"strongqa/howitzer_example_turnip","owner":"strongqa","description":"Example project based on Howitzer2.0 with --turnip option","archived":false,"fork":false,"pushed_at":"2023-01-23T10:26:03.000Z","size":252,"stargazers_count":5,"open_issues_count":4,"forks_count":2,"subscribers_count":15,"default_branch":"master","last_synced_at":"2025-04-18T02:45:11.398Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Ruby","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/strongqa.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2015-08-22T20:50:03.000Z","updated_at":"2022-10-13T19:51:26.000Z","dependencies_parsed_at":"2023-02-12T22:16:49.314Z","dependency_job_id":null,"html_url":"https://github.com/strongqa/howitzer_example_turnip","commit_stats":null,"previous_names":[],"tags_count":2,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/strongqa%2Fhowitzer_example_turnip","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/strongqa%2Fhowitzer_example_turnip/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/strongqa%2Fhowitzer_example_turnip/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/strongqa%2Fhowitzer_example_turnip/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/strongqa","download_url":"https://codeload.github.com/strongqa/howitzer_example_turnip/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":250472108,"owners_count":21436081,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","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":"2024-11-08T21:32:12.505Z","updated_at":"2025-04-23T16:43:21.823Z","avatar_url":"https://github.com/strongqa.png","language":"Ruby","funding_links":[],"categories":[],"sub_categories":[],"readme":"Howitzer Example Turnip\n=======================\n\n[![Build Status](https://app.travis-ci.com/strongqa/howitzer_example_turnip.svg?branch=master)](https://app.travis-ci.com/strongqa/howitzer_example_turnip)\n[![CircleCI](https://circleci.com/gh/strongqa/howitzer_example_turnip.svg?style=svg\u0026circle-token=c6dac71b26747e0dbb4fd98bab9922943ff455be)](https://circleci.com/gh/strongqa/howitzer_example_turnip)\n\nHowitzer example project based on Turnip for demo web application https://demoapp.strongqa.com\n\n## Requirements\n\n- Ruby 3.0.2\n\n## Getting Started\n\n*Note!* This project uses Git submodules in order to reuse common code between similar projects:\n\n[howitzer_example_rspec](https://github.com/strongqa/howitzer_example_rspec)\n\n[howitzer_example_cucumber](https://github.com/strongqa/howitzer_example_cucumber)\n\nTypically it is not required for a regular project based on [Howitzer](https://github.com/strongqa/howitzer)\n\n### How to try the project locally\n\n- Clone project\n\n```\ngit clone --recursive git@github.com:strongqa/howitzer_example_turnip.git\n```\n\n- Install dependencies\n\n```\nbundle install\n```\n\n- Get list of available commands\n\n```\nrake -T\n```\n\n## Run tests in Docker\n\n### Build image\n```\ndocker build -t howitzer_example_turnip .\n```\nDriver which is used by default is **headless chrome**\n\nUse **docker run** command to create and run container.\n\n- In order to run container by default:\n```\ndocker run -d --name turnip_container howitzer_example_turnip\n```\n- Connect to created container using this command:\n```\ndocker exec -it turnip_container /bin/bash\ndocker exec -it \u003ccontainer ID\u003e /bin/bash\n```\n\n- Run tests with the next commands using container's terminal:\n```\nSEXY_SETTINGS=\"driver=headless_chrome; headless_chrome_flags=$CHROME_ARGS\" bundle exec rake\n```\nNOTE! If you need to launch tests under firefox headless browser, use this command:\n```\nSEXY_SETTINGS=\"driver=headless_firefox\" bundle exec rake\n```\n\n### Run with docker compose\n\n- Initialize build, and up the container in detached mode:\n```\ndocker-compose -f docker-compose.yml up -d\n```\n- Connect to created container using this command:\n```\ndocker compose exec -it howitzer_example_turnip  /bin/bash\n```\n\n### Stop container\n- Perform the next command to stop running container using docker-compose command:\n```\ndocker-compose -f docker-compose.yml down\n```\nWARNING: ***after this command container will be deleted and all data lost.***\n\n- If you need to save container use the next command to stop container:\n```\ndocker stop \u003ccontainer_name/ID\u003e\n```\n\n## Contributing\n\nCode quality is controlled by [Rubocop](https://github.com/bbatsov/rubocop)\n\nIt is useful to activate rubocop pre-commit git hook for changed files.\n\n```\ncp scripts/pre-commit .git/hooks/pre-commit\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fstrongqa%2Fhowitzer_example_turnip","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fstrongqa%2Fhowitzer_example_turnip","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fstrongqa%2Fhowitzer_example_turnip/lists"}