Commit Graph

113 Commits

Author SHA1 Message Date
Eloy Lafuente (stronk7) 46606b3ddd MDL-67673 phpunit: Remove deprecated assertEquals() params
The optional parameters of assertEquals() and assertNotEquals()
are deprecated in PHPUnit 8 (to be removed in PHPUnit 9):

- delta => use assertEqualsWithDelta()
- canonicalize => use assertEqualsCanonicalizing()
- ignoreCase => use assertEqualsIgnoringCase
- maxDepth => removed without replacement.

More info @ https://github.com/sebastianbergmann/phpunit/issues/3341

Initial search done with:

ag 'assert(Not)?Equals\(.*,.*,' --php

Then, running tests and fixing remaining cases.
2020-10-21 12:46:05 +02:00
Eloy Lafuente (stronk7) 35bc26b516 MDL-67673 phpunit: Remove deprecated assertContains() uses on strings
Both assertContains() and assertNotContains() are deprecated in PHPUnit 8
for operations on strings. Also the optional case parameter is. All uses
must be changed to one of:

- assertStringContainsString()
- assertStringContainsStringIgnoringCase()
- assertStringNotContainsString()
- assertStringNotContainsStringIgnoringCase()

More info: https://github.com/sebastianbergmann/phpunit/issues/3422

Regexp to find all uses:

ag 'assert(Not)?Contains\('
2020-10-21 12:46:05 +02:00
Eloy Lafuente (stronk7) ddf72dd60d MDL-67673 phpunit: Remove expectedException annotations
While this is not strictly required, because removal will
happen in PHPUnit 9.0, we are already getting rid of all
uses in core.

From release notes:https://phpunit.de/announcements/phpunit-8.html

The annotations `@expectedException`, `@expectedExceptionCode`,
`@expectedExceptionMessage`, and `@expectedExceptionMessageRegExp`
are now deprecated.
Using these annotations will trigger a deprecation warning
in PHPUnit 8 and in PHPUnit 9 these annotations will be removed.

Also, all uses of expectExceptionMessageRegExp() has been moved
to expectExceptionMessageMatches(). See https://github.com/sebastianbergmann/phpunit/issues/3957

TODO: Various weirdness found while doing the changes with these tests:
- vendor/bin/phpunit lib/tests/exporter_test.php (created MDL-69700)
- vendor/bin/phpunit competency/tests/external_test.php (same issue than prev one)
- vendor/bin/phpunit question/engine/tests/questionengine_test.php (created MDL-69624)
- vendor/bin/phpunit lib/tests/event_test.php (created MDL-69688)
2020-10-21 12:46:05 +02:00
Eloy Lafuente (stronk7) d81a94807b MDL-67673 phpunit: Fix the return type of template methods
All the setup/teardown/pre/post/conditions template methods
now are required to return void. This was warned with phpunit 7
and now is enforced.

At the same time, fix a few wrong function names,
provider data and param types, return statements...
2020-10-21 12:46:04 +02:00
Jake Dallimore 3f99406350 Merge branch 'MDL-68143-master' of https://github.com/HuongNV13/moodle 2020-05-22 11:52:31 +08:00
David Mudrák 8599eb5ebb MDL-68434 lang: Use the updated terminology in the tests 2020-04-29 17:40:58 +02:00
Huong Nguyen 8b52ca84ab MDL-68143 Workshop: should remember collapsed/expanded sections 2020-04-28 13:53:26 +07:00
Mihail Geshoski 0525ee5825 MDL-60817 mod_workshop: Fix behat tests 2020-03-13 13:17:44 +08:00
David Mudrák 6aff025cad MDL-67527 lang: Propagate the string fixes to Behat and other places 2019-12-18 21:23:46 +01:00
John Yao 96e444665e MDL-65517 block_timeline: Hide completed course modules in Timeline
When some activities are manually completed by students, some are still showing in students' timeline.
This commit fix that for module assign,chat,choice,feedback,lesson,quiz,scorm and workshop.
2019-07-12 09:16:40 +10:00
David Mudrák 2bb03c59e8 MDL-66049 workshop: Fix the fully qualified class name
Because of the missing slash, the class 'workshop' was not found in the
current namespace and the cron failed to work.
2019-07-01 14:48:45 +02:00
Eloy Lafuente (stronk7) 85f47bae7f MDL-65204 phpunit: various fixes to assertions
Namely:
   - 3rd param of assertEquals() cannot be null.
   - Some incorrect uses of assertNotEmpty().
   - Comparing 2 strings now uses strict (===) evaluation.
       Link: https://github.com/sebastianbergmann/phpunit/issues/3185
     Solution here is one of:
       a) Return to the previous situation, making the comparison
          softer. That can achieved by forcing different types, so
          float == string works.
       b) Changing APIs (both forms and database return strings) to
          perform some conversion to floats. That would make float
          comparison (with floats or strings) to work too.
     The patch here follows the a) approach. Changing all the internals
     for proper float handling sounds excesive when it has been working
     perfectly since ever. So we went the easier route, just getting
     rid of the new === comparisons when needed by changing expectation
     types to float.
