52 Commits

Author SHA1 Message Date
Simey Lameze
fdeeaff954 MDL-58265 core_test: replace I turn editing on steps
Also remove few more unnecessary steps that redirects behat to
site home page to actually get to the course.

Part of MDL-55611 epic.
2017-04-03 11:37:07 +08:00
Simey Lameze
c987d1b2ef MDL-58265 core_test: replace all uses of I follow course steps
Part of MDL-55611 epic.
2017-04-03 11:37:07 +08:00
Rajesh Taneja
57bee542ab
MDL-56519 behat: Fixed lint errors 2017-01-03 09:12:54 +08:00
Rajesh Taneja
63be664507
MDL-57137 behat: Subcategory has black space before name 2016-12-07 08:49:04 +08:00
Alexander Melihov
834cc0ed66 MDL-57137 quiz: Create question category with specified parent category
Fix question category generator bug. Now it is possible to specify parent category of subcategory, supply only name of parent category
2016-11-25 08:59:32 +03:00
Jake Dallimore
d7d4a09707 MDL-54864 core_question: Enforce context,stamp uniqueness for category
Added an upgrade step to remove duplicate stamps, added a unique index
on (contextid, stamp) and modified the question_category edit code such
that stamp duplication in the same context is not permitted.
2016-08-22 09:44:52 +08:00
Rajesh Taneja
921faad9ad MDL-53571 behat: Use Escaper for escaping
xpathLiteral has been depreacted, use Escaper instead
2016-04-06 15:38:31 +08:00
Rajesh Taneja
eb9ca848fa MDL-53381 behat: Replaced chained steps with api.
Behat 3.x doesn't support chained steps and hence
this is first step to get rid of chained steps in core.
2016-04-06 11:32:49 +08:00
Pau Ferrer Ocaña
176bcaa928 MDL-53409 question: Add tests for core_question_update_flag 2016-03-18 15:08:22 +01:00
Pau Ferrer Ocaña
7361b9682e MDL-53409 question: New WS core_question_update_flag 2016-03-18 15:08:17 +01:00
Rajesh Taneja
42ad096fdb MDL-46891 Behat: Added support for behat 3 2016-03-11 10:51:15 +08:00
Andrew Nicols
650c0086f9 MDL-52339 question: Fix question attempt removal for MySQL
Derived table support was altered in MySQL 5.7 changing the way in which
DELETE FROM works in some cases.

This change modifies the way in which deletion occurs by selecting all IDs
and batching them into groups of 1000.
2016-02-05 09:10:09 +08:00
Rajesh Taneja
c2df9b3b90 MDL-52427 behat: Fixed question selectors
As class is changed, we need to convert selector
to check if class is contained, rather then checking
selecting with specific class.
2015-12-22 10:43:22 +08:00
rajesh Taneja
4cfaf27c08 MDL-49973 behat: Fixed string change from Continue to Delete 2015-09-24 15:38:20 +02:00
Tim Hunt
e7df2335b6 MDL-50373 questions: random Qs must not pick deleted or sub- questions
This was a regression caused by MDL-6340. I missed the necessary
    AND parent = 0 AND hidden = 0
in one query of the question table.
2015-05-27 20:32:47 +01:00
Rajesh Taneja
0fe86bbdbb MDL-49799 behat: replaced asd.com with example.com
asd.com is a valid domain, we should use reserved domain names for testing
2015-04-20 11:21:20 +08:00
Tim Hunt
bb93fc24aa MDL-6340 quiz: avoid reusing random questions between attempts
There are several improvements over what we had before:

1. We track all the questions seen in the the student's previous
quiz attempts, so that when they start a new quiz attempt, they get
questions they have not seen before if possible.

2. When there are no more unseen questions, we start repeating, but
always taking from the questions with the fewest attempts so far.

3. A similar logic is applied with variants within one question.

There is lots of credit to go around here. Oleg Sychev's students Alex
Shkarupa, Sergei Bastrykin and Darya Beda all worked on this over
several years, helping to clarify the problem and shape the best
solution. In the end, their various attempts were rewritten into this
final patch by me.
2015-03-26 17:45:49 +00:00
Tim Hunt
df44db5baa MDL-48373 behat, questions: convert tests to use the new steps
The new steps make it more efficient to create questions.

While making the changes, I took the opportunity to alter the tests to
follow Behat best practices, and only test one thing per scenario.
2014-12-05 12:22:27 +00:00
Tim Hunt
234c5337f7 MDL-47797 quesion preview: improve the behat script
Tests a few more buttons, and also verify more of the UI.
2014-10-31 15:52:55 +00:00
Tim Hunt
6f336f3602 MDL-47588 question behat tests: don't close the preview window.
If you do. Chrome + Selenium2 gets stuck (on Windows at least). Selenium
must be trying to send commands ot a window that does not exist any
more.
2014-10-20 12:10:15 +01:00
Tim Hunt
2dee2330aa MDL-43089 behat: fix core_question tests that use quiz.
Unfortunately, using the quiz is the only way to test this, so no way to break the dependency.
2014-10-05 22:47:52 +01:00
Tim Hunt
6d99e71847 MDL-46916 behat: improve question state test. 2014-08-21 14:16:31 +01:00
Tim Hunt
f4fe3968a2 MDL-46212 questions: add {} whenver vars are put into "" strings
Having had one subtle bug cased be this, I decided to do a search and
fix all of these.
2014-07-03 14:02:39 +01:00
Marina Glancy
9422f6ee42 MDL-46163 question/quiz: fix elements ids and their labels 2014-07-03 10:13:00 +01:00
Mark Nelson
58940b190a MDL-40063 mod_quiz: replaced 'addcategory' add_to_log call with an event 2014-04-10 20:38:34 -07:00
Andrew Nicols
f87b22327f MDL-32729 Question: Correct button selection when openin qbank chooser
Some browsers do not bubble form submission events to the window, and we
had more than one form on the page in certain conditions. We need to select
all of the forms on a page and then test the action.
2014-04-02 09:54:32 +08:00
David Monllao
0176d12dd6 MDL-44246 behat: New mod_quiz test when JS is disabled
Also including a modification in behat_question_base
to make the internal method work with both JS and non-JS.
2014-03-18 15:32:58 +08:00
Tim Hunt
2f83d71ccc MDL-44534 also fix the mod_quiz behat tests.
They had duplicated code. I refactored.
2014-03-13 18:33:27 +01:00
Eloy Lafuente (stronk7)
e649662489 Merge branch 'MDL-44534' of git://github.com/timhunt/moodle
Conflicts:
	question/tests/behat/copy_questions.feature
2014-03-13 18:32:41 +01:00
Tim Hunt
7b2a5e5663 MDL-44534 increase core_question Behat test robustness. 2014-03-10 12:32:39 +00:00
David Monllao
759b323e0e MDL-43236 behat: Updating references to deprecated methods 2014-03-07 16:05:21 +08:00
David Monllao
f083d6145e MDL-43738 behat: Updating features files
The following used steps were replaced by the ones
added in this issue:
- I fill the moodle form with
- I fill in with
- I select from
- I select radio button
- I check
- I uncheck
- the field should match

Also removing test for deprecated steps:
- the ASD checkbox should be checked
- the ASD checkbox should not be checked
2014-02-27 18:22:05 +08:00
Tim Hunt
d7ddbc8297 MDL-32523 question behat tests: distinctive question names
This means that, if you are watching the tests run, it is easier to see
which test is currently being executed.
2014-01-17 10:54:13 +00:00
M Kassaei
e0c41591e1 MDL-32523 Duplicate questions in question bank 2014-01-17 10:54:12 +00: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
David Monllao
e7c71c448b MDL-42627 behat: Moving the deprecated method to behat_deprecate and updating scenarios 2013-12-02 14:13:17 +08:00
Dan Poltawski
afc33a9ad1 MDL-42286 fix trailing whitespace 2013-11-04 14:14:30 +08:00
Dan Poltawski
fa5b21216f Merge branch 'MDL-42286_behat' of https://github.com/andyjdavis/moodle 2013-11-04 14:13:27 +08:00
Andrew Davis
b54f5086f6 MDL-42286 questionbank: add behat tests for putting questions in categories MDLQA-95 2013-11-01 10:28:28 +08:00
Jason Fowler
7db052a8f2 MDL-42285 Behat: Automate MDLQA-93 - A teacher can delete questions from the question bank 2013-10-24 12:35:23 +08:00
David Monllao
3897608152 MDL-39635 behat: XPath cleanups
- Escaping steps arguments redirected to other steps
- Adding normalized-space() in all contains() assertions
- General xpaths review
- Convering provided xpath text strings to xpath literals
  to avoid problems with arguments containing both single
  quotes and double quotes
2013-07-19 10:02:36 +02:00
David Monllao
dedb973878 MDL-39635 behat: Replacing hardcoded language strings
Using get_string() instead.
2013-07-19 10:02:10 +02:00
David Monllao
00ea74cb54 MDL-39348 behat: Chaining strings instead of splitting strings in lines 2013-05-03 10:16:44 +08:00
David Monllao
550d842e3c MDL-39232 behat Normalize feature tags according to component names 2013-04-30 11:54:47 +08:00
David Monllao
242a27b180 MDL-38956 behat: New test
According to MDLQA-92, a teacher can preview
questions in the question bank.
2013-04-15 14:14:31 +08:00
David Monllao
d72a183645 MDL-38957 behat: New test
According to MDLQA-94, a teacher can
sort questions in the question bank.
2013-04-11 17:24:12 +08:00
David Monllao
a97d274c92 MDL-38958 behat: New test
According to MDLQA-91, a teacher can
edit questions in the question bank.
2013-04-11 17:23:08 +08:00
David Monllao
336b5b5914 MDL-38958 behat: Step definition to add questions 2013-04-11 11:47:03 +08:00
Tim Hunt
0a606a2be2 MDL-38538 question auto-save back end.
1. Autosave works in some ways just like a normal save. We ultimately
call $behaviour->process_save() to do the work, and create a new step to
hold the data.

2. However, we come in through a completely different route through the
API, starting with separate auto-save methods. This keeps the auto-save
changes mostly separate, and so reduced the chance of breaking existing
working code.

3. When the time comes to store the auto-save step in the database, we
save it using a negative sequence number.

This is a clever trick that not only distinguises these steps, but also
avoids unique key errors when an auto-save and a real action happen
simultaneously. (There are unit tests for these tricky edge cases.)

4. When we load the data back from the database, most of the time the
auto-save steps are loaded back as if they were a real save, and so the
auto-saved data is used when the question is then rendered.

5. However, before we process another action, we remove the auto-saved
step, so it does not appear in the final history.
2013-03-28 16:51:59 +00:00
Tim Hunt
ba203de1d3 MDL-38582 testing: Let any component have a data generator.
Plus a simple core_question generator to test the concept.
2013-03-22 10:28:24 +00:00