Commit graph

578 commits

Author SHA1 Message Date
Rajesh Taneja
641459a8a5 MDL-46817 behat: Step to check if value exist/not in table column 2014-08-18 09:59:29 +08:00
Marina Glancy
5f079af450 MDL-46503 behat: cohort generator allows to create cohort in category 2014-07-25 09:12:21 +08:00
Petr Skoda
2e00d01db4 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:00 +12:00
Rajesh Taneja
d7a0b72160 MDL-46061 behat: Fixed blur event problem for atto_image
atto_image look for blur event after changing width/height
Added a new step to get focus off the element, so this can
work.
2014-06-26 09:59:49 +08:00
Rajesh Taneja
6c396b6bb4 MDL-43835 behat: Added new step to set field with xpath defined 2014-06-25 12:54:52 +08:00
Sam Hemelryk
1912b5aa92 Merge branch 'MDL-45192_master' of git://github.com/dmonllao/moodle 2014-05-26 13:23:02 +12:00
Sam Hemelryk
37d39fe348 MDL-44711 course: fixed navigation expansion in course tests 2014-05-21 20:58:16 +12:00
Sam Hemelryk
487e68b432 MDL-44711 block_navigation: fixed typo in behat tests 2014-05-20 23:39:29 +12:00
Sam Hemelryk
817d39b8aa MDL-44711 navigation: better handling of course expansion exception 2014-05-19 08:41:14 +12:00
David Monllao
b28b374f2e MDL-45192 behat: Replacing specific-selector steps by a generic one
Having a I click on we can use all our selectors rather
than having multiple steps for the same purpose. This
step allow us to manage JS native dialogues without
having to fail a scenario.

Credit for Mohamed Alsharaf.
2014-05-13 20:21:49 +07:00
Mohamed Alsharaf
bcad873102 MDL-45192 assign: added behat script & new definitions to handle alert dialog
The behat script is to test the batch action to lock and unlock submissions.
The new definitions are to prevent the "unexpected alert open" error in Selenium.
2014-05-13 20:10:53 +07:00
Rajesh Taneja
20503d1572 MDL-45514 behat: Fixed should_not_exist timout param 2014-05-12 14:12:10 +08:00
Marina Glancy
cc2c7d6767 Merge branch 'MDL-44991-master' of git://github.com/sammarshallou/moodle 2014-04-23 13:24:54 +08: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
sam marshall
90c3ffe3a3 MDL-44991 Behat: step to check if attribute does not contain text
The step checks that an attribute exists, but doesn't contain the
specified text.

Example:
Then the "class" attribute of "#mydiv" "css_element" should
not contain "accesshide"
2014-04-11 11:00:25 +01: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
Marina Glancy
aaba0d56e2 Merge branch 'MDL-44891-master' of git://github.com/sammarshallou/moodle 2014-04-08 11:13:17 +08:00
sam marshall
c0fb7f4417 MDL-44891 Behat: Add step to check attribute
This commit creates a Behat step of the form:

Then the "title" attribute of "Toggle visibility" "button"
should contain "Show"

This is useful because unless I missed something there is currently
no step that checks attribute values; this seems like a simple
generic step. Behat is intended to check user-visible effects in
the resulting HTML, and sometimes these effects are implemented
using attribute values (two common examples are the alt= attribute,
which is visible to screenreader users, and the title= attribute,
which is visible to all users; there's also the src attribute of
images, and lots of other possibilities too).
2014-04-04 18:16:28 +01:00
Rajesh Taneja
f8b589c90c MDL-44873 behat: Added suppport for clean error class. 2014-04-04 13:22:58 +08:00
Marina Glancy
f2bf88130d Merge branch 'wip-mdl-44557' of git://github.com/rajeshtaneja/moodle 2014-03-26 14:10:53 +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
Damyon Wiese
9f07f05a48 MDL-43883 Behat: Make Atto the default text editor and adjust behat to use it. 2014-03-26 10:01:49 +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
ced0f98322 MDL-44236 behat: Fixing wrong old step call 2014-03-13 18:33:27 +01:00
David Monllao
12427e7746 MDL-43236 behat: Include missing used namespace 2014-03-13 18:33:24 +01:00
Dan Poltawski
7f42ee92eb Merge branch 'MDL-44440_master' of git://github.com/dmonllao/moodle 2014-03-10 13:45:26 +08:00
David Monllao
1f631c7c63 MDL-44440 behat: Changing , for > as a navigation tree nodes separator
Using greater than as seems a more natural separator
than the comma when separating nodes which have a
hierarchy relation.
2014-03-10 13:35:40 +08:00
David Monllao
759b323e0e MDL-43236 behat: Updating references to deprecated methods 2014-03-07 16:05:21 +08:00
David Monllao
c51c3b5575 MDL-43236 behat: Deprecate old steps
Correcting grammar errors and deprecating
the previous steps definitions:
- behat_data_generators::the_following_exists()
- behat_general::should_exists()
- behat_general::should_not_exists()
2014-03-07 16:05:21 +08:00
David Monllao
a542553d42 MDL-44440 behat: Refactoring features to use I navigate to
Replacing multiple "I expand node" steps by the
new "I navigate to". Also fixing few I navigate to
when dealing with non-JS.
2014-03-07 14:46:54 +08:00
David Monllao
370e88d4fe MDL-44440 behat: Other fixes to make clean work properly
- Update the step to follow links inside a treeview
  to work also when JS is disabled.