2019-04-03 10:39:19 +08:00
Shamim Rezaie 39966b190d MDL-63152 mod_workshop: Add userid param to calendar callbacks 2019-03-18 15:52:24 +11:00
Shamim Rezaie ada27f6b7e MDL-63152 mod_workshop: check if the module is visible to the user 2019-03-18 15:50:43 +11:00
Jake Dallimore 8587f97637 Merge branch 'MDL-60059-master' of git://github.com/rezaies/moodle 2019-03-14 15:46:10 +08:00
Shamim Rezaie 7fb8632109 MDL-60059 mod_workshop: Add drag and drop support to workshop events 2019-03-14 13:02:49 +11:00
David Mudrák 395bca32a1 MDL-64862 workshop: Fix grades to pass editing
There was a bug here that had not exposed until MDL-60820 introduced the
call $mform->setDefault() at the bottom of the definition_after_data()
method. That call triggers the 'updateValue' event on all form elements.
For input text elements, this effectively sets their value to the
default one, which was empty in this case due to the way how the value
had been set.

The solution here is to set the value via the same way like the normal
set_data() method does it.

The attached Behat test reproduces the problem and makes sure the patch
works.
2019-02-18 14:40:02 +01:00
Juan Leyva d8035d9391 MDL-62668 mod_workshop: Return feedback for reviewer in assessment phase
Teachers were not able to view the existing feedback.
2019-01-23 18:07:51 +01:00
David Mudrák 6c999842af MDL-63689 workshop: Add support for removal of multiple context users
The mod_workshop\privacy\provider now implements the new
core_userlist_provider interface. Deleting (erasing) data follows the
same principles as in other existing methods - we do not actually delete
data that might affect other users. Instead, we only erase the sensitive
owned personal information such as provided content.
2018-10-30 14:29:40 +01:00
Mark Johnson 7d2ad716dd MDL-60820 workshop: Allow teacher to specify submission types
This allows the teacher to define what students are supposed to submit
(online text and/or attachment) and if the given submission part is
required or optional.
2018-08-31 14:48:29 +02:00
Eloy Lafuente (stronk7) 1906a73574 MDL-61973 editor_atto: apply string changes to behat tests 2018-05-12 01:24:26 +02:00
David Mudrák 84a57322c2 MDL-61905 workshop: Implement the privacy API in the workshop core
Workshop module stores personal data in its tables, via user
preference and via core_files and core_plagiarism subsystems.

When exporting the data, we export not only data created by users
themselves (such as their submissions and provided peer-assessments) but
also all relevant data that can (or must) be used to interpret created
content and evaluate the user's performance and skills.

On the other hand, when deleting data at user's request, we delete only
those data that do not affect other users' performance evaluation. The
reasoning is that one's right for privacy does not overweight someone
else's right for fair assessment. For that reason, we can't fully delete
whole provided peer-assessments, for example. Because they are used in
cross-comparison and grading evaluation of all other peers who assessed
the same submission. So instead, we replace provided texts but still
keep the original record.

