MDL-54997 competencies: Fix random unit test fail

Sorting on timecreated is not unique enough to
guarantee a predictable ordering.
This commit is contained in:
Damyon Wiese 2016-06-25 06:57:58 -07:00
parent da880d320c
commit e824cd502d
2 changed files with 10 additions and 3 deletions

View File

@ -4152,7 +4152,7 @@ class api {
* @param int $limit Number of records to return.
* @return \core_competency\evidence[]
*/
public static function list_evidence_in_course($userid = 0, $courseid = 0, $competencyid = 0, $sort = 'timecreated',
public static function list_evidence_in_course($userid = 0, $courseid = 0, $competencyid = 0, $sort = 'timecreated, id',
$order = 'DESC', $skip = 0, $limit = 0) {
static::require_enabled();

View File

@ -296,7 +296,12 @@ class evidence extends persistent {
*
* @return \core_competency\persistent[]
*/
public static function get_records_for_usercompetency($usercompetencyid, \context $context, $sort = '', $order = 'ASC', $skip = 0, $limit = 0) {
public static function get_records_for_usercompetency($usercompetencyid,
\context $context,
$sort = '',
$order = 'ASC',
$skip = 0,
$limit = 0) {
global $DB;
$params = array(
@ -306,7 +311,9 @@ class evidence extends persistent {
);
if (!empty($sort)) {
$sort = ' ORDER BY e.' . $sort . ' ' . $order;
$sortcolumns = explode(',', $sort);
$sortcolumns = array_map('trim', $sortcolumns);
$sort = ' ORDER BY e.' . implode(', e.', $sortcolumns) . ' ' . $order;
}
$sql = 'SELECT e.*