Commit Graph

66 Commits

Author SHA1 Message Date
David Monllao d70814b233 Merge branch 'MDL-48318-27' of git://github.com/lameze/moodle into MOODLE_27_STABLE 2014-12-16 16:42:19 +08:00
Rajesh Taneja a9326881bf MDL-48318 behat: Fixed JS Exception
M is not created on all pages, like cron and
Steps which check for exported data. So we need
to ensure M is defined, before using it in
behat_hooks::wait_for_pending_js()
2014-12-05 11:49:50 +08:00
Rajesh Taneja 1c6e42379e MDL-48426 behat: soft-reset mink session before scenario 2014-12-01 12:40:38 +08:00
Rajesh Taneja b04d715851 MDL-48302 behat: Reset all data, before starting behat suite 2014-11-21 10:44:07 +08:00
Rajesh Taneja b525a13b9e MDL-48302 behat: Reset cache before scenario 2014-11-21 10:43:54 +08:00
Tim Hunt d313ad40e6 MDL-47711 behat: make it easier to copy the init.php command. 2014-10-20 12:05:50 +01:00
Petr Skoda df9a669791 MDL-46099 session: fix use of references for session globals
This reverses the references used for global $USER and $SESSION,
the reason is that PHP does not allow references to references.
$USER is a reference to $GLOBALS['USER'] which means we cannot
put any references to it. Solution is to store the current user and session
objects in $GLOBALS['USER'] and $GLOBALS['SESSIOn'] are reference
them in $_SESSION.

This patch makes the session code behave the same way in CLI,
phpunit and normal web requests - this allows use to finally
unit test most aspects of the session code in Moodle.
2014-07-01 08:38:10 +12:00
Dan Poltawski 63476b0f6f Merge branch 'MDL-44619_master' of git://github.com/dmonllao/moodle 2014-04-17 17:02:04 +08:00
Dan Poltawski c312e59e7d Merge branch 'wip-mdl-44979' of https://github.com/rajeshtaneja/moodle 2014-04-16 13:56:37 +08:00
Rajesh Taneja 92a34f2865 MDL-44979 behat: no need to purge all cache again 2014-04-10 11:00:40 +08:00
David Monllao af4830a257 MDL-44619 behat: Converting MDLQA-8
In a standard forum, students can start discussions
add replies and attach files to their posts.
2014-04-09 19:34:11 +07:00
Rajesh Taneja f8b589c90c MDL-44873 behat: Added suppport for clean error class. 2014-04-04 13:22:58 +08:00
Rajesh Taneja 3b0b5e570d MDL-44557 behat: Allow nehat to resize window
Run all behat with medium (1024x768) screen size to
avoid failures with small screen size. Also, added
feature to let scenario chnage screen size if need be.
2014-03-26 13:59:14 +08:00
Marina Glancy a2c271ddcb MDL-44686 behat: limit failure filename length to 255 chars 2014-03-21 15:50:11 +08:00
David Monllao 167486b316 MDL-44111 behat: Limiting dump files filename size 2014-02-21 13:21:58 +08:00
Andrew Nicols a964ead06d MDL-43911 Behat: Save dumps of the page content to disk on scenario failure 2014-02-02 20:34:10 +08:00
David Monllao cca6f37389 MDL-43757 behat: Allowing the form field guesser to detect TinyMCE
It includes 2 more minor fixes:
- Escapes values sent to TinyMCE as it was breaking
  when values contained double quotes.
- Adding seconds to the screenshots directory to
  avoid using the same folder for multiple runs.
2014-01-24 15:06:12 +08:00
David Monllao 4234011a1a MDL-43439 behat: Dir date without - separators 2014-01-15 09:17:44 +08:00
David Monllao 5c0dfe32eb MDL-43439 behat: Save the screenshots to the specified location 2014-01-14 15:17:28 +08:00
Damyon Wiese 3ec07614ba MDL-43439: Behat - new $CFG param - behat_screenshot_after_failure 2014-01-10 17:54:53 +08:00
David Monllao afe9f42adb MDL-43173 behat: Thowing an exception if the JS is not ready 2014-01-03 11:27:54 +08:00
David Monllao f49cede794 MDL-43404 behat: Avoid failures at framework level as much as possible
- Move them to i_look_for_exceptions() so they will be
  thrown at a step (scenario) level.
