diff --git a/composer.json b/composer.json index 97d20a57c7ad95028459e88c6b7240e8f1297c42..9220ef18fcb344f6bc66fddf46274c070d0731c8 100644 --- a/composer.json +++ b/composer.json @@ -39,7 +39,7 @@ "jcalderonzumba/gastonjs": "^1.2", "jcalderonzumba/mink-phantomjs-driver": "^0.3", "lakedrops/composer-scripts": "^1.1.0", - "lakedrops/docker4drupal": "^1.0.0", + "lakedrops/docker4drupal": "^1.8.6", "lakedrops/dotenv": "^1.0.0", "php": ">=5.6", "twig/twig": "^1.23.1" diff --git a/src/Handler.php b/src/Handler.php index 0a8d9daad5ac464ef1ccb9cce6c7f5377cfadfe7..3e92a90cad57013fe0b9f549801c98f6a6f048e4 100644 --- a/src/Handler.php +++ b/src/Handler.php @@ -5,6 +5,7 @@ namespace LakeDrops\Behat4Drupal; use Composer\Script\Event; use LakeDrops\Component\Composer\BaseHandler; use LakeDrops\Component\Dotenv\Dotenv; +use LakeDrops\Docker4Drupal\Handler as D4DHandler; use Symfony\Component\Filesystem\Filesystem; use Symfony\Component\Yaml\Yaml; @@ -112,13 +113,20 @@ class Handler extends BaseHandler { * The settings from the extra configuration. */ protected function getOptions() { - $projectname = str_replace([' ', '-', '_', '.'], '', basename(getcwd())); + $handler = new D4DHandler($this->composer, $this->io); + $projectname = $handler->getOptions('projectname'); + $webserver = $handler->getOptions('webserver'); + $env = new Dotenv('behat4drupal', $this->io); - $env->put('COMPOSE_PROJECT_NAME', $projectname); $extra = $this->composer->getPackage()->getExtra() + ['behat4drupal' => []]; $options = $extra['behat4drupal'] + [ 'projectname' => $projectname, ]; + + $options['baseurl'] = empty($options['global']) ? + $webserver['type'] : + $projectname . '.docker.localhost:8000'; + return $env->replaceEnvironmentVariables($options); } diff --git a/templates/behat.yml.twig b/templates/behat.yml.twig index f607d085ce0ac71f868a514cf3628c7c51ba51c6..a61be254e22b33e0561a7b2caf7b2c78cce6e07f 100644 --- a/templates/behat.yml.twig +++ b/templates/behat.yml.twig @@ -18,7 +18,7 @@ default: drush: alias: default.dev Behat\MinkExtension: - base_url: http://{{ projectname }}.docker.localhost:8000 + base_url: http://{{ baseurl }} goutte: ~ default_session: goutte javascript_session: MyLocalChrome