- Make regions accept header and footer.
- Change some locators refering to non-clean compatible
  regions.
- Restricting click to the table row in forum tracking
  because seems to conflict with the navigation bar when
  using narrow window sizes.
2014-03-07 14:27:52 +08:00
Rajesh Taneja
26fb3f5b71 MDL-44440 navigation: Added behat step to navigate from navigation/Admin block
This step will help navigate to different parts of moodle
using navigation or adminstration block.
2014-03-07 11:55:31 +08:00
David Monllao
decf1e14c8 MDL-43738 behat: More info about how to get/set fields 2014-02-27 18:22:06 +08:00
David Monllao
a525414125 MDL-43738 behat: Updating steps definitions and deprecating methods 2014-02-27 18:22:05 +08:00
David Monllao
c3f1e9532d MDL-43738 behat: Normalization and major refactoring of getters and setters
Every single step that sets or gets a value from a field
has been updated to follow the same behaviour both when
using it through a single step or through generic steps
like "I fill the moodle form with:", to resume all the
changes:
- Created a behat_form_group to re-guess the field type
  and act appropriately setting and getting it's value
- Normalize all getters and setters to use behat_form_field
  children
- Complete behat_form_checkbox to trigger the appropiate JS
  event needed to perform some JS scripts that are listening
- Refactor MDL-43713 multi-select changes and remove
  the two new steps introduced there as that behaviour can
  be managed from the generic getter
- Added a new step definition to check a capability permission
  as we changed the way radio buttons gets it's value
2014-02-27 18:22:03 +08:00
Eloy Lafuente (stronk7)
5f66d46e22 MDL-43713 behat: improve multi-select support
This patch implements:

1) Normalization of options. Before the patch options
in a select were being returned as "op1 op2 op3" by selenium
and "op1 op2 op3" by goutte. With the patch, those lists
are always returned like "op1, op2, op3". If real commas are
needed when handling multiple selects they should
be escaped with backslash in feature files.

2) Support for selecting multiple options. Before the patch
only one option was selected and a new selection was cleaning the
previous one. With the patch it's possible to pass "op1, op2" in
these steps:
  - I fill the moodle form with (table)
  - I select "OPTION_STRING" from "SELECT_STRING"

3) Ability to match multiple options in this steps. Before the
patch matching of multiple was really random, now every every
passed option ("opt1, opt2") is individually verified. It applies
to these 2 steps:
  - the "ELEMENT" select box should contain "OPTIONS"
  - the "ELEMENT" select box should not contain "OPTIONS"

4) Two new steps able to verify if a form have some options selected or no:
  - the "ELEMENT" select box should contain "OPTIONS" selected
  - the "ELEMENT" select box should contain "OPTIONS" not selected

5) Change get_value from xpath search to Mink's getValue() that is immediate
(does not need form submission) and works for all browsers but Safari, that
fails because of the extra ->click() issued.

Note all the changes 1-4 only affect to multi-select fields. Single
selects should continue working 100% the same.

The change 5) causes Safari to fail. The problem has been traced down to
the extra ->click() present there. Anyway there are not test cases
requiring that "immediate" evaluation right now. Only the special feature
file attached verifies it.
2014-02-27 18:21:43 +08:00
Damyon Wiese
237243db02 Merge branch 'MDL-43837_master' of git://github.com/dmonllao/moodle 2014-02-24 16:56:05 +08:00
Damyon Wiese
dea614e493 Merge branch 'MDL-44108_master' of git://github.com/dmonllao/moodle 2014-02-24 15:42:32 +08:00
David Monllao
74c78e7483 MDL-43837 behat: Adding reduced timeouts
There are steps where we want to check that
"something" does not appear in the page
or does not exist. We still have to spin
but we don't need to spin for 6 seconds.
2014-02-24 09:43:24 +08:00
David Monllao
702851c071 MDL-44108 behat: Adding a roles data generator 2014-02-21 13:25:44 +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
Eloy Lafuente (stronk7)
75bdb2bfc7 Merge branch 'MDL-43439_master' of git://github.com/dmonllao/moodle 2014-01-15 00:03:34 +01:00
David Monllao
5c0dfe32eb MDL-43439 behat: Save the screenshots to the specified location 2014-01-14 15:17:28 +08:00
David Monllao
14ebd16390 MDL-43584 behat: Removing DB calls from step definitions as much as possible
Old methods deprecated as the expected arguments
have changed.
2014-01-10 18:25:44 +08:00
Damyon Wiese
3ec07614ba MDL-43439: Behat - new $CFG param - behat_screenshot_after_failure 2014-01-10 17:54:53 +08:00