- Accept alerts only when they are detected to avoid
  all the following scenarios to be failing; they would
  continue executing, but they will all fail if the alert
  is still there
- Add a step to avoid add_scorm.feature to fail
- Refine the UnknownError catch
2013-12-19 15:48:03 +08:00
Eloy Lafuente (stronk7) f77233dfaa Merge branch 'MDL-43404_master' of git://github.com/dmonllao/moodle 2013-12-18 02:24:08 +01:00
David Monllao db3ecbd02a MDL-43404 behat: Removing auto accept_alert 2013-12-17 16:29:56 +08:00
Petr Škoda 60129d5d1f MDL-43213 try to simplify behat config and init code
1/ always require 3 behat settings - $CFG->behat_wwwroot, $CFG->behat_dataroot and $CFG->behat_prefix
2/ cleanup init code
3/ do not require $CFG->wwwroot and $CFG->dataroot on test sites
4/ remove switch completely - the most confusing part for me
5/ print out behat_wwwwroot in init script so that you can test the test site manually
2013-12-13 14:03:04 +08:00
David Monllao c1faf86bd1 MDL-42625 behat: Make behat pacient
* When looking for texts inside the page or inside
  other containers we should wait until the elements
  are visible.
* Same when expanding tree nodes.
* Normalizing loops to spin() function using
  behat_base::TIMEOUT and behat_base::EXTENDED_TIMEOUT,
  leaving TIMEOUT for DOM load processes and
  EXTENDED_TIMEOUT for long processes that involves JS
  too.
* Add page load waits between actions that involves
  reloading the page.
2013-12-09 11:08:42 +08:00
David Monllao d1e55a47be MDL-42625 behat: Step definitions + related changes in features
In general aiming for compatibility with multiple browsers,
firefox, chrome and phantomjs to be more specific.

* Removing hardcoded waits
* Adding @_alert, @_switch_window and @_switch_frame tags,
  to label actions that different drivers have problems with.
* Adding missing @_files_upload and @_only_local tags to features that
  uploads files.
* Fixing a few wait for page ready what specified miliseconds.
* New methods to ensure elements (usual selectors), sections and editors
  are ready to interact with
* Changing the select an option implementation to deal with the different
  drivers implementations when listening to JS events.
2013-12-06 13:10:24 +08:00
Damyon Wiese 6e2c417c1f MDL-41030 Behat: Add support for waiting for javascript
This is so that phantomjs (which runs faster than selenium) can pass the tests.
2013-12-06 12:13:39 +08:00
David Monllao 89cf999a8d MDL-39489 behat: Updating to 2.6 moodlehq/behat-extension tag
Also solving new problem after Behat
2.5 upgrade.
2013-10-15 15:09:04 +08:00
Petr Škoda de230fd359 MDL-37324 fix phpunit and behat SESSION and USER setup 2013-09-24 08:59:29 +02:00
Petr Škoda d79d5ac276 MDL-31501 rework user session architecture
List of changes:
 * New OOP API using PHP namespace \core\session\.
 * All handlers now update the sessions table consistently.
 * Experimental DB session support in Oracle.
 * Full support for session file handler (filesystem locking required).
 * New option for alternative session directory.
 * Official memcached session handler support.
 * Workaround for memcached version with non-functional gc.
 * Improved security - forced session id regeneration.
 * Improved compatibility with recent PHP releases.
 * Fixed borked CSS during install in debug mode.
 * Switched to file based sessions in new installs.
 * DB session setting disappears if DB does not support sessions.
 * DB session setting disappears if session handler specified in config.php.
 * Fast purging of sessions used in request only.
 * No legacy distinction -  file, database and memcached support the same functionality.
 * Session handler name included in performance info.
 * Fixed user_loggedin and user_loggedout event triggering.
 * Other minor bugfixing and improvements.
 * Fixed database session segfault if MUC disposed before $DB.

