diff --git a/auth/tests/behat/behat_auth.php b/auth/tests/behat/behat_auth.php new file mode 100644 index 00000000000..eab0062760d --- /dev/null +++ b/auth/tests/behat/behat_auth.php @@ -0,0 +1,68 @@ +. + +/** + * Basic authentication steps definitions. + * + * @package core + * @category test + * @copyright 2012 David Monllaó + * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later + */ + +// NOTE: no MOODLE_INTERNAL test here, this file may be required by behat before including /config.php. + +require_once(__DIR__ . '/../../../lib/behat/behat_base.php'); + +use Behat\Behat\Context\Step\Given as Given; +use Behat\Behat\Context\Step\When as When; + +/** + * Log in log out steps definitions. + * + * @package core + * @category test + * @copyright 2012 David Monllaó + * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later + */ +class behat_auth extends behat_base { + + /** + * Logs in the user. There should exist a user with the same value as username and password. + * + * @Given /^I log in as "(?P(?:[^"]|\\")*)"$/ + */ + public function i_log_in_as($username) { + + return array(new Given('I am on homepage'), + new Given('I follow "Login"'), + new Given('I fill in "Username" with "'.$username.'"'), + new Given('I fill in "Password" with "'.$username.'"'), + new When('I press "Login"'), + new Given('I should see "You are logged in as"')); + } + + /** + * Logs out of the system. + * + * @Given /^I log out$/ + */ + public function i_log_out() { + return new When('I follow "Logout"'); + } + +} diff --git a/auth/tests/behat/login.feature b/auth/tests/behat/login.feature new file mode 100644 index 00000000000..d731f8c56b4 --- /dev/null +++ b/auth/tests/behat/login.feature @@ -0,0 +1,13 @@ +@auth +Feature: Authentication + In order to validate my credentials in the system + As a moodle user + I need to log into the system + + Scenario: Login with the predefined admin user + Given I log in as "admin" + + Scenario: Logout + Given I log in as "admin" + When I log out + Then I should see "You are not logged in"