Security update for permissions_by_term
[yaffs-website] / vendor / drupal / drupal-extension / doc / globalinstall.rst
diff --git a/vendor/drupal/drupal-extension/doc/globalinstall.rst b/vendor/drupal/drupal-extension/doc/globalinstall.rst
new file mode 100644 (file)
index 0000000..de233b2
--- /dev/null
@@ -0,0 +1,119 @@
+System-wide installation 
+========================
+
+A system-wide installation allows you to maintain a single copy of the testing
+tool set and use it for multiple test environments. Configuration is slightly
+more complex than the stand-alone installation but many people prefer the
+flexibility and ease-of-maintenance this setup provides.
+
+Overview 
+--------
+
+To install the Drupal Extension globally:
+
+#. Install Composer 
+#. Install the Drupal Extension in `/opt/drupalextension` 
+#. Create an alias to the behat binary in `/usr/local/bin` 
+#. Create your test folder
+
+Install Composer 
+----------------
+
+Composer is a PHP dependency manager that will make sure all the pieces you
+need get installed. `Full directions for global installation
+<http://getcomposer.org/doc/00-intro.md#globally>`_ and more information can be
+found on the `Composer website <http://getcomposer.org/>`_.::
+
+  curl -sS https://getcomposer.org/installer | 
+  php mv composer.phar /usr/local/bin/composer
+
+Install the Drupal Extension 
+----------------------------
+
+#. Make a directory in /opt (or wherever you choose) for the Drupal Extension::
+
+    cd /opt/ 
+    sudo mkdir drupalextension
+    cd drupalextension/
+
+2. Create a file called `composer.json` and include the following:
+  
+  .. literalinclude:: _static/snippets/composer.json 
+     :language: javascript 
+     :linenos:
+
+3. Run the install command::
+
+    sudo composer install
+
+  It will be a bit before you start seeing any output. It will also suggest
+  that you install additional tools, but they're not normally needed so you can
+  safely ignore that message.
+
+4. Test that your install worked by typing the following::
+
+    bin/behat --help
+
+  If you were successful, you'll see the help output.
+
+5. Make the binary available system-wide::
+
+    ln -s /opt/drupalextension/bin/behat /usr/local/bin/behat
+
+Set up tests 
+------------ 
+
+1. Create the directory that will hold your tests. There is no technical
+   reason this needs to be inside the Drupal directory at all. It is best to
+   keep them in the same version control repository so that the tests match the 
+   version of the site they are written for.
+
+  One clear pattern is to keep them in the sites folder as follows:
+
+  Single site: `sites/default/behat-tests`
+  
+  Multi-site or named single site: `/sites/my.domain.com/behat-tests`
+
+2. Wherever you make your test folder, inside it create the behat.yml file:
+
+  .. literalinclude:: _static/snippets/behat-1.yml 
+     :language: yaml 
+     :linenos:
+
+3. Initialize behat. This creates the features folder with some basic things to
+   get you started::
+
+    bin/behat --init
+
+4. This will generate a FeatureContext.php file that looks like:
+
+  .. literalinclude:: _static/snippets/FeatureContext.php.inc
+     :language: php 
+     :linenos: 
+     :emphasize-lines: 12 
+
+  This will make your FeatureContext.php aware of both the Drupal Extension and
+  the Mink Extension, so you'll be able to take advantage of their drivers and
+  step definitions and add your own custom step definitions here. 
+  The FeatureContext.php file must be in the same directory as your behat.yml
+  file otherwise in step 5 you will get the following error:
+  
+    [Behat\Behat\Context\Exception\ContextNotFoundException]
+    `FeatureContext` context class not found and can not be used. 
+  
+
+5. To ensure everything is set up appropriately, type::
+
+    behat -dl
+
+   You'll see a list of steps like the following, but longer, if you've
+   installed everything successfully:
+
+
+  .. code-block:: gherkin 
+     :linenos:
+
+      default | Given I am an anonymous user                                    
+      default | Given I am not logged in                                        
+      default | Given I am logged in as a user with the :role role(s)           
+      default | Given I am logged in as :name