Workshop defines the interface for its grading strategy subplugins to
allow them attach personal data under their control to the exported
structures.
2018-05-09 10:01:50 +02:00
M Kassaei 235b6e4f06 MDL-60991 Workshop: Display late submission text after deadline 2018-03-01 13:51:46 +00:00
Juan Leyva d995cd47fb MDL-60708 mod_workshop: Return author feedback for submission
The feedback and grade information for submission should be returned
for teachers in the evaluation and closed phases.
2017-11-20 10:07:57 +01:00
Eloy Lafuente (stronk7) 796e48a58b MDL-60611 phpunit: remove deprecated stuff and other minor fixes
Thanks @scara for MDL-60611 phpunit: improved redis skipping reasons
2017-11-05 01:45:04 +01:00
Juan Leyva 7336f854e6 MDL-60348 mod_workshop: Add parameters checks in evaluate_assessment WS 2017-10-30 13:50:57 +01:00
David Monllao 23892d0843 Merge branch 'MDL-60378-master' of git://github.com/jleyva/moodle 2017-10-19 14:06:26 +02:00
Juan Leyva fe7b3e7e51 MDL-60378 mod_workshop: Add missing dimensions info
We need additional info from the dimensions used like the scale items
(if used).
2017-10-17 15:40:39 +02:00
Juan Leyva 695b8712f6 MDL-59254 mod_workshop: Implement check_updates_since callback 2017-10-16 09:41:51 +02:00
Juan Leyva 011c5ae476 MDL-60396 mod_workshop: Add checks for maximum gradeover 2017-10-10 17:04:57 +02:00
Juan Leyva 2973f64318 MDL-59248 mod_workshop: Fix permissions checks 2017-10-04 20:15:14 +02:00
Juan Leyva 012c2b84b5 MDL-60144 mod_workshop: New WS mod_workshop_evaluate_submission 2017-10-03 19:28:56 +02:00
Juan Leyva b99070b9d8 MDL-59239 mod_workshop: New WS mod_workshop_view_submission 2017-10-03 19:25:32 +02:00
Juan Leyva 4d201b824d MDL-59253 mod_workshop: New WS mod_workshop_get_grades_report 2017-10-03 19:22:09 +02:00
Juan Leyva 9e58617a7f MDL-59252 mod_workshop: New WS mod_workshop_evaluate_assessment 2017-10-03 19:16:43 +02:00
Juan Leyva d769f87171 MDL-59251 mod_workshop: New WS mod_workshop_get_grades 2017-10-03 19:07:12 +02:00
Juan Leyva fe966a2720 MDL-59250 mod_workshop: New WS mod_workshop_update_assessment 2017-10-03 17:31:30 +02:00
Juan Leyva aac70425e4 MDL-59401 mod_workshop: New WS get_reviewer_assessments 2017-10-03 09:02:05 +02:00
Juan Leyva 46f5e9a0ef MDL-59248 mod_workshop: New WS get_assessment_form_definition 2017-10-03 08:51:30 +02:00
Juan Leyva 86928d2a7c MDL-59248 mod_workshop: New API check_examples_assessed_before_assessment
For consistency I renamed the old check_examples_assessed function to
check_examples_assessed_before_submission.
I also call the new function in the existing
get_workshop_access_information external function.
2017-10-03 08:51:29 +02:00
Juan Leyva b1e896cf2a MDL-59247 mod_workshop: New WS mod_workshop_get_assessment 2017-10-02 09:37:15 +02:00
Juan Leyva 30b54b823a MDL-59246 mod_workshop: New WS get_submission_assessments 2017-10-02 09:36:36 +02:00
Juan Leyva 6e2f4866b0 MDL-59242 mod_workshop: New WS mod_workshop_get_submission 2017-10-02 09:35:06 +02:00
Juan Leyva 3f08cfc530 MDL-59241 mod_workshop: New WS mod_workshop_get_submissions 2017-10-02 09:33:48 +02:00
Eloy Lafuente (stronk7) 0238520084 Merge branch 'MDL-59244-master' of git://github.com/jleyva/moodle 2017-09-19 01:36:56 +02:00
Eloy Lafuente (stronk7) 5c45e6038c Merge branch 'MDL-59245-master' of git://github.com/jleyva/moodle 2017-09-19 01:33:08 +02:00
Juan Leyva 4834e127eb MDL-59243 mod_workshop: Return creation status in create_submission WS 2017-09-13 11:41:28 +02:00
Juan Leyva bde5631d66 MDL-59244 mod_workshop: New WS mod_workshop_delete_submission 2017-09-06 15:51:55 +02:00
Juan Leyva c1698a37e3 MDL-59245 mod_workshop: New WS mod_workshop_update_submission 2017-09-06 15:50:16 +02:00
Juan Leyva c2cf2450ac MDL-59243 mod_workshop: New WS mod_workshop_add_submission 2017-09-06 14:00:17 +02:00