Limitations:
 * Session access time is now updated right after session start.
 * Support for $CFG->sessionlockloggedinonly was removed.
 * First request does not update userid in sessions table.
 * The timeouts may break badly if server hosting forces PHP.ini session settings.
 * The session GC is a lot slower, we do not rely on external session timeouts.
 * There cannot be any hooks triggered at the session write time.
 * File and memcached handlers do not support session lock acquire timeouts.
 * Some low level PHP session functions can not be used directly in Moodle code.
2013-09-21 13:11:56 +02:00
David Monllao f59f6b6b75 MDL-41555 behat: Fixing catch statement location
The exception is thrown when getting the
browser session, not when accessing the first
URL.
2013-09-12 15:51:24 +08:00
Sam Hemelryk 33636b4040 Merge branch 'MDL-41587_master' of git://github.com/dmonllao/moodle 2013-09-11 08:52:52 +12:00
Sam Hemelryk f605403fe2 Merge branch 'MDL-41555_master' of git://github.com/dmonllao/moodle 2013-09-11 08:51:02 +12:00
David Monllao 19f6703d8b MDL-41587 tool_behat: Adding site name constant 2013-09-05 10:13:25 +08:00
David Monllao 3b7d3fb8d7 MDL-41555 tool_behat: Improving behat & selenium exceptions messages
Also moving the 'selenium not running'
checking to a proper place as it was
not thrown since the homepage start
visit() was introduced.
2013-09-05 10:12:57 +08:00
David Monllao 17344d4c8f MDL-40566 behat: Moving from behat_command to behat_selectors 2013-09-03 10:28:42 +08:00
David Monllao 95b43d6b90 MDL-40852 behat: Wrong URLs detection 2013-08-06 13:23:07 +08:00
Sam Hemelryk 6cd213567b MDL-40842 behat: fixed a typo 2013-08-01 20:15:29 +12:00
Sam Hemelryk 81387cafd5 MDL-40842 behat: Reverting to backtrace catchall as xdebug warnings were being missed 2013-08-01 17:03:25 +12:00
Sam Hemelryk 3e76c7fa68 MDL-40842 behat: improved exception + debugging detection 2013-07-29 10:51:55 +12:00
David Monllao 8aea365f05 MDL-40315 behat: Performance improvement
We look for exceptions after each step, this patch
includes a pre-checking query to avoid multiple queries
for each step when most of the time they are not necessary.
2013-07-12 12:16:18 +02:00
Eloy Lafuente (stronk7) cc4cbf67f0 Merge branch 'MDL-39795_master' of git://github.com/dmonllao/moodle 2013-05-28 00:02:58 +02:00
David Monllao 41eb672ba4 MDL-39686 behat: Add option to restart the browser 2013-05-27 15:03:25 +08:00
David Monllao 9a1f4922bd MDL-39795 behat: Improving find-texts-in-page-contents performance 2013-05-27 14:24:20 +08:00
David Monllao 870349ee67 MDL-39528 behat: Avoid modal window suite failure
Catching JS alerts/confirms exceptions and
auto-accepting them before each test run to
avoid chained scenarios failures.
2013-05-16 10:11:40 +08:00
David Monllao 217e8e59e5 MDL-39051 behat: Fix issue after closing popup windows
When a step closes a popup window the page DOM is not available
until we switch again to the main window; we should avoid exceptions
at framework level when hooking the after step process, this
includes the new exceptions catcher modification.
2013-05-09 17:21:06 +08:00
Sam Hemelryk b3a9bf23f5 Merge branch 'MDL-39481_master' of git://github.com/dmonllao/moodle 2013-05-08 09:54:13 +12:00
David Monllao cfcbc34a61 MDL-39478 behat: New constant to detect when the test site is running
Also removing an unused var and method.
2013-05-07 11:12:01 +08:00
Eloy Lafuente (stronk7) 081bfdc5ff Merge branch 'MDL-39348_master' of git://github.com/dmonllao/moodle 2013-05-06 01:49:51 +02:00