{"id":28967702,"url":"https://github.com/su-sws/linky_clicky","last_synced_at":"2025-06-24T08:09:52.798Z","repository":{"id":18898131,"uuid":"22116290","full_name":"SU-SWS/linky_clicky","owner":"SU-SWS","description":"Behat tests mean death to linky-clicky","archived":false,"fork":false,"pushed_at":"2023-04-19T18:37:34.000Z","size":6237,"stargazers_count":6,"open_issues_count":10,"forks_count":3,"subscribers_count":38,"default_branch":"5.x","last_synced_at":"2024-04-07T01:49:14.567Z","etag":null,"topics":["behat"],"latest_commit_sha":null,"homepage":null,"language":"Gherkin","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/SU-SWS.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.txt","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2014-07-22T18:43:33.000Z","updated_at":"2023-12-21T11:50:46.000Z","dependencies_parsed_at":"2022-08-26T15:01:22.241Z","dependency_job_id":null,"html_url":"https://github.com/SU-SWS/linky_clicky","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/SU-SWS/linky_clicky","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SU-SWS%2Flinky_clicky","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SU-SWS%2Flinky_clicky/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SU-SWS%2Flinky_clicky/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SU-SWS%2Flinky_clicky/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/SU-SWS","download_url":"https://codeload.github.com/SU-SWS/linky_clicky/tar.gz/refs/heads/5.x","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SU-SWS%2Flinky_clicky/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":261632133,"owners_count":23187273,"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":["behat"],"created_at":"2025-06-24T08:09:52.588Z","updated_at":"2025-06-24T08:09:52.787Z","avatar_url":"https://github.com/SU-SWS.png","language":"Gherkin","funding_links":[],"categories":[],"sub_categories":[],"readme":"Linky Clicky\n============\n\nBehat tests mean death to linky-clicky!\n\nInstallation\n-------------\n\nYou can either copy the values from the composer.json file to your local file or\nyou can compile here. The files and directories that composer creates will be\n.gitignore'd\n\n`composer install`\n\nIf you install locally there should be a `bin/behat` executable for you. You can\neither point your system to that behat install or use it in some other way.\n\nUpdating an Existing Project from branch behat3\n----------------------------------------------------------\n\n#### Todo\n1. Update behat.yml paths\n2. Update behat.local.yml paths\n3. Update symlinks from features/bootstrap\n4. Update symlinks that were to shared tests eg: includes/jumpstart_home\n\n\nUpdating an Existing Project from Behat 1.0\n----------------------------------------------------------\nIf you have a `behat.local.yml` file (which is not tracked by git), update it to match the syntax in `behat.local.yml.default`. Specifically:\n\n* `Behat\\MinkExtension\\Extension` will need to be changed to `Behat\\MinkExtension`\n* `Drupal\\DrupalExtension\\Extension` will need to be changed to `Drupal\\DrupalExtension`\n\nOtherwise, you may get an error like:\n\n      [Behat\\Testwork\\ServiceContainer\\Exception\\ExtensionInitializationException]\n      `Behat\\MinkExtension\\Extension` extension file or class could not be located.\n\nCreating a new project\n----------------------------\n\nWhen creating a set of testing features for a new site, create a new directory for that site. Copy `behat.yml.default` and `behat.local.yml.default` into the root of that directory and rename them to `behat.yml` and `behat.local.yml`, respectively. Edit the \"base_url\" and the drush \"alias\" values to match the site you are testing.\n\n`behat.yml` imports the files at `includes/extensions/*` and `includes/config`\n\n`behat.local.yml` is ignored by git.\n\nCreate a `features` directory and place your `*.feature` files in that directory.\n\nCreate a `features/bootstrap` directory, copy `FeatureContext.php.default` into there, and rename it `FeatureContext.php`\n\nIn the `features/bootstrap` directory, create a symbolic link for each of the following files.\n  1. SWSFeatureContext.php -\u003e includes/bootstrap/SWSFeatureContext.php\n  2. SWSDrupalContext.php -\u003e includes/bootstrap/SWSDrupalContext.php\n  3. SWSMinkContext.php -\u003e includes/bootstrap/SWSMinkContext.php\n\nThe default `FeatureContext.php` file is where you can put your site specific step definitions.\n\nThe `SWSFeatureContext.php` file is where all of the custom shared step definitions are stored. Behat 3 does not allow for sub contexts anymore and references to the DrupalContext and MinkContext are saved in variables in this file.\n\nThe `SWSDrupalContext.php` file is the DrupalExtention DrupalContext override file and contains an override of the Drupal login step, which is necessary because WMD hides the user login form in a collapsible fieldset.\n\nThe `SWSMinkContext.php` file is the DrupalExtension MinkContext override file that contains an extra function.\n\nThere are a number of starter or common feature tests you can use in your new project at `includes/features`. Simply copy these into your new projects features folder and start editing them to fit your new site or product.\n\nFormatters\n----------------------------\n\nThe formatters and syntax that comes with Behat 3 has changed. By default Behat 3 no longer comes with an html output option.\nIncluded in the composer build is an HTML formatter for behat but it needs to be configured in your behat.local.yml file or\npassed to the behat function through the command link with a number of parameters.\n\nSee: [https://github.com/dutchiexl/BehatHtmlFormatterPlugin](https://github.com/dutchiexl/BehatHtmlFormatterPlugin)\nand: [http://docs.behat.org/en/latest/guides/7.run.html](http://docs.behat.org/en/latest/guides/7.run.html)\n\nDirectory structure\n-------------------\n\n    sitename\n    |--behat.yml\n    |--behat.local.yml\n    |--features\n       |--featurename.feature\n       |--bootstrap\n          |--FeatureContext.php\n          |--SWSFeatureContext.php\n          |--SWSDrupalContext.php\n          |--SWSMinkContext.php\n\n\ngit-crypt\n-----------\nSome files in this repository are encrypted with [git-crypt](https://github.com/AGWA/git-crypt). For instructions on how to decrypt these files, see the [directions on SWS Confluence](https://asconfluence.stanford.edu/confluence/display/SWS/Encrypting+Files+with+git-crypt) (authentication required).\n\nTravis Integration\n==================\nCAPx\n------------------\nIncluded is a custom step definition for CAPx credentials. To use this definition in travis-ci.org, go to settings of \nthe repository to be tested withint travis-ci.org. Add two environment variables \"CAPX_USER\" and \"CAPX_PASSWORD\".\nVerify the values are not displayed in the log report. Then in the behat tests, use the step definition \"Given I am\nauthenticated with CAPx\". This will track existing credentials and encrypt the new credentials from the travis\nenvironment variables. This will only set the variables. Any additional testing may require organization codes to be\nupdated during the test.\n\nSee Also\n------------\nSee [Using Linky Clicky] (https://github.com/SU-SWS/linky_clicky/blob/5.x/UsingLinkyClicky.md)\n\nSee [Running Linky Clicky] (https://github.com/SU-SWS/linky_clicky/blob/5.x/RunningLinkyClicky.md)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsu-sws%2Flinky_clicky","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsu-sws%2Flinky_clicky","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsu-sws%2Flinky_clicky/lists"}