diff --git a/.editorconfig b/.editorconfig index 12bcb27e4ee7bbca7f74423a87d205926d2ad1d2..ccc6a281e51a2f99832b3c2d5b7b42b3ce84c36e 100644 --- a/.editorconfig +++ b/.editorconfig @@ -12,6 +12,3 @@ indent_size = 2 charset = utf-8 trim_trailing_whitespace = true insert_final_newline = true - -[{composer.json,composer.lock}] -indent_size = 4 diff --git a/composer.json b/composer.json index 1b7679a9a99308d1202a1752a173eb32b6089a9e..8ae7d184f7d2dbd6fd1cdc74dfcf7b5114a5fd31 100644 --- a/composer.json +++ b/composer.json @@ -1,74 +1,80 @@ { - "name": "lakedrops/behat4drupal", - "description": "Composer Plugin to prepare Drupal project for Behat tests.", - "type": "composer-plugin", - "keywords": [ - "Drupal", - "Development", - "Docker", - "Behat" - ], - "homepage": "https://gitlab.lakedrops.com/composer/plugin/behat4drupal", - "license": "GPL-2.0-or-later", - "authors": [ - { - "name": "Jürgen Haas", - "email": "juergen.haas@lakedrops.com", - "homepage": "https://www.lakedrops.com", - "role": "Drupal Expert" - }, - { - "name": "Daniel Speicher", - "email": "daniel.speicher@lakedrops.com", - "homepage": "https://www.lakedrops.com", - "role": "Drupal Expert" - }, - { - "name": "Richard Papp", - "email": "richard.papp@lakedrops.com", - "homepage": "https://www.lakedrops.com", - "role": "Drupal Expert" - } - ], - "support": { - "issues": "https://gitlab.lakedrops.com/composer/plugin/behat4drupal/issues", - "source": "https://gitlab.lakedrops.com/composer/plugin/behat4drupal/tree/main", - "docs": "https://devops-tools.docs.lakedrops.com/composer/plugin/b4d/" + "name": "lakedrops/behat4drupal", + "description": "Composer Plugin to prepare Drupal project for Behat tests.", + "type": "composer-plugin", + "keywords": [ + "Drupal", + "Development", + "Docker", + "Behat" + ], + "homepage": "https://gitlab.lakedrops.com/composer/plugin/behat4drupal", + "license": "GPL-2.0-or-later", + "authors": [ + { + "name": "Jürgen Haas", + "email": "juergen.haas@lakedrops.com", + "homepage": "https://www.lakedrops.com", + "role": "Drupal Expert" }, - "require": { - "php": ">=7.4", - "behat/behat": "^3.12", - "behat/mink": "^1.10", - "behat/mink-goutte-driver": "^1.3||^2.0", - "behat/mink-selenium2-driver": "^1.6", - "composer-plugin-api": "^1||^2", - "drupal/drupal-extension": "^3.4||^4.1||^5.0", - "drush-ops/behat-drush-endpoint": "^9.4", - "lakedrops/composer-json-utils": "^2.4||dev-develop", - "lakedrops/docker4drupal": "^3.8||dev-develop" + { + "name": "Daniel Speicher", + "email": "daniel.speicher@lakedrops.com", + "homepage": "https://www.lakedrops.com", + "role": "Drupal Expert" }, - "require-dev": { - "composer/composer": "^1||^2", - "drupal/coder": "^8.3", - "phpunit/phpunit": "^9.5", - "roave/security-advisories": "dev-master", - "squizlabs/php_codesniffer": "^3.7" - }, - "config": { - "allow-plugins": { - "lakedrops/docker4drupal": false, - "dealerdirect/phpcodesniffer-composer-installer": true, - "lakedrops/ahoy": false - } - }, - "minimum-stability": "dev", - "prefer-stable": true, - "autoload": { - "psr-4": { - "LakeDrops\\Behat4Drupal\\": "src/" - } - }, - "extra": { - "class": "LakeDrops\\Behat4Drupal\\Plugin" + { + "name": "Richard Papp", + "email": "richard.papp@lakedrops.com", + "homepage": "https://www.lakedrops.com", + "role": "Drupal Expert" + } + ], + "support": { + "issues": "https://gitlab.lakedrops.com/composer/plugin/behat4drupal/issues", + "source": "https://gitlab.lakedrops.com/composer/plugin/behat4drupal/tree/main", + "docs": "https://devops-tools.docs.lakedrops.com/composer/plugin/b4d/" + }, + "repositories": [ + { + "type": "composer", + "url": "https://packages.drupal.org/8" + } + ], + "require": { + "php": ">=8.1", + "behat/behat": "^3.12", + "behat/mink": "^1.10", + "behat/mink-browserkit-driver": "^2.2", + "behat/mink-selenium2-driver": "^1.6", + "composer-plugin-api": "^1||^2", + "drupal/drupal-extension": "^3.4||^4.1||^5.0", + "drush-ops/behat-drush-endpoint": "^9.4", + "lakedrops/composer-json-utils": "^2.4||dev-develop", + "lakedrops/docker4drupal": "^3.8||dev-develop" + }, + "require-dev": { + "composer/composer": "^2", + "lakedrops/drupal-development-environment": "^3.2||dev-develop", + "roave/security-advisories": "dev-latest" + }, + "config": { + "allow-plugins": { + "dealerdirect/phpcodesniffer-composer-installer": true, + "drupal/core-composer-scaffold": false, + "lakedrops/*": false, + "php-http/discovery": false, + "phpstan/extension-installer": true + } + }, + "minimum-stability": "dev", + "prefer-stable": true, + "autoload": { + "psr-4": { + "LakeDrops\\Behat4Drupal\\": "src/" } + }, + "extra": { + "class": "LakeDrops\\Behat4Drupal\\Plugin" + } } diff --git a/src/CommandProvider.php b/src/CommandProvider.php index d7a1c90a592ac481df0403f7c69db643107214a9..ab12de629f5662d7b2755e42b9b05749f5342920 100644 --- a/src/CommandProvider.php +++ b/src/CommandProvider.php @@ -3,14 +3,16 @@ namespace LakeDrops\Behat4Drupal; use Composer\Plugin\Capability\CommandProvider as CommandProviderCapability; -use Composer\Command\BaseCommand; +/** + * Composer Command Provider for Behat for Drupal. + * + * @package LakeDrops\Behat4Drupal + */ class CommandProvider implements CommandProviderCapability { /** - * Retrieves an array of commands - * - * @return BaseCommand[] + * {@inheritdoc} */ public function getCommands(): array { return [ diff --git a/src/Handler.php b/src/Handler.php index bbf524ab4587b3910fd24a960f4d3745a5412409..0366806fc2ba77d5211aa8103907fdc24f101e15 100644 --- a/src/Handler.php +++ b/src/Handler.php @@ -8,7 +8,7 @@ use Symfony\Component\Filesystem\Filesystem; use Symfony\Component\Yaml\Yaml; /** - * Class Handler. + * Handler class to setup Drupal projects for Behat tests. * * @package LakeDrops\Behat4Drupal */ @@ -31,9 +31,9 @@ class Handler extends BaseHandler { $webserver = $d4dConfig->readValue('webserver'); $options = [ - 'projectname' => $projectname, - 'urlprefix' => '', - ]; + 'projectname' => $projectname, + 'urlprefix' => '', + ]; $options['baseurl'] = empty($options['global']) ? $webserver['type'] : @@ -48,7 +48,7 @@ class Handler extends BaseHandler { * @param bool $overwrite * Whether to overwrite existing config files. */ - public function configureProject($overwrite = FALSE): void { + public function configureProject(bool $overwrite = FALSE): void { // We only do the fancy stuff for developers and for CI. if (!$this->isDevMode() && !$this->isCiContext()) { return; @@ -76,7 +76,7 @@ class Handler extends BaseHandler { $extraOptions = $this->config->readValue($filename); if (!empty($def['add2yaml']) && $extraOptions !== NULL) { $yaml = Yaml::parse($rendered); - /** @noinspection SlowArrayOperationsInLoopInspection */ + /* @noinspection SlowArrayOperationsInLoopInspection */ $yaml = array_merge_recursive($yaml, $extraOptions); $rendered = Yaml::dump($yaml, 9, 2); } diff --git a/src/Plugin.php b/src/Plugin.php index 1ca2c20ffc0fe86a0401eabef2a4215ab5b14d27..7e4c876f76e5778a9e2cceb7fc721a545e0cebde 100644 --- a/src/Plugin.php +++ b/src/Plugin.php @@ -2,6 +2,7 @@ namespace LakeDrops\Behat4Drupal; +use Composer\Plugin\Capability\CommandProvider as ComposerCommandProvider; use Composer\Script\Event; use Composer\Script\ScriptEvents; use LakeDrops\Component\Composer\BasePlugin; @@ -23,7 +24,7 @@ class Plugin extends BasePlugin { */ public function getCapabilities(): array { return [ - \Composer\Plugin\Capability\CommandProvider::class => CommandProvider::class, + ComposerCommandProvider::class => CommandProvider::class, ]; } diff --git a/src/UpdateCommand.php b/src/UpdateCommand.php index 4959da7bc23e826e893fb1970e2ca0db35aaa547..3fed7c9d4eaf6827837f573d94a0a005bcf4cdd1 100644 --- a/src/UpdateCommand.php +++ b/src/UpdateCommand.php @@ -6,6 +6,11 @@ use LakeDrops\Component\Composer\BaseCommand; use Symfony\Component\Console\Input\InputInterface; use Symfony\Component\Console\Output\OutputInterface; +/** + * Composer Update Command for Behat for Drupal. + * + * @package LakeDrops\Behat4Drupal + */ class UpdateCommand extends BaseCommand { /** diff --git a/templates/behat.yml.twig b/templates/behat.yml.twig index b5b8393cf133d1f135ecd57b7e2798fcad8968d5..35a31db76b3440d6e3b58ec94f88b9c1a9e77764 100644 --- a/templates/behat.yml.twig +++ b/templates/behat.yml.twig @@ -19,8 +19,6 @@ default: alias: default.behat Behat\MinkExtension: base_url: http://{{ baseurl }}{{ urlprefix }} - goutte: ~ - default_session: goutte javascript_session: MyLocalChrome browser_name: chrome sessions: